Set Threads::Threads dependency on spdlog libs - don't make user do it
This commit is contained in:
		@@ -56,24 +56,30 @@ set(HEADER_BASE "${CMAKE_CURRENT_SOURCE_DIR}/include/spdlog")
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
 | 
					message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					find_package(Threads REQUIRED)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Build library
 | 
					# Build library
 | 
				
			||||||
add_library(spdlog src/spdlog.cpp)
 | 
					add_library(spdlog src/spdlog.cpp)
 | 
				
			||||||
target_compile_definitions(spdlog PUBLIC SPDLOG_COMPILED_LIB )
 | 
					target_compile_definitions(spdlog PUBLIC SPDLOG_COMPILED_LIB )
 | 
				
			||||||
target_include_directories(spdlog PUBLIC  "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>")
 | 
					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 OUTPUT_NAME "spdlog")
 | 
				
			||||||
set_target_properties(spdlog PROPERTIES DEBUG_POSTFIX "-debug")
 | 
					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)
 | 
					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)
 | 
					if(SPDLOG_FMT_EXTERNAL)
 | 
				
			||||||
    target_compile_definitions(spdlog INTERFACE SPDLOG_FMT_EXTERNAL)
 | 
					    if (NOT TARGET fmt::fmt)
 | 
				
			||||||
    target_link_libraries(spdlog INTERFACE 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_compile_definitions(spdlog_header_only INTERFACE SPDLOG_FMT_EXTERNAL)
 | 
				
			||||||
    target_link_libraries(spdlog_header_only INTERFACE fmt::fmt)
 | 
					    target_link_libraries(spdlog_header_only INTERFACE fmt::fmt)
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,16 +33,16 @@ find_package(Threads REQUIRED)
 | 
				
			|||||||
find_package(benchmark CONFIG REQUIRED)
 | 
					find_package(benchmark CONFIG REQUIRED)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
add_executable(bench bench.cpp)
 | 
					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)
 | 
					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)
 | 
					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)
 | 
					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")
 | 
					file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,7 +38,7 @@ find_package(Threads REQUIRED)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Example of using pre-compiled library
 | 
					# Example of using pre-compiled library
 | 
				
			||||||
add_executable(example example.cpp)
 | 
					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")
 | 
					if(CMAKE_SYSTEM_NAME STREQUAL "Android")
 | 
				
			||||||
    find_library(log-lib log)
 | 
					    find_library(log-lib log)
 | 
				
			||||||
    target_link_libraries(example log)
 | 
					    target_link_libraries(example log)
 | 
				
			||||||
@@ -54,7 +54,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Android")
 | 
				
			|||||||
endif ()
 | 
					endif ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
add_executable(multisink multisink.cpp)
 | 
					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")
 | 
					file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,7 +20,6 @@ set(SPDLOG_UTESTS_SOURCES
 | 
				
			|||||||
    test_fmt_helper.cpp)
 | 
					    test_fmt_helper.cpp)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
add_executable(${PROJECT_NAME} ${SPDLOG_UTESTS_SOURCES})
 | 
					add_executable(${PROJECT_NAME} ${SPDLOG_UTESTS_SOURCES})
 | 
				
			||||||
target_link_libraries(${PROJECT_NAME} PRIVATE Threads::Threads)
 | 
					 | 
				
			||||||
target_link_libraries(${PROJECT_NAME} PRIVATE spdlog)
 | 
					target_link_libraries(${PROJECT_NAME} PRIVATE spdlog)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs")
 | 
					file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs")
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user