annotate cinst/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 4f999c7821ce
children 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
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 )
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
39 else()
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
40 add_custom_command(
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
41 TARGET cinst
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
42 POST_BUILD
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
43 COMMAND strip cinst
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
44 )
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
45 endif()
124
2d50ff378367 Add install targets
Andre Heinecke <aheinecke@intevation.de>
parents: 122
diff changeset
46
223
d29997e09177 NSS first Blood. Added code to list certs in found stores.
Sascha Wilde <wilde@intevation.de>
parents: 196
diff changeset
47 # ----------------------------------------------------------------------
d29997e09177 NSS first Blood. Added code to list certs in found stores.
Sascha Wilde <wilde@intevation.de>
parents: 196
diff changeset
48 # 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
49 set(MOZILLA_SOURCES
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
50 ${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
51 ${CMAKE_CURRENT_SOURCE_DIR}/mozilla.c
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
52 )
223
d29997e09177 NSS first Blood. Added code to list certs in found stores.
Sascha Wilde <wilde@intevation.de>
parents: 196
diff changeset
53
834
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
54 if(WIN32 OR NSS_FOUND)
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
55 include_directories(${NSS_INCLUDE_DIRS})
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
56 add_executable(mozilla ${MOZILLA_SOURCES})
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
57 target_link_libraries(mozilla
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
58 trustbridge_common
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
59 ${POLARSSL_LIBRARIES}
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
60 ${NSS_LIBRARIES}
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
61 ${PROFILING_LIBS})
8081ed84589d Use static nss from subrepository on windows
Andre Heinecke <andre.heinecke@intevation.de>
parents: 408
diff changeset
62 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
63 install(TARGETS mozilla DESTINATION bin)
1019
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
64
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
65 if (WIN32)
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
66 add_custom_command(
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
67 TARGET mozilla
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
68 POST_BUILD
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
69 COMMAND ${CMAKE_STRIP} mozilla.exe
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
70 )
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
71 else()
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
72 add_custom_command(
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
73 TARGET mozilla
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
74 POST_BUILD
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
75 COMMAND strip mozilla
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
76 )
4f999c7821ce Strip created executables
Andre Heinecke <andre.heinecke@intevation.de>
parents: 834
diff changeset
77 endif()
223
d29997e09177 NSS first Blood. Added code to list certs in found stores.
Sascha Wilde <wilde@intevation.de>
parents: 196
diff changeset
78 else()
d29997e09177 NSS first Blood. Added code to list certs in found stores.
Sascha Wilde <wilde@intevation.de>
parents: 196
diff changeset
79 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
80 endif()

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