Hotfix CMake & ETL #604
|
@ -108,23 +108,23 @@ endif()
|
|||
message(STATUS "Finding and/or providing ETL library")
|
||||
|
||||
# Check whether the user has already installed ETL first
|
||||
find_package(${FSFW_ETL_LIB_NAME} ${FSFW_ETL_LIB_MAJOR_VERSION} QUIET)
|
||||
# find_package(${FSFW_ETL_LIB_NAME} ${FSFW_ETL_LIB_MAJOR_VERSION} QUIET)
|
||||
# Not installed, so use FetchContent to download and provide etl
|
||||
if(NOT ${FSFW_ETL_LIB_NAME}_FOUND)
|
||||
message(STATUS
|
||||
"No ETL installation was found with find_package. Installing and providing "
|
||||
"etl with FindPackage"
|
||||
)
|
||||
include(FetchContent)
|
||||
# if(NOT ${FSFW_ETL_LIB_NAME}_FOUND)
|
||||
message(STATUS
|
||||
"No ETL installation was found with find_package. Installing and providing "
|
||||
"etl with FindPackage"
|
||||
)
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(
|
||||
${FSFW_ETL_LIB_NAME}
|
||||
GIT_REPOSITORY https://github.com/ETLCPP/etl
|
||||
GIT_TAG ${FSFW_ETL_LIB_VERSION}
|
||||
)
|
||||
FetchContent_Declare(
|
||||
${FSFW_ETL_LIB_NAME}
|
||||
GIT_REPOSITORY https://github.com/ETLCPP/etl
|
||||
GIT_TAG ${FSFW_ETL_LIB_VERSION}
|
||||
)
|
||||
|
||||
FetchContent_MakeAvailable(etl)
|
||||
endif()
|
||||
FetchContent_MakeAvailable(etl)
|
||||
# endif()
|
||||
gaisser marked this conversation as resolved
Outdated
|
||||
|
||||
set(FSFW_CORE_INC_PATH "inc")
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user
If I read this correct, we should only call FetchContent_MakeAvailable once:
This ensures dependency collection works correct for dependencies of the dependency (which we might not have ATM)
The Catch2 dependency only needs to be loaded for unit tests I think
This could be solved with an if clause which either makes etl available or makes both available depending on whether Catch2 was loaded.
Or maybe MakeAvailable can deal with undeclared dependencies.. maybe I will test this