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.
This commit is contained in:
Mario Werner 2017-05-23 17:01:45 +02:00 committed by Victor Zverovich
parent e02aacc634
commit 6d21fc43b9
2 changed files with 4 additions and 3 deletions

View File

@ -133,6 +133,7 @@ endif ()
# Additionally define a header-only library when CMake is new enough. # 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) 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-header-only INTERFACE)
add_library(fmt::fmt-header-only ALIAS fmt-header-only)
target_compile_definitions(fmt-header-only INTERFACE FMT_HEADER_ONLY=1) target_compile_definitions(fmt-header-only INTERFACE FMT_HEADER_ONLY=1)

View File

@ -6,10 +6,10 @@ add_subdirectory(../.. fmt)
add_executable(library-test "main.cc") add_executable(library-test "main.cc")
target_compile_options(library-test PUBLIC ${CPP14_FLAG}) target_compile_options(library-test PUBLIC ${CPP14_FLAG})
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") add_executable(header-only-test "main.cc")
target_compile_options(header-only-test PUBLIC ${CPP14_FLAG}) target_compile_options(header-only-test PUBLIC ${CPP14_FLAG})
target_link_libraries(header-only-test fmt-header-only) target_link_libraries(header-only-test fmt::fmt-header-only)
endif () endif ()