mirror of
https://github.com/mchernigin/libqbase.git
synced 2025-03-12 04:58:36 +03:00
refactor: separate logger build in its own CMakeLists and build so
This commit is contained in:
parent
5c1b3178b1
commit
77ffc2ebd2
@ -8,54 +8,19 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
##########
|
||||
# Logger #
|
||||
##########
|
||||
|
||||
add_library(logger)
|
||||
|
||||
target_sources(logger PRIVATE
|
||||
src/logger/loggermanager.cpp
|
||||
src/logger/logger.cpp
|
||||
src/logger/consolelogger.cpp
|
||||
src/logger/filelogger.cpp
|
||||
src/logger/sysloglogger.cpp
|
||||
)
|
||||
|
||||
target_include_directories(
|
||||
logger PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/logger/>"
|
||||
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
|
||||
|
||||
find_package(Qt5 COMPONENTS Core REQUIRED)
|
||||
target_link_libraries(logger Qt5::Core)
|
||||
|
||||
install(
|
||||
TARGETS logger
|
||||
EXPORT logger-config
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
|
||||
install(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/include/logger/"
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/logger/")
|
||||
|
||||
install(
|
||||
EXPORT logger-config
|
||||
NAMESPACE "${PROJECT_NAME}::"
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
|
||||
|
||||
##################
|
||||
# Project config #
|
||||
##################
|
||||
add_subdirectory(src)
|
||||
|
||||
file(GLOB COMMON_INCLUDES "${PROJECT_SOURCE_DIR}/include/*.h")
|
||||
|
||||
install(FILES ${COMMON_INCLUDES}
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/")
|
||||
install(
|
||||
FILES ${COMMON_INCLUDES}
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/")
|
||||
|
||||
configure_file(
|
||||
${PROJECT_NAME}-config.cmake.in
|
||||
${PROJECT_NAME}-config.cmake
|
||||
@ONLY)
|
||||
${PROJECT_NAME}-config.cmake.in
|
||||
${PROJECT_NAME}-config.cmake
|
||||
@ONLY)
|
||||
|
||||
install(FILES "${CMAKE_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
|
||||
install(
|
||||
FILES "${CMAKE_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
|
||||
|
||||
|
1
src/CMakeLists.txt
Normal file
1
src/CMakeLists.txt
Normal file
@ -0,0 +1 @@
|
||||
add_subdirectory(logger)
|
29
src/logger/CMakeLists.txt
Normal file
29
src/logger/CMakeLists.txt
Normal file
@ -0,0 +1,29 @@
|
||||
find_package(Qt5 COMPONENTS Core REQUIRED)
|
||||
|
||||
add_library(logger SHARED
|
||||
loggermanager.cpp
|
||||
logger.cpp
|
||||
consolelogger.cpp
|
||||
filelogger.cpp
|
||||
sysloglogger.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(logger Qt5::Core)
|
||||
|
||||
target_include_directories(
|
||||
logger PUBLIC "$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include/logger/>"
|
||||
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
|
||||
install(
|
||||
TARGETS logger
|
||||
EXPORT logger-config
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
|
||||
install(
|
||||
DIRECTORY "${CMAKE_SOURCE_DIR}/include/logger/"
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/logger/")
|
||||
|
||||
install(
|
||||
EXPORT logger-config
|
||||
NAMESPACE "${PROJECT_NAME}::"
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
|
||||
|
Loading…
x
Reference in New Issue
Block a user