Skip to content

Commit f08d445

Browse files
sync: from linuxdeepin/dtklog
Synchronize source files from linuxdeepin/dtklog. Source-pull-request: linuxdeepin/dtklog#24
1 parent f562b2f commit f08d445

File tree

4 files changed

+41
-31
lines changed

4 files changed

+41
-31
lines changed

CMakeLists.txt

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,38 @@ SET(CMAKE_CXX_STANDARD 11)
44
SET(CMAKE_CXX_STANDARD_REQUIRED ON)
55
SET(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+
2736
INCLUDE(GNUInstallDirs)
2837
INCLUDE(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")
3039
SET (LIBRARY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}")
3140
SET (CONFIG_CMAKE_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/cmake/${DLog}" CACHE STRING "Install dir for cmake config files")
3241
SET (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)
7887
ENDIF(BUILD_WITH_SYSTEMD)
7988

80-
SET(library_target dtk${DTK_VERSION_MAJOR}log)
89+
SET(library_target dtk${DTK_NAME_SUFFIX}log)
8190

8291
ADD_LIBRARY(${library_target} SHARED ${sources} ${includes})
8392

@@ -92,8 +101,8 @@ TARGET_LINK_DIRECTORIES(${library_target} INTERFACE
92101
)
93102

94103
SET_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

123132
INSTALL(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
)
143152
WRITE_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

misc/DLogConfig.cmake.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ include(CMakeFindDependencyMacro)
77

88
include(${CMAKE_CURRENT_LIST_DIR}/@DLog@Targets.cmake)
99

10-
get_target_property(Dtk@DTK_VERSION_MAJOR@Log_INCLUDE_DIRS Dtk@DTK_VERSION_MAJOR@::Log INTERFACE_INCLUDE_DIRECTORIES)
11-
get_target_property(Dtk@DTK_VERSION_MAJOR@Log_LIBRARY_DIRS Dtk@DTK_VERSION_MAJOR@::Log INTERFACE_LINK_DIRECTORIES)
10+
get_target_property(Dtk@DTK_NAME_SUFFIX@Log_INCLUDE_DIRS Dtk@DTK_NAME_SUFFIX@::Log INTERFACE_INCLUDE_DIRECTORIES)
11+
get_target_property(Dtk@DTK_NAME_SUFFIX@Log_LIBRARY_DIRS Dtk@DTK_NAME_SUFFIX@::Log INTERFACE_LINK_DIRECTORIES)
1212
check_required_components(@DLog@)
1313

misc/dtklog.pc.in

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ libdir=${prefix}/@LIBRARY_INSTALL_DIR@
44
includedir=${prefix}/@INCLUDE_INSTALL_DIR@
55

66
Name: @library_target@
7-
Description: @CMAKE_PROJECT_DESCRIPTION@
8-
Version: @CMAKE_PROJECT_VERSION@
7+
Description: @PROJECT_DESCRIPTION@
8+
Version: @DTK_VERSION@
99
Libs: -L${libdir} -l@library_target@
1010
Cflags: -I${includedir}
11+
Requires: Qt@QT_VERSION_MAJOR@Core

misc/qt_lib_dtklog.pri.in

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
QT.dtklog.VERSION = @CMAKE_PROJECT_VERSION@
2-
QT.dtklog.MAJOR_VERSION = @PROJECT_VERSION_MAJOR@
3-
QT.dtklog.MINOR_VERSION = @PROJECT_VERSION_MINOR@
4-
QT.dtklog.PATCH_VERSION = @PROJECT_VERSION_PATCH@
5-
QT.dtklog.name = dtklog
6-
QT.dtklog.module = dtk@DTK_VERSION_MAJOR@log
1+
QT.dtklog.VERSION = @DTK_VERSION@
2+
QT.dtklog.MAJOR_VERSION = @DTK_VERSION_MAJOR@
3+
QT.dtklog.MINOR_VERSION = @DTK_VERSION_MINOR@
4+
QT.dtklog.PATCH_VERSION = @DTK_VERSION_PATCH@
5+
QT.dtklog.name = dtk@DTK_NAME_SUFFIX@log
6+
QT.dtklog.module = dtk@DTK_NAME_SUFFIX@log
77
QT.dtklog.libs = @CMAKE_INSTALL_PREFIX@/@LIBRARY_INSTALL_DIR@
88
QT.dtklog.includes = @CMAKE_INSTALL_PREFIX@/@INCLUDE_INSTALL_DIR@
99
QT.dtklog.frameworks =

0 commit comments

Comments
 (0)