Skip to content

Commit e263fd7

Browse files
sync: from linuxdeepin/dtkcore
Synchronize source files from linuxdeepin/dtkcore. Source-pull-request: linuxdeepin/dtkcore#531
1 parent 52314ed commit e263fd7

File tree

29 files changed

+2634
-1318
lines changed

29 files changed

+2634
-1318
lines changed

CMakeLists.txt

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
cmake_minimum_required (VERSION 3.13)
22

3-
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" DTK_FILE_VERSION)
4-
string(STRIP "${DTK_FILE_VERSION}" DTK_FILE_VERSION)
5-
set(DTK_VERSION "${DTK_FILE_VERSION}" CACHE STRING "DTK version")
3+
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" FILE_VERSION)
4+
string(STRIP "${FILE_VERSION}" FILE_VERSION)
65

76
project (DtkCore
8-
VERSION ${DTK_VERSION}
7+
VERSION ${FILE_VERSION}
98
DESCRIPTION "DTK Core module"
109
HOMEPAGE_URL "https://github.com/linuxdeepin/dtkcore"
1110
LANGUAGES CXX C
@@ -18,13 +17,19 @@ endif ()
1817
include(GNUInstallDirs)
1918
include(CMakePackageConfigHelpers)
2019

21-
if("${PROJECT_VERSION_MAJOR}" STREQUAL "5")
22-
set(QT_VERSION_MAJOR "5")
23-
elseif("${PROJECT_VERSION_MAJOR}" STREQUAL "6")
24-
set(QT_VERSION_MAJOR "6")
25-
set(DTK_VERSION_MAJOR "6")
20+
option(DTK5 "Build DTK5." ON)
21+
if(DTK5)
22+
set(DTK_VERSION_MAJOR "5")
23+
set(DTK_NAME_SUFFIX "") # Empty name suffix for DTK5 products.
2624
else()
27-
message(SEND_ERROR "not support Prject Version ${PROJECT_VERSION}.")
25+
set(DTK_VERSION_MAJOR "6")
26+
set(DTK_NAME_SUFFIX "6")
2827
endif()
2928

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+
# Officially, DTK5 uses QT5, DTK6 uses QT6
33+
set(QT_VERSION_MAJOR ${DTK_VERSION_MAJOR})
34+
3035
include(dtkcore.cmake)

cmake/DtkCMake/DtkCMakeConfig.cmake.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ endfunction()
66
add_definitions(-DQ_HOST_NAME=\"${CMAKE_HOST_SYSTEM_PROCESSOR}\")
77
addDefinitions(Q_HOST_${CMAKE_HOST_SYSTEM_PROCESSOR})
88

9-
find_package(Dtk@DTK_VERSION_MAJOR@Core REQUIRED)
9+
find_package(Dtk@DTK_NAME_SUFFIX@Core REQUIRED)
1010

1111
set(DEEPIN_OS_RELEASE_TOOL_PATH ${DtkCore_TOOL_DIRS})
1212
set(DEEPIN_OS_RELEASE_TOOL ${DEEPIN_OS_RELEASE_TOOL_PATH}/deepin-os-release)
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
include(CMakeFindDependencyMacro)
2-
find_dependency(Dtk@DTK_VERSION_MAJOR@Core REQUIRED)
2+
find_dependency(Dtk@DTK_NAME_SUFFIX@Core REQUIRED)
33

44
set (DTK_SETTINGS_TOOLS_EXECUTABLE ${DtkCore_TOOL_DIRS}/dtk-settings)
55

66
if (EXISTS ${DTK_SETTINGS_TOOLS_EXECUTABLE})
77
set(DTK_SETTINGS_TOOLS_FOUND TRUE)
88
endif ()
99

10-
include("${CMAKE_CURRENT_LIST_DIR}/Dtk@DTK_VERSION_MAJOR@SettingsToolsMacros.cmake")
11-
include("${CMAKE_CURRENT_LIST_DIR}/Dtk@DTK_VERSION_MAJOR@ToolsTargets.cmake")
10+
include("${CMAKE_CURRENT_LIST_DIR}/Dtk@DTK_NAME_SUFFIX@SettingsToolsMacros.cmake")
11+
include("${CMAKE_CURRENT_LIST_DIR}/Dtk@DTK_NAME_SUFFIX@ToolsTargets.cmake")
1212
include("${CMAKE_CURRENT_LIST_DIR}/DtkDBusMacros.cmake")
1313
include("${CMAKE_CURRENT_LIST_DIR}/DtkDConfigMacros.cmake")
1414

15-
get_target_property(DTK_XML2CPP Dtk@DTK_VERSION_MAJOR@::Xml2Cpp LOCATION)
16-
get_target_property(DTK_DCONFIG2CPP Dtk@DTK_VERSION_MAJOR@::DConfig2Cpp LOCATION)
15+
get_target_property(DTK_XML2CPP Dtk@DTK_NAME_SUFFIX@::Xml2Cpp LOCATION)
16+
get_target_property(DTK_DCONFIG2CPP Dtk@DTK_NAME_SUFFIX@::DConfig2Cpp LOCATION)

docs/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ set (DOXYGEN_GENERATE_HTML YES CACHE STRING "Doxygen HTML output")
77
set (DOXYGEN_GENERATE_XML YES CACHE STRING "Doxygen XML output")
88
set (DOXYGEN_GENERATE_QHP YES CACHE STRING "Doxygen QHP output")
99
set (DOXYGEN_FILE_PATTERNS *.cpp *.h *.zh_CN.md *.zh_CN.dox CACHE STRING "Doxygen File Patterns")
10-
set (DOXYGEN_PROJECT_NUMBER ${CMAKE_PROJECT_VERSION} CACHE STRING "") # Should be the same as this project is using.
10+
set (DOXYGEN_PROJECT_NUMBER ${DTK_VERSION} CACHE STRING "") # Should be the same as this project is using.
1111
set (DOXYGEN_EXTRACT_STATIC YES)
1212
set (DOXYGEN_OUTPUT_LANGUAGE "Chinese")
1313

dtkcore.cmake

Lines changed: 27 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
1-
set(LIB_NAME dtk${DTK_VERSION_MAJOR}core)
2-
set(DtkCore Dtk${DTK_VERSION_MAJOR}Core)
1+
set(LIB_NAME dtk${DTK_NAME_SUFFIX}core)
2+
set(DtkCore Dtk${DTK_NAME_SUFFIX}Core)
33

44
macro(add_sub_dir dir)
5-
# message("add_subdirectory(${dir} ${OUTPUT_DIR}/${dir})")
65
add_subdirectory(${dir} ${OUTPUT_DIR}/${dir})
76
endmacro()
87

9-
message("Current Qt Version: ${QT_VERSION_MAJOR}")
10-
message("Current Dtk Version: ${DTK_VERSION_MAJOR}")
8+
message(STATUS "Compiling with DTK major version: ${DTK_VERSION_MAJOR}, Qt major version: ${QT_VERSION_MAJOR}")
119

1210
set(OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
1311
set (LIBRARY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}")
14-
set (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/dtk${PROJECT_VERSION_MAJOR}/DCore")
15-
set (TOOL_INSTALL_DIR "${CMAKE_INSTALL_LIBEXECDIR}/dtk${PROJECT_VERSION_MAJOR}/DCore/bin")
12+
set (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/dtk${DTK_VERSION_MAJOR}/DCore")
13+
set (TOOL_INSTALL_DIR "${CMAKE_INSTALL_LIBEXECDIR}/dtk${DTK_VERSION_MAJOR}/DCore/bin")
1614
set (MKSPECS_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/qt${QT_VERSION_MAJOR}/mkspecs/modules" CACHE STRING "Install dir for qt pri files")
1715
set (FEATURES_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/qt${QT_VERSION_MAJOR}/mkspecs/features" CACHE STRING "Install dir for qt prf files")
1816
set (CONFIG_CMAKE_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${DtkCore}" CACHE STRING "Install dir for cmake config files")
@@ -21,6 +19,7 @@ set (DSYSINFO_PREFIX "" CACHE STRING "PREFIX of DSysInfo")
2119

2220
set (BUILD_EXAMPLES ON CACHE BOOL "Build examples")
2321
set (BUILD_VERSION "0" CACHE STRING "buildversion")
22+
option(BUIILD_TESTING "Build tests" OFF)
2423

2524
if(UNIX AND NOT APPLE)
2625
set(LINUX TRUE)
@@ -40,9 +39,6 @@ else()
4039
# dtk6 not build doc
4140
set (BUILD_DOCS OFF CACHE BOOL "Generate doxygen-based documentation")
4241
endif()
43-
if (NOT CMAKE_BUILD_TYPE)
44-
set(CMAKE_BUILD_TYPE Release)
45-
endif()
4642

4743
if(NOT MSVC)
4844
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall -Wextra")
@@ -74,35 +70,31 @@ if(BUILD_EXAMPLES)
7470
endif()
7571
add_sub_dir(tools)
7672

77-
if("${QT_VERSION_MAJOR}" STREQUAL "6")
78-
set(DTK_VERSION_MAJOR 6)
79-
endif()
80-
8173
configure_package_config_file(cmake/DtkCMake/DtkCMakeConfig.cmake.in
82-
${CMAKE_CURRENT_BINARY_DIR}/cmake/DtkCMake/Dtk${DTK_VERSION_MAJOR}CMakeConfig.cmake
83-
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_VERSION_MAJOR}CMake"
74+
${CMAKE_CURRENT_BINARY_DIR}/cmake/DtkCMake/Dtk${DTK_NAME_SUFFIX}CMakeConfig.cmake
75+
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_NAME_SUFFIX}CMake"
8476
PATH_VARS TOOL_INSTALL_DIR)
85-
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/DtkCMake/Dtk${DTK_VERSION_MAJOR}CMakeConfig.cmake
86-
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_VERSION_MAJOR}CMake")
77+
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/DtkCMake/Dtk${DTK_NAME_SUFFIX}CMakeConfig.cmake
78+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_NAME_SUFFIX}CMake")
8779

8880
configure_package_config_file(cmake/DtkTools/DtkToolsConfig.cmake.in
89-
${CMAKE_CURRENT_BINARY_DIR}/cmake/DtkTools/Dtk${DTK_VERSION_MAJOR}ToolsConfig.cmake
90-
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_VERSION_MAJOR}Tools
81+
${CMAKE_CURRENT_BINARY_DIR}/cmake/DtkTools/Dtk${DTK_NAME_SUFFIX}ToolsConfig.cmake
82+
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_NAME_SUFFIX}Tools
9183
PATH_VARS TOOL_INSTALL_DIR)
92-
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/DtkTools/Dtk${DTK_VERSION_MAJOR}ToolsConfig.cmake
93-
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_VERSION_MAJOR}Tools")
84+
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/DtkTools/Dtk${DTK_NAME_SUFFIX}ToolsConfig.cmake
85+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_NAME_SUFFIX}Tools")
9486

