From 48ab4e707d2f07ddaf86adb3e73c4cb28762a10f Mon Sep 17 00:00:00 2001 From: ClausKlein Date: Sat, 6 Feb 2021 23:14:06 +0100 Subject: [PATCH] If fmt is not imported it must be installed option(FMT_INSTALL "needed!" YES) # helps --- CMakeLists.txt | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 369d218..91e2939 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,11 @@ CPMAddPackage( VERSION 1.4 ) +# NOTE: If fmt is not imported, this is needed to prevent: +# CMake Error: install(EXPORT "GreeterTargets" ...) includes target +# "Greeter" which requires target "fmt" that is not in any export set. +option(FMT_INSTALL "" YES) + CPMAddPackage( NAME fmt GIT_TAG 7.1.3 @@ -66,8 +71,8 @@ target_sources(Greeter PRIVATE ${headers} ${sources}) # FIXME target_compile_options(Greeter PUBLIC "$<$:/permissive->") # Link dependencies (if required) -target_link_libraries(Greeter PUBLIC fmt::fmt-header-only) -# XXX target_link_libraries(Greeter PUBLIC fmt::fmt) +target_link_libraries(Greeter PRIVATE fmt::fmt-header-only) +#XXX target_link_libraries(Greeter PUBLIC fmt::fmt) target_include_directories( Greeter PUBLIC $ @@ -81,16 +86,13 @@ target_include_directories( # header paths string(TOLOWER ${PROJECT_NAME}/version.h VERSION_HEADER_LOCATION) -# FIXME: CMake Error: install(EXPORT "GreeterTargets" ...) includes target -# "Greeter" which requires target "fmt" that is not in any export set. - -# packageProject( -# NAME ${PROJECT_NAME} -# VERSION ${PROJECT_VERSION} -# NAMESPACE ${PROJECT_NAME} -# BINARY_DIR ${PROJECT_BINARY_DIR} -# INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include -# INCLUDE_DESTINATION include/${PROJECT_NAME}-${PROJECT_VERSION} -# VERSION_HEADER "${VERSION_HEADER_LOCATION}" -# # XXX DEPENDENCIES fmt -# ) +packageProject( + NAME ${PROJECT_NAME} + VERSION ${PROJECT_VERSION} + NAMESPACE ${PROJECT_NAME} + BINARY_DIR ${PROJECT_BINARY_DIR} + INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include + INCLUDE_DESTINATION include/${PROJECT_NAME}-${PROJECT_VERSION} + VERSION_HEADER "${VERSION_HEADER_LOCATION}" + #XXX DEPENDENCIES fmt +)