Mercurial > trustbridge
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() |