From 45a18a61c633564311e51f5cbed2748e9cb70e2f Mon Sep 17 00:00:00 2001 From: gabime Date: Sun, 8 Sep 2019 00:42:23 +0300 Subject: CmakeLists.txt: Added version-number and debug suffixes + SPDLOG_BUILD_SHARED property --- CMakeLists.txt | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index efe70ef6..bfdc8df7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,6 +41,11 @@ if (NOT DEFINED SPDLOG_MASTER_PROJECT) endif() endif () +# build shared option +if(NOT WIN32) + option(SPDLOG_BUILD_SHARED "Build shared library" OFF) +endif() + # example options option(SPDLOG_BUILD_EXAMPLE "Build example" ${SPDLOG_MASTER_PROJECT}) option(SPDLOG_BUILD_EXAMPLE_HO "Build header only example" OFF) @@ -81,11 +86,14 @@ set(SPDLOG_SRCS src/file_sinks.cpp src/async.cpp) -if (BUILD_SHARED_LIBS AND WIN32) - message(WARNING "shared libs is not supported in spdlog - building static instead") - add_library(spdlog STATIC ${SPDLOG_SRCS} ${SPDLOG_ALL_HEADERS}) + +if (SPDLOG_BUILD_SHARED) + if(WIN32) + message(FATAL_ERROR "spdlog shared lib is not yet supported under windows") + endif() + add_library(spdlog SHARED ${SPDLOG_SRCS} ${SPDLOG_ALL_HEADERS}) else() - add_library(spdlog ${SPDLOG_SRCS} ${SPDLOG_ALL_HEADERS}) + add_library(spdlog STATIC ${SPDLOG_SRCS} ${SPDLOG_ALL_HEADERS}) endif() add_library(spdlog::spdlog ALIAS spdlog) @@ -97,6 +105,9 @@ target_include_directories(spdlog PUBLIC target_link_libraries(spdlog PUBLIC Threads::Threads) spdlog_enable_warnings(spdlog) +set_target_properties(spdlog PROPERTIES VERSION ${SPDLOG_VERSION} SOVERSION ${SPDLOG_VERSION_MAJOR}) +set_target_properties(spdlog PROPERTIES DEBUG_POSTFIX d) + #--------------------------------------------------------------------------------------- # Header only version #--------------------------------------------------------------------------------------- -- cgit v1.2.3