Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gabime/spdlog.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt24
-rw-r--r--example/CMakeLists.txt8
-rw-r--r--tests/CMakeLists.txt4
3 files changed, 25 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d0c796e7..4d34c917 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -40,18 +40,28 @@ if (NOT DEFINED SPDLOG_MASTER_PROJECT)
endif()
endif ()
-option(SPDLOG_BUILD_EXAMPLES "Build examples" OFF)
+# example options
+option(SPDLOG_BUILD_EXAMPLE "Build example" ${SPDLOG_MASTER_PROJECT})
+option(SPDLOG_BUILD_EXAMPLE_HO "Build header only example" OFF)
+
+# testing options
+option(SPDLOG_BUILD_TESTS "Build tests" ${SPDLOG_MASTER_PROJECT})
+option(SPDLOG_BUILD_TESTS_HO "Build tests using the header only version" OFF)
+
+# bench options
option(SPDLOG_BUILD_BENCH "Build benchmarks (Requires https://github.com/google/benchmark.git to be installed)" OFF)
-option(SPDLOG_BUILD_TESTS "Build tests" OFF)
-option(SPDLOG_BUILD_HO_TESTS "Build tests using the header only version" OFF)
+
+# sanitizer options
option(SPDLOG_SANITIZE_ADDRESS "Enable address sanitizer in tests" OFF)
+
+# install options
option(SPDLOG_INSTALL "Generate the install target." ${SPDLOG_MASTER_PROJECT})
option(SPDLOG_FMT_EXTERNAL "Use external fmt library instead of bundled" OFF)
-message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
-
find_package(Threads REQUIRED)
+message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
+
#---------------------------------------------------------------------------------------
# Static/Shared library (shared not supported in windows yet)
#---------------------------------------------------------------------------------------
@@ -101,12 +111,12 @@ endif()
#---------------------------------------------------------------------------------------
# Build binaries
#---------------------------------------------------------------------------------------
-if(SPDLOG_BUILD_EXAMPLES)
+if(SPDLOG_BUILD_EXAMPLE OR SPDLOG_BUILD_EXAMPLE_HO)
message(STATUS "Generating examples")
add_subdirectory(example)
endif()
-if(SPDLOG_BUILD_TESTS)
+if(SPDLOG_BUILD_TESTS OR SPDLOG_BUILD_TESTS_HO)
message(STATUS "Generating tests")
include(CTest)
add_subdirectory(tests)
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index ac738161..b5fc4060 100644
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -19,9 +19,11 @@ target_link_libraries(example PRIVATE spdlog::spdlog)
#---------------------------------------------------------------------------------------
# Example of using header-only library
#---------------------------------------------------------------------------------------
-add_executable(example_header_only example.cpp)
-spdlog_enable_warnings(example_header_only)
-target_link_libraries(example_header_only PRIVATE spdlog::spdlog_header_only)
+if(SPDLOG_BUILD_EXAMPLE_HO)
+ add_executable(example_header_only example.cpp)
+ spdlog_enable_warnings(example_header_only)
+ target_link_libraries(example_header_only PRIVATE spdlog::spdlog_header_only)
+endif()
# Create logs directory
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs")
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 8047310d..ebd31807 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,3 +1,5 @@
+project(spdlog_utests CXX)
+
find_package(PkgConfig)
if(PkgConfig_FOUND)
pkg_check_modules(systemd libsystemd)
@@ -45,7 +47,7 @@ if(SPDLOG_BUILD_TESTS)
endif()
# The header-only library version tests
-if(SPDLOG_BUILD_HO_TESTS)
+if(SPDLOG_BUILD_TESTS_HO)
add_executable(spdlog-utests-ho ${SPDLOG_UTESTS_SOURCES})
spdlog_enable_warnings(spdlog-utests-ho)
target_link_libraries(spdlog-utests-ho PRIVATE spdlog::spdlog_header_only)