9587
install(FILES cmake/DtkTools/DtkSettingsToolsMacros.cmake
96-
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_VERSION_MAJOR}Tools"
97-
RENAME Dtk${DTK_VERSION_MAJOR}SettingsToolsMacros.cmake)
88+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_NAME_SUFFIX}Tools"
89+
RENAME Dtk${DTK_NAME_SUFFIX}SettingsToolsMacros.cmake)
9890

9991
install(FILES cmake/DtkTools/DtkDBusMacros.cmake
100-
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_VERSION_MAJOR}Tools")
92+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_NAME_SUFFIX}Tools")
10193

10294
install(FILES ${CMAKE_SOURCE_DIR}/cmake/DtkTools/DtkDConfigMacros.cmake
103-
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_VERSION_MAJOR}Tools")
95+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_NAME_SUFFIX}Tools")
10496

105-
if (NOT DTK_VERSION_MAJOR)
97+
if (NOT DTK5)
10698
set(DCONFIG_DEPRECATED_FUNCS [=[
10799
# deprecated since dtk6
108100
function(dconfig_meta_files)
@@ -114,11 +106,11 @@ endfunction()]=])
114106
endif()
115107

116108
configure_package_config_file(cmake/DtkDConfig/DtkDConfigConfig.cmake.in
117-
${CMAKE_CURRENT_BINARY_DIR}/cmake/DtkDConfig/Dtk${DTK_VERSION_MAJOR}DConfigConfig.cmake
118-
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_VERSION_MAJOR}DConfig"
109+
${CMAKE_CURRENT_BINARY_DIR}/cmake/DtkDConfig/Dtk${DTK_NAME_SUFFIX}DConfigConfig.cmake
110+
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_NAME_SUFFIX}DConfig"
119111
PATH_VARS TOOL_INSTALL_DIR)
120-
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/DtkDConfig/Dtk${DTK_VERSION_MAJOR}DConfigConfig.cmake
121-
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_VERSION_MAJOR}DConfig")
112+
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/DtkDConfig/Dtk${DTK_NAME_SUFFIX}DConfigConfig.cmake
113+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Dtk${DTK_NAME_SUFFIX}DConfig")
122114

