From ac5484c4e7365b59d8c7e14db6778de26635e428 Mon Sep 17 00:00:00 2001 From: Mario Werner Date: Tue, 23 May 2017 17:01:45 +0200 Subject: [PATCH] add alias targets with fmt namespace For the consumer it should not matter if fmt has been added to the project as subdirectory or via find_package. With the alias targets the library can be always imported via fmt::fmt. --- fmt/CMakeLists.txt | 2 ++ test/add-subdirectory-test/CMakeLists.txt | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/fmt/CMakeLists.txt b/fmt/CMakeLists.txt index e8d585b2..3f220f7b 100644 --- a/fmt/CMakeLists.txt +++ b/fmt/CMakeLists.txt @@ -8,6 +8,7 @@ if (HAVE_OPEN) endif () add_library(fmt ${FMT_SOURCES} ${FMT_HEADERS} ../README.rst ../ChangeLog.rst) +add_library(fmt::fmt ALIAS fmt) option(FMT_CPPFORMAT "Build cppformat library for backward compatibility." OFF) if (FMT_CPPFORMAT) @@ -43,6 +44,7 @@ endif () # additionally define a header only library when cmake is new enough if (CMAKE_VERSION VERSION_GREATER 3.1.0 OR CMAKE_VERSION VERSION_EQUAL 3.1.0) add_library(fmt-header-only INTERFACE) + add_library(fmt::fmt-header-only ALIAS fmt-header-only) target_compile_definitions(fmt-header-only INTERFACE FMT_HEADER_ONLY=1) diff --git a/test/add-subdirectory-test/CMakeLists.txt b/test/add-subdirectory-test/CMakeLists.txt index 5460363a..d1edd8a5 100644 --- a/test/add-subdirectory-test/CMakeLists.txt +++ b/test/add-subdirectory-test/CMakeLists.txt @@ -5,9 +5,9 @@ project(fmt-test) add_subdirectory(../.. fmt) add_executable(library-test "main.cc") -target_link_libraries(library-test fmt) +target_link_libraries(library-test fmt::fmt) -if (TARGET fmt-header-only) +if (TARGET fmt::fmt-header-only) add_executable(header-only-test "main.cc") - target_link_libraries(header-only-test fmt-header-only) + target_link_libraries(header-only-test fmt::fmt-header-only) endif ()