@@ -4,29 +4,39 @@ SET(CMAKE_CXX_STANDARD 11)
44SET (CMAKE_CXX_STANDARD_REQUIRED ON )
55SET (CMAKE_AUTOMOC ON )
66
7- FILE (READ "${CMAKE_CURRENT_SOURCE_DIR} /VERSION" DTK_FILE_VERSION)
8- STRING (STRIP "${DTK_FILE_VERSION} " DTK_FILE_VERSION)
9- SET (DLOG_VERSION "${DTK_FILE_VERSION} " CACHE STRING "define project version" )
10- SET (BUILD_WITH_SYSTEMD OFF CACHE BOOL "Build with systemd" )
11- SET (BUILD_WITH_QT6 OFF CACHE BOOL "Build with Qt6" )
12-
13- IF (BUILD_WITH_QT6)
14- SET (QT_VERSION_MAJOR "6" )
15- SET (DTK_VERSION_MAJOR "6" )
16- ELSE ()
17- SET (QT_VERSION_MAJOR "5" )
18- ENDIF ()
7+ FILE (READ "${CMAKE_CURRENT_SOURCE_DIR} /VERSION" FILE_VERSION)
8+ STRING (STRIP "${FILE_VERSION} " FILE_VERSION)
199
20- SET (DLog "Dtk${DTK_VERSION_MAJOR} Log" )
21- PROJECT (${DLog}
22- VERSION ${DLOG_VERSION}
10+ PROJECT (DtkLog
11+ VERSION ${FILE_VERSION}
2312 DESCRIPTION "Simple, convinient and thread safe logger for Qt-based C++ apps"
13+ HOMEPAGE_URL "https://github.com/linuxdeepin/dtklog"
2414 LANGUAGES CXX
2515)
2616
17+ SET (BUILD_WITH_SYSTEMD OFF CACHE BOOL "Build with systemd" )
18+
19+ # 引入 DTK5/DTK6 构建选项
20+ option (DTK5 "Build DTK5." ON )
21+ if (DTK5)
22+ set (DTK_VERSION_MAJOR "5" )
23+ set (DTK_NAME_SUFFIX "" ) # DTK5 产品名称后缀为空
24+ else ()
25+ set (DTK_VERSION_MAJOR "6" )
26+ set (DTK_NAME_SUFFIX "6" ) # DTK6 产品名称后缀为 "6"
27+ endif ()
28+
29+ set (DTK_VERSION_MINOR ${PROJECT_VERSION_MINOR} )
30+ set (DTK_VERSION_PATCH ${PROJECT_VERSION_PATCH} )
31+ set (DTK_VERSION "${DTK_VERSION_MAJOR} .${DTK_VERSION_MINOR} .${DTK_VERSION_PATCH} " )
32+ # 官方约定:DTK5 使用 Qt5,DTK6 使用 Qt6
33+ set (QT_VERSION_MAJOR ${DTK_VERSION_MAJOR} )
34+
35+ SET (DLog "Dtk${DTK_NAME_SUFFIX} Log" )
36+
2737INCLUDE (GNUInstallDirs)
2838INCLUDE (CMakePackageConfigHelpers) # configure_package_config_file
29- SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR} /dtk${QT_VERSION_MAJOR } /DLog" )
39+ SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR} /dtk${DTK_VERSION_MAJOR } /DLog" )
3040SET (LIBRARY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR} " )
3141SET (CONFIG_CMAKE_INSTALL_DIR "${LIBRARY_INSTALL_DIR} /cmake/${DLog} " CACHE STRING "Install dir for cmake config files" )
3242SET (MKSPECS_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR} /qt${QT_VERSION_MAJOR} /mkspecs/modules" CACHE STRING "Install dir for qt pri files" )
@@ -77,7 +87,7 @@ IF(BUILD_WITH_SYSTEMD)
7787 SET (includes ${includes} include /JournalAppender.h)
7888ENDIF (BUILD_WITH_SYSTEMD)
7989
80- SET (library_target dtk${DTK_VERSION_MAJOR } log )
90+ SET (library_target dtk${DTK_NAME_SUFFIX } log )
8191
8292ADD_LIBRARY (${library_target} SHARED ${sources} ${includes} )
8393
@@ -92,8 +102,8 @@ TARGET_LINK_DIRECTORIES(${library_target} INTERFACE
92102)
93103
94104SET_TARGET_PROPERTIES (${library_target} PROPERTIES
95- VERSION ${CMAKE_PROJECT_VERSION }
96- SOVERSION ${CMAKE_PROJECT_VERSION_MAJOR }
105+ VERSION ${DTK_VERSION }
106+ SOVERSION ${DTK_VERSION_MAJOR }
97107 EXPORT_NAME Log
98108)
99109
@@ -142,7 +152,7 @@ CONFIGURE_PACKAGE_CONFIG_FILE(misc/DLogConfig.cmake.in
142152)
143153WRITE_BASIC_PACKAGE_VERSION_FILE(
144154 "${CMAKE_CURRENT_BINARY_DIR} /${DLog} ConfigVersion.cmake"
145- VERSION ${DLOG_VERSION }
155+ VERSION ${DTK_VERSION }
146156 COMPATIBILITY SameMajorVersion
147157)
148158
0 commit comments