123115
configure_package_config_file(misc/DtkCoreConfig.cmake.in
124116
${CMAKE_CURRENT_BINARY_DIR}/${DtkCore}Config.cmake
@@ -141,11 +133,11 @@ install(FILES misc/dtk_install_dconfig.prf DESTINATION ${FEATURES_INSTALL_DIR})
141133
set(CONFIGNAME ${PROJECT_BINARY_DIR}/dtkcore_config.h)
142134
file(WRITE ${CONFIGNAME}
143135
"// it is auto make config\n"
144-
"#define DTK_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}\n"
145-
"#define DTK_VERSION_MINOR ${PROJECT_VERSION_MINOR}\n"
146-
"#define DTK_VERSION_PATCH ${PROJECT_VERSION_PATCH}\n"
136+
"#define DTK_VERSION_MAJOR ${DTK_VERSION_MAJOR}\n"
137+
"#define DTK_VERSION_MINOR ${DTK_VERSION_MINOR}\n"
138+
"#define DTK_VERSION_PATCH ${DTK_VERSION_PATCH}\n"
147139
"#define DTK_VERSION_BUILD ${BUILD_VERSION}\n"
148-
"#define DTK_VERSION_STR \"${PROJECT_VERSION}\"\n"
140+
"#define DTK_VERSION_STR \"${DTK_VERSION}\"\n"
149141
"\n"
150142
)
151143
file(GLOB CONFIGSOURCE include/DtkCore/*)

examples/dlog-example/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set(BIN_NAME dlog${DTK_VERSION_MAJOR})
1+
set(BIN_NAME dlog${DTK_NAME_SUFFIX})
22
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
33
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core)
44

examples/expintf-example/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set(BIN_NAME exprintf${DTK_VERSION_MAJOR})
1+
set(BIN_NAME exprintf${DTK_NAME_SUFFIX})
22
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
33
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS DBus)
44

examples/filewatcher-example/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set(BIN_NAME filewatcher${DTK_VERSION_MAJOR})
1+
set(BIN_NAME filewatcher${DTK_NAME_SUFFIX})
22

33
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core)
44

examples/textcodec-example/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set(BIN_NAME textcodec${DTK_VERSION_MAJOR})
1+
set(BIN_NAME textcodec${DTK_NAME_SUFFIX})
22

33
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core)
44

misc/DtkCoreConfig.cmake.in

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ endif()
66
include(CMakeFindDependencyMacro)
77
find_dependency(Qt@QT_VERSION_MAJOR@Core)
88
find_dependency(Qt@QT_VERSION_MAJOR@Xml)
9-
find_dependency(Dtk@DTK_VERSION_MAJOR@Log)
9+
find_dependency(Dtk@DTK_NAME_SUFFIX@Log)
1010

1111
if (LINUX)
1212
find_dependency(Qt@QT_VERSION_MAJOR@DBus)
1313
endif()
14-
find_dependency(Dtk@DTK_VERSION_MAJOR@DConfig)
15-
include(${CMAKE_CURRENT_LIST_DIR}/Dtk@DTK_VERSION_MAJOR@CoreTargets.cmake)
14+
find_dependency(Dtk@DTK_NAME_SUFFIX@DConfig)
15+
include(${CMAKE_CURRENT_LIST_DIR}/Dtk@DTK_NAME_SUFFIX@CoreTargets.cmake)
1616

17-
set(DtkCore_LIBRARIES Dtk@DTK_VERSION_MAJOR@::Core)
18-
get_target_property(DtkCore_INCLUDE_DIRS Dtk@DTK_VERSION_MAJOR@::Core INTERFACE_INCLUDE_DIRECTORIES)
19-
get_target_property(DtkCore_LIBRARY_DIRS Dtk@DTK_VERSION_MAJOR@::Core INTERFACE_LINK_DIRECTORIES)
17+
set(DtkCore_LIBRARIES Dtk@DTK_NAME_SUFFIX@::Core)
18+
get_target_property(DtkCore_INCLUDE_DIRS Dtk@DTK_NAME_SUFFIX@::Core INTERFACE_INCLUDE_DIRECTORIES)
19+
get_target_property(DtkCore_LIBRARY_DIRS Dtk@DTK_NAME_SUFFIX@::Core INTERFACE_LINK_DIRECTORIES)
2020
set(DtkCore_TOOL_DIRS "@PACKAGE_TOOL_INSTALL_DIR@")
2121
check_required_components(DtkCore)
2222

0 commit comments

Comments
 (0)