annotate cinst/CMakeLists.txt @ 1208:0a803c3fb5a6

(issue138) Set the ACL explictly on existing files or directories
author Andre Heinecke <andre.heinecke@intevation.de>
date Tue, 23 Sep 2014 19:15:49 +0200
parents e978f655be34
children 60927efa48cc
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
101
7e2d08555112 Make cinst cmakelist relative so it can be used standalone
Andre Heinecke <aheinecke@intevation.de>
parents: 68
diff changeset
8 cmake_minimum_required(VERSION 2.8)
7e2d08555112 Make cinst cmakelist relative so it can be used standalone
Andre Heinecke <aheinecke@intevation.de>
parents: 68
diff changeset
9
25
92108a2120f1 Move certificatelist to common. Add cinst directory
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
10 set(CMAKE_AUTOMOC OFF)
92108a2120f1 Move certificatelist to common. Add cinst directory
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
11
101
7e2d08555112 Make cinst cmakelist relative so it can be used standalone
Andre Heinecke <aheinecke@intevation.de>
parents: 68
diff changeset
12 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../common)
37
00aa5fa3c2fb Build System maintainance. Correct integration of Polarssl.
Andre Heinecke <aheinecke@intevation.de>
parents: 25
diff changeset
13
1176
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
14 set(trustbridge-certificate-installer_SOURCES
137
4904fe01055d Factor out windows specific parts
Andre Heinecke <aheinecke@intevation.de>
parents: 124
diff changeset
15 ${CMAKE_CURRENT_SOURCE_DIR}/windowsstore.c
302
fac7e1b0e558 Add nss store calling function and use it in cinst
Andre Heinecke <andre.heinecke@intevation.de>
parents: 242
diff changeset
16 ${CMAKE_CURRENT_SOURCE_DIR}/nssstore_linux.c
324
eff8e7ce4dae Add first compiling implementation of nssstore_win.c
Andre Heinecke <aheinecke@intevation.de>
parents: 307
diff changeset
17 ${CMAKE_CURRENT_SOURCE_DIR}/nssstore_win.c
1176
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
18 ${CMAKE_CURRENT_SOURCE_DIR}/certificate-installer.c
25
92108a2120f1 Move certificatelist to common. Add cinst directory
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
19 )
1176
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
20 add_executable(trustbridge-certificate-installer ${trustbridge-certificate-installer_SOURCES})
25
92108a2120f1 Move certificatelist to common. Add cinst directory
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
21
68
8ffbb48528ae Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 59
diff changeset
22 if (WIN32)
363
d10d9bc2e84f Update Windows api usage. Warning: To build on windows you need
Andre Heinecke <aheinecke@intevation.de>
parents: 324
diff changeset
23 set(WIN_EXTRA_LIBS -lcrypt32 -luserenv -lshell32)
68
8ffbb48528ae Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 59
diff changeset
24 endif(WIN32)
37
00aa5fa3c2fb Build System maintainance. Correct integration of Polarssl.
Andre Heinecke <aheinecke@intevation.de>
parents: 25
diff changeset
25
1176
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
26 target_link_libraries(trustbridge-certificate-installer
408
ac9e95ef6966 rename m13_common to trustbridge_common
Andre Heinecke <aheinecke@intevation.de>
parents: 405
diff changeset
27 trustbridge_common
37
00aa5fa3c2fb Build System maintainance. Correct integration of Polarssl.
Andre Heinecke <aheinecke@intevation.de>
parents: 25
diff changeset
28 ${PROFILING_LIBS}
68
8ffbb48528ae Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 59
diff changeset
29 ${POLARSSL_LIBRARIES}
8ffbb48528ae Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 59
diff changeset
30 ${WIN_EXTRA_LIBS})
8ffbb48528ae Add certificate installation for windows
Andre Heinecke <aheinecke@intevation.de>
parents: 59
diff changeset
31
1176
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
32 install(TARGETS trustbridge-certificate-installer DESTINATION bin)
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
33 if (WIN32)
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
34 add_custom_command(
1176
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
35 TARGET trustbridge-certificate-installer
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
36 POST_BUILD
1176
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
37 COMMAND ${CMAKE_STRIP} trustbridge-certificate-installer.exe
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
38 )
1071
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
39 if (NOT RELEASE_BUILD)
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
40 add_custom_command(
1176
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
41 TARGET trustbridge-certificate-installer
1071
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
42 POST_BUILD
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
43 COMMAND ${OSSLSIGNCODE_EXECUTABLE} sign -certs ${CMAKE_SOURCE_DIR}/ui/tests/data/codesign/codesigning.pem
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
44 -key ${CMAKE_SOURCE_DIR}/ui/tests/data/codesign/codesigning.key
1176
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
45 -h sha256 -in ${CMAKE_CURRENT_BINARY_DIR}/trustbridge-certificate-installer.exe
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
46 -out ${CMAKE_CURRENT_BINARY_DIR}/trustbridge-certificate-installer-signed.exe &&
1196
e978f655be34 Correctly rename the signed certificate installer again
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1176
diff changeset
47 mv ${CMAKE_CURRENT_BINARY_DIR}/trustbridge-certificate-installer-signed.exe ${CMAKE_CURRENT_BINARY_DIR}/trustbridge-certificate-installer.exe
1071
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
48 )
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
49 endif()
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
50 else()
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
51 add_custom_command(
1176
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
52 TARGET trustbridge-certificate-installer
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
53 POST_BUILD
1176
c8f698ca6355 (issue128) Rename cinst to trustbridge-certificate-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1175
diff changeset
54 COMMAND strip trustbridge-certificate-installer
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
55 )
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
56 endif()
124
2d50ff378367 Add install targets
Andre Heinecke <aheinecke@intevation.de>
parents: 122
diff changeset
57
223
d29997e09177 NSS first Blood. Added code to list certs in found stores.
Sascha Wilde <wilde@intevation.de>
parents: 196
diff changeset
58 # ----------------------------------------------------------------------
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
59 # trustbridge-nss-installer nss store specific certificate installer:
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
60 set(trustbridge-nss-installer_SOURCES
834
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
61 ${CMAKE_CURRENT_SOURCE_DIR}/nss-secitemlist.c
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
62 ${CMAKE_CURRENT_SOURCE_DIR}/nss-installer.c
834
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
63 )
223
d29997e09177 NSS first Blood. Added code to list certs in found stores.
Sascha Wilde <wilde@intevation.de>
parents: 196
diff changeset
64
834
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
65 if(WIN32 OR NSS_FOUND)
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
66 include_directories(${NSS_INCLUDE_DIRS})
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
67 add_executable(trustbridge-nss-installer ${trustbridge-nss-installer_SOURCES})
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
68 target_link_libraries(trustbridge-nss-installer
834
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
69 trustbridge_common
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
70 ${POLARSSL_LIBRARIES}
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
71 ${NSS_LIBRARIES}
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
72 ${PROFILING_LIBS})
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
73 set_target_properties(trustbridge-nss-installer PROPERTIES COMPILE_FLAGS "-std=c99")
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
74 install(TARGETS trustbridge-nss-installer DESTINATION bin)
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
75
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
76 if (WIN32)
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
77 add_custom_command(
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
78 TARGET trustbridge-nss-installer
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
79 POST_BUILD
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
80 COMMAND ${CMAKE_STRIP} trustbridge-nss-installer.exe
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
81 )
1071
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
82 if (NOT RELEASE_BUILD)
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
83 add_custom_command(
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
84 TARGET trustbridge-nss-installer
1071
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
85 POST_BUILD
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
86 COMMAND ${OSSLSIGNCODE_EXECUTABLE} sign -certs ${CMAKE_SOURCE_DIR}/ui/tests/data/codesign/codesigning.pem
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
87 -key ${CMAKE_SOURCE_DIR}/ui/tests/data/codesign/codesigning.key
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
88 -h sha256 -in ${CMAKE_CURRENT_BINARY_DIR}/trustbridge-nss-installer.exe
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
89 -out ${CMAKE_CURRENT_BINARY_DIR}/trustbridge-nss-installer-signed.exe &&
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
90 mv ${CMAKE_CURRENT_BINARY_DIR}/trustbridge-nss-installer-signed.exe ${CMAKE_CURRENT_BINARY_DIR}/trustbridge-nss-installer.exe
1071
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
91 )
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
92 endif()
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
93 else()
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
94 add_custom_command(
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
95 TARGET trustbridge-nss-installer
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
96 POST_BUILD
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
97 COMMAND strip trustbridge-nss-installer
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
98 )
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
99 endif()
223
d29997e09177 NSS first Blood. Added code to list certs in found stores.
Sascha Wilde <wilde@intevation.de>
parents: 196
diff changeset
100 else()
1175
e210ecc32d69 (issue128) Rename mozilla process to trustbridge-nss-installer
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1071
diff changeset
101 message(STATUS "WARNING: Could not find nss. trustbridge-nss-installer cert installer will not be build!")
223
d29997e09177 NSS first Blood. Added code to list certs in found stores.
Sascha Wilde <wilde@intevation.de>
parents: 196
diff changeset
102 endif()

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