diff options
author | David Zemon <david@zemon.name> | 2019-05-18 07:23:51 +0300 |
---|---|---|
committer | David Zemon <david@zemon.name> | 2019-05-18 07:28:53 +0300 |
commit | 6fe899af104930c381b8bb0498e93b7a09418241 (patch) | |
tree | b3e333f707ca23758e25fd0b08ef4b9436fb4bde | |
parent | 107fe0a14231587a03921a22300fb988e0a9ebe0 (diff) |
Set Threads::Threads dependency on spdlog libs - don't make user do it
-rw-r--r-- | CMakeLists.txt | 20 | ||||
-rw-r--r-- | bench/CMakeLists.txt | 8 | ||||
-rw-r--r-- | example/CMakeLists.txt | 4 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 1 |
4 files changed, 19 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index b1971b26..2ef3b16f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,24 +56,30 @@ set(HEADER_BASE "${CMAKE_CURRENT_SOURCE_DIR}/include/spdlog") message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
+find_package(Threads REQUIRED)
+
# Build library
add_library(spdlog src/spdlog.cpp)
target_compile_definitions(spdlog PUBLIC SPDLOG_COMPILED_LIB )
target_include_directories(spdlog PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>")
set_target_properties(spdlog PROPERTIES OUTPUT_NAME "spdlog")
set_target_properties(spdlog PROPERTIES DEBUG_POSTFIX "-debug")
+target_link_libraries(spdlog PUBLIC Threads::Threads)
-# Headr only
+# Header only
add_library(spdlog_header_only INTERFACE)
-target_include_directories(spdlog_header_only INTERFACE "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>")
+target_include_directories(spdlog_header_only INTERFACE "${CMAKE_CURRENT_LIST_DIR}/include")
+target_link_libraries(spdlog_header_only INTERFACE Threads::Threads)
-if(SPDLOG_FMT_EXTERNAL AND NOT TARGET fmt::fmt)
- find_package(fmt REQUIRED CONFIG)
-endif()
if(SPDLOG_FMT_EXTERNAL)
- target_compile_definitions(spdlog INTERFACE SPDLOG_FMT_EXTERNAL)
- target_link_libraries(spdlog INTERFACE fmt::fmt)
+ if (NOT TARGET fmt::fmt)
+ find_package(fmt REQUIRED)
+ endif ()
+
+ target_compile_definitions(spdlog PUBLIC SPDLOG_FMT_EXTERNAL)
+ target_link_libraries(spdlog PUBLIC fmt::fmt)
+
target_compile_definitions(spdlog_header_only INTERFACE SPDLOG_FMT_EXTERNAL)
target_link_libraries(spdlog_header_only INTERFACE fmt::fmt)
endif()
diff --git a/bench/CMakeLists.txt b/bench/CMakeLists.txt index 3c4a3f9d..dcb03a9e 100644 --- a/bench/CMakeLists.txt +++ b/bench/CMakeLists.txt @@ -33,16 +33,16 @@ find_package(Threads REQUIRED) find_package(benchmark CONFIG REQUIRED) add_executable(bench bench.cpp) -target_link_libraries(bench PRIVATE spdlog::spdlog Threads::Threads) +target_link_libraries(bench PRIVATE spdlog::spdlog) add_executable(async_bench async_bench.cpp) -target_link_libraries(async_bench PRIVATE spdlog::spdlog Threads::Threads) +target_link_libraries(async_bench PRIVATE spdlog::spdlog) add_executable(latency latency.cpp) -target_link_libraries(latency PRIVATE benchmark::benchmark spdlog::spdlog Threads::Threads) +target_link_libraries(latency PRIVATE benchmark::benchmark spdlog::spdlog) add_executable(formatter-bench formatter-bench.cpp) -target_link_libraries(formatter-bench PRIVATE benchmark::benchmark spdlog::spdlog Threads::Threads) +target_link_libraries(formatter-bench PRIVATE benchmark::benchmark spdlog::spdlog) file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs") diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt index b25ca252..033e7af6 100644 --- a/example/CMakeLists.txt +++ b/example/CMakeLists.txt @@ -38,7 +38,7 @@ find_package(Threads REQUIRED) # Example of using pre-compiled library add_executable(example example.cpp) -target_link_libraries(example spdlog::spdlog Threads::Threads) +target_link_libraries(example spdlog::spdlog) if(CMAKE_SYSTEM_NAME STREQUAL "Android") find_library(log-lib log) target_link_libraries(example log) @@ -54,7 +54,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Android") endif () add_executable(multisink multisink.cpp) -target_link_libraries(multisink spdlog::spdlog Threads::Threads) +target_link_libraries(multisink spdlog::spdlog) file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs") diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 8679174d..f02dea91 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -20,7 +20,6 @@ set(SPDLOG_UTESTS_SOURCES test_fmt_helper.cpp) add_executable(${PROJECT_NAME} ${SPDLOG_UTESTS_SOURCES}) -target_link_libraries(${PROJECT_NAME} PRIVATE Threads::Threads) target_link_libraries(${PROJECT_NAME} PRIVATE spdlog) file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs") |