improve dependency handling (same as fsfw)
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
This commit is contained in:
parent
4a637e79c6
commit
6dde823d4c
@ -118,7 +118,7 @@ set(SIMPLE_OBSW_NAME eive-simple)
|
|||||||
set(UNITTEST_NAME eive-unittest)
|
set(UNITTEST_NAME eive-unittest)
|
||||||
set(LIB_FSFW_NAME fsfw)
|
set(LIB_FSFW_NAME fsfw)
|
||||||
set(LIB_EIVE_MISSION eive-mission)
|
set(LIB_EIVE_MISSION eive-mission)
|
||||||
set(LIB_ETL_NAME etl)
|
set(LIB_ETL_TARGET etl::etl)
|
||||||
set(LIB_CSP_NAME libcsp)
|
set(LIB_CSP_NAME libcsp)
|
||||||
set(LIB_LWGPS_NAME lwgps)
|
set(LIB_LWGPS_NAME lwgps)
|
||||||
set(LIB_ARCSEC wire)
|
set(LIB_ARCSEC wire)
|
||||||
@ -325,13 +325,21 @@ add_subdirectory(${UNITTEST_PATH})
|
|||||||
|
|
||||||
# This should have already been downloaded by the FSFW
|
# This should have already been downloaded by the FSFW
|
||||||
# Still include it to be safe
|
# Still include it to be safe
|
||||||
include(FetchContent)
|
find_package(etl ${FSFW_ETL_LIB_MAJOR_VERSION} CONFIG QUIET)
|
||||||
FetchContent_Declare(
|
# Not installed, so use FetchContent to download and provide etl
|
||||||
etl
|
if(NOT etl_FOUND)
|
||||||
GIT_REPOSITORY https://github.com/ETLCPP/etl
|
message(STATUS
|
||||||
GIT_TAG ${FSFW_ETL_LIB_VERSION}
|
"No ETL installation was found with find_package. Installing and providing "
|
||||||
)
|
"etl with FindPackage"
|
||||||
FetchContent_MakeAvailable(etl)
|
)
|
||||||
|
include(FetchContent)
|
||||||
|
FetchContent_Declare(
|
||||||
|
etl
|
||||||
|
GIT_REPOSITORY https://github.com/ETLCPP/etl
|
||||||
|
GIT_TAG ${FSFW_ETL_LIB_VERSION}
|
||||||
|
)
|
||||||
|
list(APPEND FSFW_FETCH_CONTENT_TARGETS etl)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Use same Catch2 version as framework
|
# Use same Catch2 version as framework
|
||||||
if (NOT(TGT_BSP MATCHES "arm/te0720-1cfa") AND NOT(TGT_BSP MATCHES "arm/q7s"))
|
if (NOT(TGT_BSP MATCHES "arm/te0720-1cfa") AND NOT(TGT_BSP MATCHES "arm/q7s"))
|
||||||
@ -348,8 +356,21 @@ if (NOT(TGT_BSP MATCHES "arm/te0720-1cfa") AND NOT(TGT_BSP MATCHES "arm/q7s"))
|
|||||||
GIT_TAG ${FSFW_CATCH2_LIB_VERSION}
|
GIT_TAG ${FSFW_CATCH2_LIB_VERSION}
|
||||||
)
|
)
|
||||||
|
|
||||||
FetchContent_MakeAvailable(Catch2)
|
list(APPEND FSFW_FETCH_CONTENT_TARGETS Catch2)
|
||||||
#fixes regression -preview4, to be confirmed in later releases
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# The documentation for FetchContent recommends declaring all the dependencies
|
||||||
|
# before making them available. We make all declared dependency available here
|
||||||
|
# after their declaration
|
||||||
|
if(FSFW_FETCH_CONTENT_TARGETS)
|
||||||
|
FetchContent_MakeAvailable(${FSFW_FETCH_CONTENT_TARGETS})
|
||||||
|
if(TARGET etl)
|
||||||
|
add_library(${LIB_ETL_TARGET} ALIAS etl)
|
||||||
|
endif()
|
||||||
|
if(TARGET Catch2)
|
||||||
|
# Fixes regression -preview4, to be confirmed in later releases
|
||||||
|
# Related GitHub issue: https://github.com/catchorg/Catch2/issues/2417
|
||||||
set_target_properties(Catch2 PROPERTIES DEBUG_POSTFIX "")
|
set_target_properties(Catch2 PROPERTIES DEBUG_POSTFIX "")
|
||||||
set_target_properties(Catch2 PROPERTIES EXCLUDE_FROM_ALL "true")
|
set_target_properties(Catch2 PROPERTIES EXCLUDE_FROM_ALL "true")
|
||||||
set_target_properties(Catch2WithMain PROPERTIES EXCLUDE_FROM_ALL "true")
|
set_target_properties(Catch2WithMain PROPERTIES EXCLUDE_FROM_ALL "true")
|
||||||
@ -398,7 +419,7 @@ endif()
|
|||||||
|
|
||||||
if(EIVE_ADD_ETL_LIB)
|
if(EIVE_ADD_ETL_LIB)
|
||||||
target_link_libraries(${LIB_EIVE_MISSION} PUBLIC
|
target_link_libraries(${LIB_EIVE_MISSION} PUBLIC
|
||||||
etl
|
${LIB_ETL_TARGET}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user