mirror of
https://github.com/gabime/spdlog.git
synced 2024-12-26 10:31:34 +08:00
Add a CMake option to use a header-only external fmt
This commit is contained in:
parent
02329f61e3
commit
a984b1b073
@ -53,12 +53,9 @@ option(SPDLOG_BUILD_EXAMPLES "Build examples" ${SPDLOG_MASTER_PROJECT})
|
||||
option(SPDLOG_BUILD_BENCH "Build benchmarks (Requires https://github.com/google/benchmark.git to be installed)" OFF)
|
||||
option(SPDLOG_BUILD_TESTS "Build tests" ${SPDLOG_MASTER_PROJECT})
|
||||
option(SPDLOG_FMT_EXTERNAL "Use external fmt library instead of bundled" OFF)
|
||||
option(SPDLOG_FMT_HEADER_ONLY "Use header-only variant of external fmt library" OFF)
|
||||
option(SPDLOG_INSTALL "Generate the install target." ${SPDLOG_MASTER_PROJECT})
|
||||
|
||||
if(SPDLOG_FMT_EXTERNAL AND NOT TARGET fmt::fmt)
|
||||
find_package(fmt REQUIRED CONFIG)
|
||||
endif()
|
||||
|
||||
target_include_directories(
|
||||
spdlog
|
||||
INTERFACE
|
||||
@ -68,7 +65,16 @@ target_include_directories(
|
||||
|
||||
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 CONFIG)
|
||||
endif()
|
||||
|
||||
if(SPDLOG_FMT_HEADER_ONLY)
|
||||
target_link_libraries(spdlog INTERFACE fmt::fmt-header-only)
|
||||
else()
|
||||
target_link_libraries(spdlog INTERFACE fmt::fmt)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(HEADER_BASE "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
||||
|
Loading…
Reference in New Issue
Block a user