annotate cinst/CMakeLists.txt @ 1071:fc4e1fe4e4d4

(issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 10 Sep 2014 17:52:11 +0200
parents 4f999c7821ce
children 148014db2f3b e210ecc32d69
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
25
92108a2120f1 Move certificatelist to common. Add cinst directory
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
14 set(CINST_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
101
7e2d08555112 Make cinst cmakelist relative so it can be used standalone
Andre Heinecke <aheinecke@intevation.de>
parents: 68
diff changeset
18 ${CMAKE_CURRENT_SOURCE_DIR}/main.c
25
92108a2120f1 Move certificatelist to common. Add cinst directory
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
19 )
223
d29997e09177 NSS first Blood. Added code to list certs in found stores.
Sascha Wilde <wilde@intevation.de>
parents: 196
diff changeset
20 add_executable(cinst ${CINST_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
00aa5fa3c2fb Build System maintainance. Correct integration of Polarssl.
Andre Heinecke <aheinecke@intevation.de>
parents: 25
diff changeset
26 target_link_libraries(cinst
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
124
2d50ff378367 Add install targets
Andre Heinecke <aheinecke@intevation.de>
parents: 122
diff changeset
32 install(TARGETS cinst 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(
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
35 TARGET cinst
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
36 POST_BUILD
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
37 COMMAND ${CMAKE_STRIP} cinst.exe
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(
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
41 TARGET cinst
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
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
45 -h sha256 -in ${CMAKE_CURRENT_BINARY_DIR}/cinst.exe
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
46 -out ${CMAKE_CURRENT_BINARY_DIR}/cinst-signed.exe &&
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
47 mv ${CMAKE_CURRENT_BINARY_DIR}/cinst-signed.exe ${CMAKE_CURRENT_BINARY_DIR}/cinst.exe
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(
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
52 TARGET cinst
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
53 POST_BUILD
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
54 COMMAND strip cinst
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 # ----------------------------------------------------------------------
d29997e09177 NSS first Blood. Added code to list certs in found stores.
Sascha Wilde <wilde@intevation.de>
parents: 196
diff changeset
59 # Mozilla nss store specific certificate installer:
834
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
60 set(MOZILLA_SOURCES
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
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
62 ${CMAKE_CURRENT_SOURCE_DIR}/mozilla.c
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})
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
67 add_executable(mozilla ${MOZILLA_SOURCES})
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
68 target_link_libraries(mozilla
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})
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
73 set_target_properties(mozilla PROPERTIES COMPILE_FLAGS "-std=c99")
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
74 install(TARGETS mozilla 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(
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
78 TARGET mozilla
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
79 POST_BUILD
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
80 COMMAND ${CMAKE_STRIP} mozilla.exe
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(
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
84 TARGET mozilla
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
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
88 -h sha256 -in ${CMAKE_CURRENT_BINARY_DIR}/mozilla.exe
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
89 -out ${CMAKE_CURRENT_BINARY_DIR}/mozilla-signed.exe &&
fc4e1fe4e4d4 (issue116) Sign binaries with test certificate if RELESE_BUILD option is not used
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1019
diff changeset
90 mv ${CMAKE_CURRENT_BINARY_DIR}/mozilla-signed.exe ${CMAKE_CURRENT_BINARY_DIR}/mozilla.exe
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(
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
95 TARGET mozilla
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
96 POST_BUILD
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
97 COMMAND strip mozilla
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()
d29997e09177 NSS first Blood. Added code to list certs in found stores.
Sascha Wilde <wilde@intevation.de>
parents: 196
diff changeset
101 message(STATUS "WARNING: Could not find nss. Mozilla cert installer will not be build!")
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/