Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 30 additions & 21 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,38 @@ SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_CXX_STANDARD_REQUIRED ON)
SET(CMAKE_AUTOMOC ON)

FILE (READ "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" DTK_FILE_VERSION)
STRING (STRIP "${DTK_FILE_VERSION}" DTK_FILE_VERSION)
SET (DLOG_VERSION "${DTK_FILE_VERSION}" CACHE STRING "define project version")
SET (BUILD_WITH_SYSTEMD OFF CACHE BOOL "Build with systemd")
SET (BUILD_WITH_QT6 OFF CACHE BOOL "Build with Qt6")

IF(BUILD_WITH_QT6)
SET(QT_VERSION_MAJOR "6")
SET(DTK_VERSION_MAJOR "6")
ELSE()
SET(QT_VERSION_MAJOR "5")
ENDIF()
FILE (READ "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" FILE_VERSION)
STRING (STRIP "${FILE_VERSION}" FILE_VERSION)

SET (DLog "Dtk${DTK_VERSION_MAJOR}Log")
PROJECT(${DLog}
VERSION ${DLOG_VERSION}
PROJECT(DtkLog
VERSION ${FILE_VERSION}
DESCRIPTION "Simple, convinient and thread safe logger for Qt-based C++ apps"
HOMEPAGE_URL "https://github.com/linuxdeepin/dtklog"
LANGUAGES CXX
)

SET (BUILD_WITH_SYSTEMD OFF CACHE BOOL "Build with systemd")

option(DTK5 "Build DTK5." ON)
if(DTK5)
set(DTK_VERSION_MAJOR "5")
set(DTK_NAME_SUFFIX "")
else()
set(DTK_VERSION_MAJOR "6")
set(DTK_NAME_SUFFIX "6")
endif()

set(DTK_VERSION_MINOR ${PROJECT_VERSION_MINOR})
set(DTK_VERSION_PATCH ${PROJECT_VERSION_PATCH})
# Set so version like 0.x.y, it's required for DTK library ABI compatibility.
set(DTK_VERSION "0.${DTK_VERSION_MINOR}.${DTK_VERSION_PATCH}")
set(QT_VERSION_MAJOR ${DTK_VERSION_MAJOR})

SET (DLog "Dtk${DTK_NAME_SUFFIX}Log")

INCLUDE(GNUInstallDirs)
INCLUDE(CMakePackageConfigHelpers) # configure_package_config_file
SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/dtk${QT_VERSION_MAJOR}/DLog")
SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/dtk${DTK_VERSION_MAJOR}/DLog")
SET (LIBRARY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}")
SET (CONFIG_CMAKE_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/cmake/${DLog}" CACHE STRING "Install dir for cmake config files")
SET (MKSPECS_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/qt${QT_VERSION_MAJOR}/mkspecs/modules" CACHE STRING "Install dir for qt pri files")
Expand Down Expand Up @@ -77,7 +86,7 @@ IF(BUILD_WITH_SYSTEMD)
SET(includes ${includes} include/JournalAppender.h)
ENDIF(BUILD_WITH_SYSTEMD)

SET(library_target dtk${DTK_VERSION_MAJOR}log)
SET(library_target dtk${DTK_NAME_SUFFIX}log)

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

Expand All @@ -92,8 +101,8 @@ TARGET_LINK_DIRECTORIES(${library_target} INTERFACE
)

SET_TARGET_PROPERTIES(${library_target} PROPERTIES
VERSION ${CMAKE_PROJECT_VERSION}
SOVERSION ${CMAKE_PROJECT_VERSION_MAJOR}
VERSION ${DTK_VERSION}
SOVERSION "0"
EXPORT_NAME Log
)

Expand Down Expand Up @@ -122,7 +131,7 @@ INSTALL(TARGETS ${library_target}

INSTALL(EXPORT ${DLog}Targets
FILE ${DLog}Targets.cmake
NAMESPACE Dtk${DTK_VERSION_MAJOR}::
NAMESPACE Dtk${DTK_NAME_SUFFIX}::
DESTINATION ${CONFIG_CMAKE_INSTALL_DIR}
)

Expand All @@ -142,7 +151,7 @@ CONFIGURE_PACKAGE_CONFIG_FILE(misc/DLogConfig.cmake.in
)
WRITE_BASIC_PACKAGE_VERSION_FILE(
"${CMAKE_CURRENT_BINARY_DIR}/${DLog}ConfigVersion.cmake"
VERSION ${DLOG_VERSION}
VERSION ${DTK_VERSION}
COMPATIBILITY SameMajorVersion
)

Expand Down
4 changes: 2 additions & 2 deletions misc/DLogConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ include(CMakeFindDependencyMacro)

include(${CMAKE_CURRENT_LIST_DIR}/@[email protected])

get_target_property(Dtk@DTK_VERSION_MAJOR@Log_INCLUDE_DIRS Dtk@DTK_VERSION_MAJOR@::Log INTERFACE_INCLUDE_DIRECTORIES)
get_target_property(Dtk@DTK_VERSION_MAJOR@Log_LIBRARY_DIRS Dtk@DTK_VERSION_MAJOR@::Log INTERFACE_LINK_DIRECTORIES)
get_target_property(Dtk@DTK_NAME_SUFFIX@Log_INCLUDE_DIRS Dtk@DTK_NAME_SUFFIX@::Log INTERFACE_INCLUDE_DIRECTORIES)
get_target_property(Dtk@DTK_NAME_SUFFIX@Log_LIBRARY_DIRS Dtk@DTK_NAME_SUFFIX@::Log INTERFACE_LINK_DIRECTORIES)
check_required_components(@DLog@)

5 changes: 3 additions & 2 deletions misc/dtklog.pc.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ libdir=${prefix}/@LIBRARY_INSTALL_DIR@
includedir=${prefix}/@INCLUDE_INSTALL_DIR@

Name: @library_target@
Description: @CMAKE_PROJECT_DESCRIPTION@
Version: @CMAKE_PROJECT_VERSION@
Description: @PROJECT_DESCRIPTION@
Version: @DTK_VERSION@
Libs: -L${libdir} -l@library_target@
Cflags: -I${includedir}
Requires: Qt@QT_VERSION_MAJOR@Core
12 changes: 6 additions & 6 deletions misc/qt_lib_dtklog.pri.in
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
QT.dtklog.VERSION = @CMAKE_PROJECT_VERSION@
QT.dtklog.MAJOR_VERSION = @PROJECT_VERSION_MAJOR@
QT.dtklog.MINOR_VERSION = @PROJECT_VERSION_MINOR@
QT.dtklog.PATCH_VERSION = @PROJECT_VERSION_PATCH@
QT.dtklog.name = dtklog
QT.dtklog.module = dtk@DTK_VERSION_MAJOR@log
QT.dtklog.VERSION = @DTK_VERSION@
QT.dtklog.MAJOR_VERSION = @DTK_VERSION_MAJOR@
QT.dtklog.MINOR_VERSION = @DTK_VERSION_MINOR@
QT.dtklog.PATCH_VERSION = @DTK_VERSION_PATCH@
QT.dtklog.name = dtk@DTK_NAME_SUFFIX@log
QT.dtklog.module = dtk@DTK_NAME_SUFFIX@log
QT.dtklog.libs = @CMAKE_INSTALL_PREFIX@/@LIBRARY_INSTALL_DIR@
QT.dtklog.includes = @CMAKE_INSTALL_PREFIX@/@INCLUDE_INSTALL_DIR@
QT.dtklog.frameworks =
Expand Down
Loading