-
Notifications
You must be signed in to change notification settings - Fork 10
/
CMakeLists.txt
57 lines (48 loc) · 2.01 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
cmake_minimum_required(VERSION 3.16.0)
project(k4dirstat)
function(git_version output_variable default_version strip_string)
option(K4DIRSTAT_GIT_VERSION "Get the version string from git describe" ON)
if(K4DIRSTAT_GIT_VERSION)
find_package(Git)
if(GIT_FOUND)
execute_process(COMMAND "${GIT_EXECUTABLE}"
describe --dirty=-dirty --always --tags
OUTPUT_VARIABLE _GIT_DESCRIBE ERROR_QUIET)
if(_GIT_DESCRIBE)
string(REPLACE ${strip_string} "" ${output_variable} ${_GIT_DESCRIBE})
string(STRIP ${${output_variable}} ${output_variable})
endif()
endif()
endif()
if(NOT ${output_variable})
# It would be better use only git and add a make dist target for Linux distro
# but this would require to upload dist tarball on Bitbucket and I prefere using
# the Bitbucket download tag feature.
set(${output_variable} ${default_version})
endif()
message(STATUS "Version string is ${${output_variable}}")
add_definitions(-D${output_variable}=${${output_variable}})
endfunction()
include(CheckCCompilerFlag)
check_c_compiler_flag(-Wl,--as-needed has_as_needed)
if (has_as_needed)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed")
endif()
find_package(ECM REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings)
include(FeatureSummary)
find_package(Qt5 REQUIRED COMPONENTS Widgets)
find_package(KF5 REQUIRED COMPONENTS CoreAddons I18n DocTools XmlGui KIO JobWidgets IconThemes)
find_package(ZLIB)
ADD_DEFINITIONS(-D_LARGE_FILES -D_FILE_OFFSET_BITS=64)
add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
add_definitions(-DQT_USE_QSTRINGBUILDER)
git_version(K4DIRSTAT_VERSION 3.4.3 k4dirstat-)
add_subdirectory( doc )
add_subdirectory( src )
add_subdirectory( icons )
add_subdirectory( po )
install(FILES k4dirstat.1 DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")