[BTLS]: Add the native BTLS sources.
[mono.git] / mono / btls / CMakeLists.txt
1 cmake_minimum_required (VERSION 2.8.10)
2
3 project (mono-btls)
4
5 cmake_policy(SET CMP0026 NEW)
6 cmake_policy(SET CMP0042 NEW)
7
8 enable_language(C)
9 enable_language(CXX)
10
11 # FIXME: cmake's asm detection is broken when using xcrun.
12 set (CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}")
13 set (CMAKE_ASM_COMPILER_ARG1 "${CMAKE_C_COMPILER_ARG1}")
14 set (CMAKE_ASM_COMPILER_ID "${CMAKE_C_COMPILER_ID}")
15 enable_language(ASM)
16
17 if (NOT "${BTLS_ARCH}" STREQUAL "")
18         message (WARNING "SET ARCH: ${BTLS_ARCH}")
19         set (CMAKE_SYSTEM_PROCESSOR "${BTLS_ARCH}")
20 endif ()
21 set (C_CXX_FLAGS "-Wall -Wsign-compare -Wmissing-field-initializers -ggdb -fvisibility=hidden")
22 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${C_CXX_FLAGS} ${BTLS_CFLAGS}")
23 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${C_CXX_FLAGS} ${BTLS_CFLAGS}")
24 set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${BTLS_CFLAGS}")
25 set (CMAKE_MACOSX_RPATH 1)
26 set (MONO_BTLS 1)
27
28 add_subdirectory (${BTLS_ROOT} boringssl)
29
30 include_directories (
31         ${SRC_DIR}
32         ${BTLS_ROOT}/include
33 )
34
35 set (
36         MONO_BTLS_SOURCES
37
38         btls-bio.c
39         btls-bio.h
40         btls-error.c
41         btls-error.h
42         btls-key.c
43         btls-key.h
44         btls-pkcs12.c
45         btls-pkcs12.h
46         btls-ssl-ctx.c
47         btls-ssl-ctx.h
48         btls-ssl.c
49         btls-ssl.h
50         btls-util.c
51         btls-util.h
52         btls-x509-chain.c
53         btls-x509-chain.h
54         btls-x509-crl.c
55         btls-x509-crl.h
56         btls-x509-lookup.c
57         btls-x509-lookup.h
58         btls-x509-lookup-mono.c
59         btls-x509-lookup-mono.h
60         btls-x509-name.c
61         btls-x509-name.h
62         btls-x509-revoked.c
63         btls-x509-revoked.h
64         btls-x509-store-ctx.c
65         btls-x509-store-ctx.h
66         btls-x509-store.c
67         btls-x509-store.h
68         btls-x509-verify-param.c
69         btls-x509-verify-param.h
70         btls-x509.c
71         btls-x509.h
72
73         btls-android-utils.c
74
75         ${BORINGSSL_OBJECTS}
76 )
77
78 if (BUILD_SHARED_LIBS)
79         add_library (mono-btls-shared SHARED ${MONO_BTLS_SOURCES})
80         set_target_properties (mono-btls-shared PROPERTIES RULE_LAUNCH_LINK
81                 "${PROJECT_SOURCE_DIR}/create-object-library.sh ${CMAKE_BINARY_DIR} mono-btls-shared.txt mono-btls-shared-lo.txt libmono-btls-shared.a shared ${CMAKE_AR} ${CMAKE_RANLIB} <OBJECTS> --"
82         )
83 else ()
84         add_library (mono-btls-static STATIC ${MONO_BTLS_SOURCES})
85         set_target_properties (mono-btls-static PROPERTIES RULE_LAUNCH_LINK
86                 "${PROJECT_SOURCE_DIR}/create-object-library.sh ${CMAKE_BINARY_DIR} mono-btls-static.txt mono-btls-static-lo.txt libmono-btls-static.a static ${CMAKE_AR} ${CMAKE_RANLIB} <OBJECTS> --"
87         )
88 endif ()
89