Qt_Logger_Example/lib_logger/CMakeLists.txt

58 lines
1.2 KiB
CMake

cmake_minimum_required(VERSION 4.0)
project(_logger
VERSION 1.0
DESCRIPTION "Logger library for Qt projects"
LANGUAGES CXX)
include(${CMAKE_CURRENT_SOURCE_DIR}/../_cmake/lib_settings.cmake)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS
Core
)
set(PUBLIC_LIBRARY_HEADERS
logger.h
)
set(PROJECT_SOURCES
private/logger.cpp
private/log_worker.h
${COMMON_SOURCES_DIR}/application_config.h
${COMMON_SOURCES_DIR}/application_config.cpp
)
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
set(PROJECT_RC_FILES
${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc
)
endif()
add_library(${PROJECT_NAME} SHARED
${PUBLIC_LIBRARY_HEADERS}
${PROJECT_SOURCES}
${PROJECT_RC_FILES}
)
include(${CMAKE_INC_DIR}/target_options.cmake)
target_include_directories(${PROJECT_NAME} PRIVATE
${SYSTEM_INCLUDE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${COMMON_SOURCES_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/private
)
target_link_directories(${PROJECT_NAME} PRIVATE
${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
)
target_link_libraries(${PROJECT_NAME} PRIVATE
Qt${QT_VERSION_MAJOR}::Core
)
target_compile_definitions(${PROJECT_NAME} PRIVATE
LIB_LOGGER
)