1 cmake_minimum_required (VERSION 2.8.10)
6 cmake_policy(SET CMP0026 NEW)
9 cmake_policy(SET CMP0042 NEW)
15 find_program(CCACHE_PROGRAM ccache)
17 set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
21 set(BTLS_HOST_WIN32 1)
24 if (NOT OPENSSL_NO_ASM)
26 if (CYGWIN AND "${BTLS_ARCH}" STREQUAL "i386")
27 set(CMAKE_ASM_NASM_OBJECT_FORMAT win32)
28 elseif (CYGWIN AND "${BTLS_ARCH}" STREQUAL "x86_64")
29 set(CMAKE_ASM_NASM_OBJECT_FORMAT win64)
31 enable_language(ASM_NASM)
33 # FIXME: cmake's asm detection is broken when using xcrun.
34 set (CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}")
35 set (CMAKE_ASM_COMPILER_ARG1 "${CMAKE_C_COMPILER_ARG1}")
36 set (CMAKE_ASM_COMPILER_ID "${CMAKE_C_COMPILER_ID}")
41 if (NOT "${BTLS_ARCH}" STREQUAL "")
42 message (STATUS "SET ARCH: ${BTLS_ARCH}")
43 set (CMAKE_SYSTEM_PROCESSOR "${BTLS_ARCH}")
47 if(${CMAKE_SYSTEM_NAME} MATCHES "AIX" OR ${CMAKE_SYSTEM_NAME} MATCHES "OS400")
48 # GCC+XCOFF doesn't support -fvisibility=hidden, and we would prefer XCOFF debugging info.
49 set (C_CXX_FLAGS "-Wall -Wsign-compare -Wmissing-field-initializers -fPIC -gxcoff")
51 set (C_CXX_FLAGS "-Wall -Wsign-compare -Wmissing-field-initializers -fPIC -ggdb -fvisibility=hidden")
54 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${C_CXX_FLAGS} ${BTLS_CFLAGS}")
55 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${C_CXX_FLAGS} ${BTLS_CFLAGS}")
57 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${BTLS_CFLAGS}")
58 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${BTLS_CFLAGS}")
61 if (NOT OPENSSL_NO_ASM)
63 set (CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} ${BTLS_CFLAGS}")
65 set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${BTLS_CFLAGS}")
69 set (CMAKE_MACOSX_RPATH 1)
72 set(BUILD_SHARED_LIBS_SAVED "${BUILD_SHARED_LIBS}")
73 set(BUILD_SHARED_LIBS OFF)
74 add_subdirectory (${BTLS_ROOT} boringssl)
75 set(BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS_SAVED}")
106 btls-x509-lookup-mono.c
107 btls-x509-lookup-mono.h
112 btls-x509-store-ctx.c
113 btls-x509-store-ctx.h
116 btls-x509-verify-param.c
117 btls-x509-verify-param.h
124 add_library (mono-btls-shared SHARED ${MONO_BTLS_SOURCES})
127 set (CMAKE_SHARED_LIBRARY_PREFIX "lib")
131 target_link_libraries (mono-btls-shared wsock32 ws2_32)