@@ -4,29 +4,38 @@ 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+ option (DTK5 "Build DTK5." ON )
20+ if (DTK5)
21+ set (DTK_VERSION_MAJOR "5" )
22+ set (DTK_NAME_SUFFIX "" )
23+ else ()
24+ set (DTK_VERSION_MAJOR "6" )
25+ set (DTK_NAME_SUFFIX "6" )
26+ endif ()
27+
28+ set (DTK_VERSION_MINOR ${PROJECT_VERSION_MINOR} )
29+ set (DTK_VERSION_PATCH ${PROJECT_VERSION_PATCH} )
30+ # Set so version like 0.x.y, it's required for DTK library ABI compatibility.
31+ set (DTK_VERSION "0.${DTK_VERSION_MINOR} .${DTK_VERSION_PATCH} " )
32+ set (QT_VERSION_MAJOR ${DTK_VERSION_MAJOR} )
33+
34+ SET (DLog "Dtk${DTK_NAME_SUFFIX} Log" )
35+
2736INCLUDE (GNUInstallDirs)
2837INCLUDE (CMakePackageConfigHelpers) # configure_package_config_file
29- SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR} /dtk${QT_VERSION_MAJOR } /DLog" )
38+ SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR} /dtk${DTK_VERSION_MAJOR } /DLog" )
3039SET (LIBRARY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR} " )
3140SET (CONFIG_CMAKE_INSTALL_DIR "${LIBRARY_INSTALL_DIR} /cmake/${DLog} " CACHE STRING "Install dir for cmake config files" )
3241SET (MKSPECS_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR} /qt${QT_VERSION_MAJOR} /mkspecs/modules" CACHE STRING "Install dir for qt pri files" )
@@ -77,7 +86,7 @@ IF(BUILD_WITH_SYSTEMD)
7786 SET (includes ${includes} include /JournalAppender.h)
7887ENDIF (BUILD_WITH_SYSTEMD)
7988
80- SET (library_target dtk${DTK_VERSION_MAJOR } log )
89+ SET (library_target dtk${DTK_NAME_SUFFIX } log )
8190
8291ADD_LIBRARY (${library_target} SHARED ${sources} ${includes} )
8392
@@ -92,8 +101,8 @@ TARGET_LINK_DIRECTORIES(${library_target} INTERFACE
92101)
93102
94103SET_TARGET_PROPERTIES (${library_target} PROPERTIES
95- VERSION ${CMAKE_PROJECT_VERSION }
96- SOVERSION ${CMAKE_PROJECT_VERSION_MAJOR}
104+ VERSION ${DTK_VERSION }
105+ SOVERSION "0"
97106 EXPORT_NAME Log
98107)
99108
@@ -122,7 +131,7 @@ INSTALL(TARGETS ${library_target}
122131
123132INSTALL (EXPORT ${DLog} Targets
124133 FILE ${DLog} Targets.cmake
125- NAMESPACE Dtk${DTK_VERSION_MAJOR } ::
134+ NAMESPACE Dtk${DTK_NAME_SUFFIX } ::
126135 DESTINATION ${CONFIG_CMAKE_INSTALL_DIR}
127136)
128137
@@ -142,7 +151,7 @@ CONFIGURE_PACKAGE_CONFIG_FILE(misc/DLogConfig.cmake.in
142151)
143152WRITE_BASIC_PACKAGE_VERSION_FILE(
144153 "${CMAKE_CURRENT_BINARY_DIR} /${DLog} ConfigVersion.cmake"
145- VERSION ${DLOG_VERSION }
154+ VERSION ${DTK_VERSION }
146155 COMPATIBILITY SameMajorVersion
147156)
148157
0 commit comments