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