Clean up header files about wrt
[platform/core/security/cert-svc.git] / src / CMakeLists.txt
1 # Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
2 #
3 #    Licensed under the Apache License, Version 2.0 (the "License");
4 #    you may not use this file except in compliance with the License.
5 #    You may obtain a copy of the License at
6 #
7 #        http://www.apache.org/licenses/LICENSE-2.0
8 #
9 #    Unless required by applicable law or agreed to in writing, software
10 #    distributed under the License is distributed on an "AS IS" BASIS,
11 #    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 #    See the License for the specific language governing permissions and
13 #    limitations under the License.
14 #
15 # @file        CMakeLists.txt
16 # @author      Kyungwook Tak (k.tak@samsung.com)
17 # @author      Sangwan Kwon (sangwan.kwon@samsung.com)
18 #
19
20 ######################### VCORE #########################
21
22 IF(TIZEN_PROFILE_MOBILE)
23     ADD_DEFINITIONS("-DTIZEN_PROFILE_MOBILE")
24     SET(LIB_CERT_CHECKER cert-checker)
25 ENDIF(TIZEN_PROFILE_MOBILE)
26
27 PKG_CHECK_MODULES(VCORE_DEPS
28     REQUIRED
29     libxml-2.0
30     libpcrecpp
31     openssl
32     xmlsec1
33     dlog
34     libsystemd-journal
35     ${LIB_CERT_CHECKER}
36     )
37
38 ADD_DEFINITIONS(${VCORE_DEPS_CFLAGS})
39 ADD_DEFINITIONS(${VCORE_DEPS_CFLAGS_OTHER})
40
41 SET(VCORE_SOURCES
42     dpl/core/src/assert.cpp
43     dpl/core/src/exception.cpp
44     dpl/core/src/singleton.cpp
45     dpl/core/src/colors.cpp
46
47     dpl/log/src/abstract_log_provider.cpp
48     dpl/log/src/old_style_log_provider.cpp
49     dpl/log/src/dlog_log_provider.cpp
50     dpl/log/src/journal_log_provider.cpp
51     dpl/log/src/log.cpp
52
53     vcore/api.cpp
54     vcore/Base64.cpp
55     vcore/Certificate.cpp
56     vcore/CertificateCollection.cpp
57     vcore/CertificateConfigReader.cpp
58     vcore/CertificateLoader.cpp
59     vcore/CertStoreType.cpp
60     vcore/ReferenceValidator.cpp
61     vcore/SaxReader.cpp
62     vcore/SignatureData.cpp
63     vcore/SignatureFinder.cpp
64     vcore/SignatureReader.cpp
65     vcore/TimeConversion.cpp
66     vcore/ValidatorFactories.cpp
67     vcore/SignatureValidator.cpp
68     vcore/XmlsecAdapter.cpp
69     vcore/pkcs12.cpp
70     vcore/exception.cpp
71     vcore/Client.cpp
72     vcore/Ocsp.cpp
73     vcore/CryptoInit.cpp
74     vcore/PluginHandler.cpp
75     vcore/init-lib.cpp
76     )
77
78 SET(VCORE_INCLUDES
79     ./
80     cert-svc/
81     dpl/core/include
82     dpl/log/include
83     )
84
85 INCLUDE_DIRECTORIES(
86     SYSTEM
87     ${VCORE_DEPS_INCLUDE_DIRS}
88     ${VCORE_INCLUDES}
89     )
90
91 ADD_LIBRARY(${TARGET_VCORE_LIB} SHARED ${VCORE_SOURCES})
92
93 # TODO: visibility needed to be hidden
94 SET_TARGET_PROPERTIES(${TARGET_VCORE_LIB}
95     PROPERTIES
96         COMPILE_FLAGS "-D_GNU_SOURCE -fPIC -fvisibility=default"
97         SOVERSION ${SO_VERSION}
98         VERSION ${VERSION})
99
100 TARGET_LINK_LIBRARIES(${TARGET_VCORE_LIB}
101     ${VCORE_DEPS_LIBRARIES}
102     ${TARGET_CERT_SVC_LIB}
103     -ldl
104     )
105
106 INSTALL(TARGETS ${TARGET_VCORE_LIB}
107     DESTINATION ${LIB_INSTALL_DIR}
108     )
109
110 ######################### CERT_SERVER #########################
111
112 PKG_CHECK_MODULES(CERT_SERVER_DEP
113     REQUIRED
114     dlog
115     sqlite3
116     db-util
117     libsystemd-daemon
118     key-manager
119     )
120
121 SET(CERT_SERVER_DIR ${CMAKE_CURRENT_SOURCE_DIR}/server)
122
123 SET(CERT_SERVER_SRC
124     ${CERT_SERVER_DIR}/src/cert-server-main.c
125     ${CERT_SERVER_DIR}/src/cert-server-logic.c
126     ${CERT_SERVER_DIR}/src/cert-server-db.c
127     )
128
129 INCLUDE_DIRECTORIES(
130     SYSTEM
131     ./
132     ${CERT_SERVER_DEP_INCLUDE_DIRS}
133     ${CERT_SERVER_DIR}/include
134     )
135
136 SET_SOURCE_FILES_PROPERTIES(
137     ${CERT_SERVER_SRC}
138     PROPERTIES
139         COMPILE_FLAGS "-D_GNU_SOURCE -fvisibility=hidden -fPIE"
140     )
141
142 ADD_EXECUTABLE(${TARGET_CERT_SERVER} ${CERT_SERVER_SRC})
143
144 TARGET_LINK_LIBRARIES(${TARGET_CERT_SERVER}
145     ${CERT_SERVER_DEP_LIBRARIES}
146     -pie
147     )
148
149 INSTALL(TARGETS ${TARGET_CERT_SERVER} DESTINATION ${BIN_DIR})
150
151 ######################### API HEADERS #########################
152
153 INSTALL(FILES
154     vcore/SignatureValidator.h
155     vcore/SignatureFinder.h
156     vcore/Certificate.h
157     vcore/SignatureData.h
158     vcore/CertStoreType.h
159     vcore/exception.h
160     vcore/ValidatorPluginApi.h
161     vcore/Error.h
162     DESTINATION ${INCLUDEDIR}/cert-svc/vcore
163     )
164
165 INSTALL(FILES
166     cert-svc/ccert.h
167     cert-svc/cinstance.h
168     cert-svc/cerror.h
169     cert-svc/cpkcs12.h
170     cert-svc/cprimitives.h
171     cert-svc/cstring.h
172     DESTINATION ${INCLUDEDIR}/cert-svc/cert-svc
173     )