annotate CMakeLists.txt @ 1070:f110a3f6e387

(issue114) Fine tune ACL propagation using mkdir_p the ACL of the parent directories would propagate to all subdirectories and objects in the directory. Now we only use ACL propagation in the last directory to make sure that files we might create in that directory inherit the correct (resitricted) ACL
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 10 Sep 2014 16:41:36 +0200
parents 8fb1b912fd8e
children 1c1964c27b39 fc4e1fe4e4d4
rev   line source
405
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 363
diff changeset
1 # Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 363
diff changeset
2 # Software engineering by Intevation GmbH
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 363
diff changeset
3 #
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 363
diff changeset
4 # This file is Free Software under the GNU GPL (v>=2)
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 363
diff changeset
5 # and comes with ABSOLUTELY NO WARRANTY!
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 363
diff changeset
6 # See LICENSE.txt for details.
35d6b371ba63 Add License header for CMake and shell scripts
Andre Heinecke <aheinecke@intevation.de>
parents: 363
diff changeset
7
0
cb0cde2c5eb9 Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
8 cmake_minimum_required(VERSION 2.8.8)
409
09bb19e5e369 Remove m13 mentions and change test certificate to intevation.de
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
9 project(trustbridge)
0
cb0cde2c5eb9 Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
10
34
bee7d274c4dc Check for polarssl. Add release option to build with other certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 26
diff changeset
11 option(DO_RELEASE_BUILD "Build for a public release." OFF)
37
00aa5fa3c2fb Build System maintainance. Correct integration of Polarssl.
Andre Heinecke <aheinecke@intevation.de>
parents: 34
diff changeset
12 option(ENABLE_PROFILING "Set to enable profiling." OFF)
952
e33a061977c8 (issue41) Default to curl also on Windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 933
diff changeset
13 option(USE_CURL "Use libcurl to download updates and certificate lists." ON)
34
bee7d274c4dc Check for polarssl. Add release option to build with other certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 26
diff changeset
14
994
8fb1b912fd8e Add test using the default download server used by the software
Andre Heinecke <andre.heinecke@intevation.de>
parents: 952
diff changeset
15 set(DOWNLOAD_SERVER "https://files.intevation.de:443" CACHE STRING "Used as download server" )
26
cbd57d767dfa Move layout around. Restructure CMakeLists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 25
diff changeset
16 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
cbd57d767dfa Move layout around. Restructure CMakeLists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 25
diff changeset
17
74
7ed285380301 Add cmake policy for adding qtmain on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 58
diff changeset
18 #Old qtmain linking behavior to be compatible with cmake versions < 2.8.11
106
37198bd07182 Check for policy CMP0020 before setting it
Andre Heinecke <aheinecke@intevation.de>
parents: 104
diff changeset
19
37198bd07182 Check for policy CMP0020 before setting it
Andre Heinecke <aheinecke@intevation.de>
parents: 104
diff changeset
20 if(POLICY CMP0020)
37198bd07182 Check for policy CMP0020 before setting it
Andre Heinecke <aheinecke@intevation.de>
parents: 104
diff changeset
21 cmake_policy(SET CMP0020 OLD)
37198bd07182 Check for policy CMP0020 before setting it
Andre Heinecke <aheinecke@intevation.de>
parents: 104
diff changeset
22 endif()
74
7ed285380301 Add cmake policy for adding qtmain on Windows
Andre Heinecke <aheinecke@intevation.de>
parents: 58
diff changeset
23
24
de67047ca229 Add documentation generation
Andre Heinecke <aheinecke@intevation.de>
parents: 22
diff changeset
24 include(CTest)
26
cbd57d767dfa Move layout around. Restructure CMakeLists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 25
diff changeset
25 include(GenerateCppcheck)
495
7a8f5b85fd9a Dynamically generate version information from HG
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
26 include(HGVersion)
7a8f5b85fd9a Dynamically generate version information from HG
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
27
7a8f5b85fd9a Dynamically generate version information from HG
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
28 if(HG_REVISION)
7a8f5b85fd9a Dynamically generate version information from HG
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
29 set(PROJECT_VERSION ${HG_REVISION})
7a8f5b85fd9a Dynamically generate version information from HG
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
30 else()
7a8f5b85fd9a Dynamically generate version information from HG
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
31 set(PROJECT_VERSION unknown)
7a8f5b85fd9a Dynamically generate version information from HG
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
32 endif()
7a8f5b85fd9a Dynamically generate version information from HG
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
33
7a8f5b85fd9a Dynamically generate version information from HG
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
34 add_definitions(-DVERSION="${PROJECT_VERSION}")
0
cb0cde2c5eb9 Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
35
34
bee7d274c4dc Check for polarssl. Add release option to build with other certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 26
diff changeset
36 find_package(PolarSSL)
104
2a031ac963b0 Check for qt before including UI
Andre Heinecke <aheinecke@intevation.de>
parents: 75
diff changeset
37 include_directories(${POLARSSL_INCLUDE_DIR})
2a031ac963b0 Check for qt before including UI
Andre Heinecke <aheinecke@intevation.de>
parents: 75
diff changeset
38
2a031ac963b0 Check for qt before including UI
Andre Heinecke <aheinecke@intevation.de>
parents: 75
diff changeset
39 find_package(Qt5Widgets)
34
bee7d274c4dc Check for polarssl. Add release option to build with other certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 26
diff changeset
40
834
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
41 if (NOT WIN32)
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
42 find_package(NSS)
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
43 else ()
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
44 # Use static NSS for Windows
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
45 if (NOT EXISTS "${CMAKE_SOURCE_DIR}/nss-cmake-static")
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
46 MESSAGE(FATAL_ERROR "Could not find nss-cmake-static checkout. Please run: \n hg clone https://wald.intevation.org/hg/trustbridge/nss-cmake-static '${CMAKE_SOURCE_DIR}/nss-cmake-static'")
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
47 endif()
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
48 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/nss-cmake-static/")
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
49 set(NSS_STATIC_PATH "${CMAKE_SOURCE_DIR}/nss-cmake-static")
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
50 include (nss-cmake-static)
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
51 endif()
307
2fd69803d219 Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents: 171
diff changeset
52
0
cb0cde2c5eb9 Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
53 # Use cmake's automoc and make sure the generated files are included
cb0cde2c5eb9 Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
54 set(CMAKE_AUTOMOC ON)
cb0cde2c5eb9 Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
55 set(CMAKE_INCLUDE_CURRENT_DIR ON)
cb0cde2c5eb9 Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
56
34
bee7d274c4dc Check for polarssl. Add release option to build with other certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 26
diff changeset
57 if(DO_RELEASE_BUILD)
bee7d274c4dc Check for polarssl. Add release option to build with other certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 26
diff changeset
58 if (NOT CMAKE_BUILD_TYPE)
bee7d274c4dc Check for polarssl. Add release option to build with other certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 26
diff changeset
59 set (CMAKE_BUILD_TYPE RELEASE)
bee7d274c4dc Check for polarssl. Add release option to build with other certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 26
diff changeset
60 endif (NOT CMAKE_BUILD_TYPE)
171
04c1e0188ac3 Fixed RELEASE_BUILD define.
Sascha Wilde <wilde@intevation.de>
parents: 106
diff changeset
61 add_definitions (-DRELEASE_BUILD)
34
bee7d274c4dc Check for polarssl. Add release option to build with other certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 26
diff changeset
62 else()
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents: 4
diff changeset
63 # Default to debug build
34
bee7d274c4dc Check for polarssl. Add release option to build with other certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 26
diff changeset
64 if (NOT CMAKE_BUILD_TYPE)
bee7d274c4dc Check for polarssl. Add release option to build with other certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 26
diff changeset
65 set (CMAKE_BUILD_TYPE Debug)
58
ad61489ce593 Set -g for debug builds
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
66 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
ad61489ce593 Set -g for debug builds
Andre Heinecke <aheinecke@intevation.de>
parents: 37
diff changeset
67 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
34
bee7d274c4dc Check for polarssl. Add release option to build with other certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 26
diff changeset
68 endif (NOT CMAKE_BUILD_TYPE)
bee7d274c4dc Check for polarssl. Add release option to build with other certificates
Andre Heinecke <andre.heinecke@intevation.de>
parents: 26
diff changeset
69 endif()
7
992c0ec57660 Add unit tests make CertificateList work.
Andre Heinecke <aheinecke@intevation.de>
parents: 4
diff changeset
70
1
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
71 # Warn level to be used for privileged parts
13
e26f9cc93601 Also add Wall to GUI components. Link with crypto32 on windows
Andre Heinecke <aheinecke@intevation.de>
parents: 11
diff changeset
72 set(WARN_HARDENING_FLAGS " -Wextra -Wconversion -Wformat-security")
1
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
73
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
74 # Hardening flags
834
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
75 set(HARDENING_FLAGS " -Wall -fstack-protector-all -fno-exceptions")
1
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
76 set(HARDENING_FLAGS " ${HARDENING_FLAGS} -Wstack-protector")
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
77 set(HARDENING_FLAGS " ${HARDENING_FLAGS} --param ssp-buffer-size=4")
26
cbd57d767dfa Move layout around. Restructure CMakeLists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 25
diff changeset
78 set(HARDENING_FLAGS " ${HARDENING_FLAGS} -D_FORTIFY_SOURCE=2 -O0")
24
de67047ca229 Add documentation generation
Andre Heinecke <aheinecke@intevation.de>
parents: 22
diff changeset
79
37
00aa5fa3c2fb Build System maintainance. Correct integration of Polarssl.
Andre Heinecke <aheinecke@intevation.de>
parents: 34
diff changeset
80 if(ENABLE_PROFILING)
00aa5fa3c2fb Build System maintainance. Correct integration of Polarssl.
Andre Heinecke <aheinecke@intevation.de>
parents: 34
diff changeset
81 set(PROFILING_FLAGS "-fprofile-arcs -ftest-coverage")
00aa5fa3c2fb Build System maintainance. Correct integration of Polarssl.
Andre Heinecke <aheinecke@intevation.de>
parents: 34
diff changeset
82 set(PROFILING_LIBS gcov)
00aa5fa3c2fb Build System maintainance. Correct integration of Polarssl.
Andre Heinecke <aheinecke@intevation.de>
parents: 34
diff changeset
83 endif()
26
cbd57d767dfa Move layout around. Restructure CMakeLists
Andre Heinecke <andre.heinecke@intevation.de>
parents: 25
diff changeset
84
363
d10d9bc2e84f Update Windows api usage. Warning: To build on windows you need
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
85 if(WIN32)
d10d9bc2e84f Update Windows api usage. Warning: To build on windows you need
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
86 add_definitions(-D_WIN32_WINNT=0x0600) # Windows vista
d10d9bc2e84f Update Windows api usage. Warning: To build on windows you need
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
87 add_definitions(-DWINVER=0x0600)
d10d9bc2e84f Update Windows api usage. Warning: To build on windows you need
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
88 add_definitions(-DMINGW_HAS_SECURE_API) # for _s functions
d10d9bc2e84f Update Windows api usage. Warning: To build on windows you need
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
89 endif(WIN32)
d10d9bc2e84f Update Windows api usage. Warning: To build on windows you need
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
90
0
cb0cde2c5eb9 Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
91 if(UNIX)
4
9849250f50f2 Start implementation of certificatelist parser
Andre Heinecke <aheinecke@intevation.de>
parents: 1
diff changeset
92 set(HARDENING_FLAGS " ${HARDENING_FLAGS} -pie -fPIE -ftrapv")
9849250f50f2 Start implementation of certificatelist parser
Andre Heinecke <aheinecke@intevation.de>
parents: 1
diff changeset
93 set(HARDENING_FLAGS " ${HARDENING_FLAGS} -Wl,-z,relro,-z,now")
0
cb0cde2c5eb9 Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
94 elseif(WIN32)
4
9849250f50f2 Start implementation of certificatelist parser
Andre Heinecke <aheinecke@intevation.de>
parents: 1
diff changeset
95 set(HARDENING_FLAGS " ${HARDENING_FLAGS} -Wl,--dynamicbase -Wl,--nxcompat")
0
cb0cde2c5eb9 Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
96 endif()
cb0cde2c5eb9 Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
97
75
ec0f4efefb7b Add profiling options for all C/CXX code if requested
Andre Heinecke <aheinecke@intevation.de>
parents: 74
diff changeset
98 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${HARDENING_FLAGS} ${PROFILING_FLAGS}")
ec0f4efefb7b Add profiling options for all C/CXX code if requested
Andre Heinecke <aheinecke@intevation.de>
parents: 74
diff changeset
99 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARN_HARDENING_FLAGS} ${HARDENING_FLAGS} ${PROFILING_FLAGS}")
1
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
100
37
00aa5fa3c2fb Build System maintainance. Correct integration of Polarssl.
Andre Heinecke <aheinecke@intevation.de>
parents: 34
diff changeset
101 add_custom_target(static_check)
00aa5fa3c2fb Build System maintainance. Correct integration of Polarssl.
Andre Heinecke <aheinecke@intevation.de>
parents: 34
diff changeset
102
1
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
103 # FlawFinder
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
104 find_program(FLAWFINDER_PATH flawfinder DOC "flawfinder path")
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
105 if (FLAWFINDER_PATH)
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
106 add_custom_target(flawfinder COMMENT "FlawFinder" VERBATIM COMMAND ${FLAWFINDER_PATH}
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
107 ${CMAKE_SOURCE_DIR}/ui
18
f4f957c58e0a Move listuitol and add cert pinning with a test certificate
Andre Heinecke <aheinecke@intevation.de>
parents: 13
diff changeset
108 ${CMAKE_SOURCE_DIR}/cinst
25
92108a2120f1 Move certificatelist to common. Add cinst directory
Andre Heinecke <aheinecke@intevation.de>
parents: 24
diff changeset
109 ${CMAKE_SOURCE_DIR}/common
1
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
110 )
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
111 add_dependencies(static_check flawfinder)
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
112 endif (FLAWFINDER_PATH)
524cd4908656 Build infrastructure
Andre Heinecke <aheinecke@intevation.de>
parents: 0
diff changeset
113
834
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
114 if(WIN32)
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
115 add_subdirectory(nss-cmake-static)
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
116 add_definitions(-D_WIN32_WINNT=0x0600) # Windows vista. NSS defines its own winver.
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
117 endif()
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
118
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
119 # No chance to compile nss with -Werror
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
120 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
121 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 795
diff changeset
122
618
7dfa4555fb89 Include common before ui to make common targets known
Andre Heinecke <andre.heinecke@intevation.de>
parents: 557
diff changeset
123 add_subdirectory(common)
7dfa4555fb89 Include common before ui to make common targets known
Andre Heinecke <andre.heinecke@intevation.de>
parents: 557
diff changeset
124
25
92108a2120f1 Move certificatelist to common. Add cinst directory
Andre Heinecke <aheinecke@intevation.de>
parents: 24
diff changeset
125 add_subdirectory(cinst)
104
2a031ac963b0 Check for qt before including UI
Andre Heinecke <aheinecke@intevation.de>
parents: 75
diff changeset
126 if(Qt5Widgets_FOUND)
2a031ac963b0 Check for qt before including UI
Andre Heinecke <aheinecke@intevation.de>
parents: 75
diff changeset
127 add_subdirectory(ui)
2a031ac963b0 Check for qt before including UI
Andre Heinecke <aheinecke@intevation.de>
parents: 75
diff changeset
128 else()
2a031ac963b0 Check for qt before including UI
Andre Heinecke <aheinecke@intevation.de>
parents: 75
diff changeset
129 message(STATUS "WARNING: Could not find qt. GUI parts will not be built.")
2a031ac963b0 Check for qt before including UI
Andre Heinecke <aheinecke@intevation.de>
parents: 75
diff changeset
130 endif()
2a031ac963b0 Check for qt before including UI
Andre Heinecke <aheinecke@intevation.de>
parents: 75
diff changeset
131
24
de67047ca229 Add documentation generation
Andre Heinecke <aheinecke@intevation.de>
parents: 22
diff changeset
132 # Documentation
de67047ca229 Add documentation generation
Andre Heinecke <aheinecke@intevation.de>
parents: 22
diff changeset
133 configure_file (doc/Doxyfile.in doc/Doxyfile)
de67047ca229 Add documentation generation
Andre Heinecke <aheinecke@intevation.de>
parents: 22
diff changeset
134 add_subdirectory(doc)
495
7a8f5b85fd9a Dynamically generate version information from HG
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
135
933
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 914
diff changeset
136 find_package(Sphinx)
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 914
diff changeset
137
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 914
diff changeset
138 if (NOT SPHINX_FOUND)
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 914
diff changeset
139 message (STATUS "WARNING could not find sphinx (Package python-sphinx). Manuals will not be built.")
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 914
diff changeset
140 else()
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 914
diff changeset
141 add_subdirectory(manuals)
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 914
diff changeset
142 endif()
af27328bea9d (issue89) Add sphinx integration for the build system.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 914
diff changeset
143
495
7a8f5b85fd9a Dynamically generate version information from HG
Andre Heinecke <aheinecke@intevation.de>
parents: 409
diff changeset
144 # Configure packaging script for testing
861
3ae7ad044566 Commit name change in configure file.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
145 configure_file (packaging/win-createpackage.sh.in packaging/win-createpackage.sh @ONLY)
760
438d7c88104f Add create-dist-package script to create a package suitable for trustbridge-admin
Andre Heinecke <andre.heinecke@intevation.de>
parents: 680
diff changeset
146 configure_file (packaging/create-dist-package.sh.in packaging/create-dist-package.sh @ONLY)
680
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents: 618
diff changeset
147 configure_file (packaging/linux-createpackage.sh.in packaging/linux-createpackage.sh @ONLY)
a5a709c6ce93 Added minimal shar based installer for linux.
Sascha Wilde <wilde@intevation.de>
parents: 618
diff changeset
148 configure_file (packaging/linux-installer.inc.in packaging/linux-installer.inc @ONLY)
795
3a9b0c75f5a6 Added i18n code and german l10n to linux installer.
Sascha Wilde <wilde@intevation.de>
parents: 760
diff changeset
149 configure_file (packaging/linux-installer.l10n-de packaging/linux-installer.l10n-de COPYONLY)
557
5cd525fc91de Add lcov target to generate coverage report
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
150
5cd525fc91de Add lcov target to generate coverage report
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
151 if (ENABLE_PROFILING)
5cd525fc91de Add lcov target to generate coverage report
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
152 configure_file (make-coverage.sh.in make-coverage.sh)
5cd525fc91de Add lcov target to generate coverage report
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
153 add_custom_target(lcov COMMENT "Lcov coverage report" VERBATIM COMMAND /bin/bash
5cd525fc91de Add lcov target to generate coverage report
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
154 ${CMAKE_CURRENT_BINARY_DIR}/make-coverage.sh
5cd525fc91de Add lcov target to generate coverage report
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
155 )
5cd525fc91de Add lcov target to generate coverage report
Andre Heinecke <aheinecke@intevation.de>
parents: 500
diff changeset
156 endif()

http://wald.intevation.org/projects/trustbridge/