CMakeLists.txt: fetch spdlog, set SPDLOG_USE_STD_FORMAT to use C++20

std::format in the SPDLOG-library (now there is no linking to libfmt)
This commit is contained in:
Timur A. Fatkhullin 2024-12-22 17:40:00 +03:00
parent 77131074e7
commit f068cbb44b

View File

@ -9,7 +9,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}")
find_package(Threads REQUIRED)
# find_package(spdlog REQUIRED)
find_package(spdlog CONFIG)
# find_package(spdlog CONFIG)
find_package(CFITSIO REQUIRED)
find_package(XCLIB REQUIRED)
@ -30,21 +30,36 @@ if (STATIC_LIB)
add_library(${RAPTOR_EAGLEV_LIB} STATIC ${RAPTOR_EAGLEV_LIB_SRC})
else()
add_library(${RAPTOR_EAGLEV_LIB} SHARED ${RAPTOR_EAGLEV_LIB_SRC})
# add_library(${RAPTOR_EAGLEV_LIB} SHARED
# raptor_eagle_ccd.h raptor_eagle_ccd.cpp
# raptor_eagle_cameralink.h
# raptor_eagle_exception.h
# raptor_eagle_acqproc.cpp)
endif()
include(FetchContent)
include(ExternalProject)
FetchContent_Declare(spdlog
# SOURCE_DIR ${CMAKE_BINARY_DIR}/spdlog
# BINARY_DIR ${CMAKE_BINARY_DIR}/spdlog/build
GIT_REPOSITORY "https://github.com/gabime/spdlog.git"
GIT_TAG "v1.15.0"
GIT_SHALLOW TRUE
GIT_SUBMODULES ""
GIT_PROGRESS TRUE
)
FetchContent_MakeAvailable(spdlog)
FetchContent_GetProperties(spdlog SOURCE_DIR spdlog_SOURCE_DIR)
set(spdlog_INCLUDE_DIR ${spdlog_SOURCE_DIR}/include)
# to activate spdlog-library support in ADC-library
# target_compile_definitions(${RAPTOR_EAGLEV_LIB} PRIVATE USE_ASIO_LIBRARY USE_SPDLOG_LIBRARY USE_OPENSSL_WITH_ASIO)
target_compile_definitions(${RAPTOR_EAGLEV_LIB} PUBLIC USE_ASIO_LIBRARY USE_SPDLOG_LIBRARY)
target_compile_definitions(${RAPTOR_EAGLEV_LIB} PUBLIC SPDLOG_USE_STD_FORMAT)
# !!!!! TEMPORARY !!!!!
target_include_directories(${RAPTOR_EAGLEV_LIB} PUBLIC "../ADC/")
target_include_directories(${RAPTOR_EAGLEV_LIB} PUBLIC ${XCLIB_INCLUDE_DIR} ${CFITSIO_INCLUDE_DIR})
target_link_libraries(${RAPTOR_EAGLEV_LIB} PUBLIC Threads::Threads spdlog::spdlog_header_only ${XCLIB_LIBRARIES} ${CFITSIO_LIBRARY})
target_include_directories(${RAPTOR_EAGLEV_LIB} PUBLIC ${spdlog_INCLUDE_DIR})
# target_link_libraries(${RAPTOR_EAGLEV_LIB} PUBLIC Threads::Threads spdlog::spdlog_header_only ${XCLIB_LIBRARIES} ${CFITSIO_LIBRARY})
target_link_libraries(${RAPTOR_EAGLEV_LIB} PUBLIC Threads::Threads ${XCLIB_LIBRARIES} ${CFITSIO_LIBRARY})
set(RAPTOR_EAGLEV_SERVER raptor_eaglev_server)