Point OpenSSL @ latest FIPS2.0 module; 1.0.2.m and commit CMake file changes to build OpenSSL. Need to moving sources back from latest layout to 1.0.2 layout

This commit is contained in:
Phil Smith 2017-11-10 18:31:36 -08:00
Родитель 9af05a908a
Коммит 1204c3c385
7 изменённых файлов: 825 добавлений и 18 удалений

Просмотреть файл

@ -0,0 +1,97 @@
# - Returns a version string from Git
#
# These functions force a re-configure on each git commit so that you can
# trust the values of the variables in your build system.
#
# get_openssl_head_revision(<refspecvar> <hashvar> [<additional arguments to git describe> ...])
#
# Returns the refspec and sha hash of the current head revision
#
# get_openssl_describe(<var> [<additional arguments to git describe> ...])
#
# Returns the results of git describe on the source tree, and adjusting
# the output so that it tests false if an error occurs.
#
# Requires CMake 2.6 or newer (uses the 'function' command)
#
# Original Author:
# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
# http://academic.cleardefinition.com
# Iowa State University HCI Graduate Program/VRAC
#
# Copyright Iowa State University 2009-2010.
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
if(__get_openssl_revision_description)
return()
endif()
set(__get_openssl_revision_description YES)
# We must run the following at "include" time, not at function call time,
# to find the path to this module rather than the path to a calling list file
get_filename_component(_gitdescmoddir ${CMAKE_CURRENT_LIST_FILE} PATH)
function(get_openssl_head_revision _refspecvar _hashvar)
set(GIT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/openssl/.git")
file(READ ${GIT_DIR} submodule)
string(REGEX REPLACE "gitdir: (.*)\n$" "\\1" GIT_DIR_RELATIVE ${submodule})
get_filename_component(SUBMODULE_DIR ${GIT_DIR} PATH)
get_filename_component(GIT_DIR ${SUBMODULE_DIR}/${GIT_DIR_RELATIVE} ABSOLUTE)
set(GIT_DATA "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data")
if(NOT EXISTS "${GIT_DATA}")
file(MAKE_DIRECTORY "${GIT_DATA}")
endif()
if(NOT EXISTS "${GIT_DIR}/HEAD")
return()
endif()
set(HEAD_FILE "${GIT_DATA}/HEAD")
configure_file("${GIT_DIR}/HEAD" "${HEAD_FILE}" COPYONLY)
configure_file("${_gitdescmoddir}/GetOpenSSLRevisionDescription.cmake.in"
"${GIT_DATA}/grabRef.cmake"
@ONLY)
include("${GIT_DATA}/grabRef.cmake")
set(${_refspecvar} "${HEAD_REF}" PARENT_SCOPE)
set(${_hashvar} "${HEAD_HASH}" PARENT_SCOPE)
endfunction()
function(get_openssl_describe _var)
if(NOT GIT_FOUND)
find_package(Git QUIET)
endif()
get_openssl_head_revision(refspec hash)
if(NOT GIT_FOUND)
set(${_var} "GIT-NOTFOUND" PARENT_SCOPE)
return()
endif()
if(NOT hash)
set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE)
return()
endif()
execute_process(COMMAND
"${GIT_EXECUTABLE}"
describe
${hash}
${ARGN}
WORKING_DIRECTORY
"${CMAKE_SOURCE_DIR}"
RESULT_VARIABLE
res
OUTPUT_VARIABLE
out
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT res EQUAL 0)
set(out "${out}-${res}-NOTFOUND")
endif()
set(${_var} "${out}" PARENT_SCOPE)
endfunction()

Просмотреть файл

@ -0,0 +1,41 @@
#
# Internal file for GetOpenSSLRevisionDescription.cmake
#
# Requires CMake 2.6 or newer (uses the 'function' command)
#
# Original Author:
# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
# http://academic.cleardefinition.com
# Iowa State University HCI Graduate Program/VRAC
#
# Copyright Iowa State University 2009-2010.
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
set(HEAD_HASH)
file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024)
string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS)
if(HEAD_CONTENTS MATCHES "ref")
# named branch
string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}")
if(EXISTS "@GIT_DIR@/${HEAD_REF}")
configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY)
else()
configure_file("@GIT_DIR@/packed-refs" "@GIT_DATA@/packed-refs" COPYONLY)
file(READ "@GIT_DATA@/packed-refs" PACKED_REFS)
if(${PACKED_REFS} MATCHES "([0-9a-z]*) ${HEAD_REF}")
set(HEAD_HASH "${CMAKE_MATCH_1}")
endif()
endif()
else()
# detached HEAD
configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY)
endif()
if(NOT HEAD_HASH)
file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024)
string(STRIP "${HEAD_HASH}" HEAD_HASH)
endif()

190
cmake/crypto.cmake Normal file
Просмотреть файл

@ -0,0 +1,190 @@
cmake_minimum_required( VERSION 3.4.0 )
# kudos to https://github.com/madwax/3ndparty.cmake.openssl/
include( CMakeParseArguments )
project( crypto )
set( TARGET_SOURCE_DIR_TRUE "${OpenSSL_SOURCE_PATH}/crypto" )
set( TARGET_INCLUDE_DIRS ${OpenSLL_INCLUDE_PATH} )
set( TARGET_INCLUDE_DIRS_PRIVATE "${TARGET_SOURCE_DIR_TRUE}" "${TARGET_SOURCE_DIR_TRUE}/asn1" "${TARGET_SOURCE_DIR_TRUE}/evp" "${TARGET_SOURCE_DIR_TRUE}/modes")
set( TARGET_DEFINES "OPENSSL_THREADS" )
set( TARGET_DEFINES_PRIVATE "${OpenSSL_COMPILER_DEFINES}" )
set( TARGET_COMPILE_FLAGS "" )
set( TARGET_COMPILE_FLAGS_PRIVATE "" )
set( TARGET_LINK "" )
set( TARGET_LINK_PRIVATE "" )
set( TARGET_SOURCES "" )
# Because OpenSSL does silly things we have to create a proper include dir to build everything
file( COPY ${OpenSSL_SOURCE_PATH}/e_os.h DESTINATION ${OpenSLL_INCLUDE_PATH} )
file( COPY ${OpenSSL_SOURCE_PATH}/e_os2.h DESTINATION ${OpenSLL_INCLUDE_PATH} )
# we hold the sources (.c) under XSRC and headers (.h) under XINC
# we do this as we need to copy headers else the lib will not build.
set( XSRC "" )
set( XINC "" )
set( XPNC "" )
# OpenSSL Has a LOT of source files so we only compile what we need
include( crypto_sources )
file( COPY ${XINC} DESTINATION ${OpenSLL_INCLUDE_PATH}/openssl FILES_MATCHING REGEX "\.h$" )
file( COPY ${XPNC} DESTINATION ${OpenSLL_INCLUDE_PATH}/internal FILES_MATCHING REGEX "\.h$" )
file( COPY ${OpenSSL_SOURCE_PATH}/crypto/opensslconf.h.in DESTINATION ${OpenSLL_INCLUDE_PATH}/openssl )
# HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK
# HACK Content copied from ${OpenSLL_INCLUDE_PATH}/openssl/opensslconf.h.in and modified HACK
# HACK to fit our needs. TODO: figure out how to emulate perl via CMAKE to replace tokens HACK
# HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK
set( CONF "
#define OPENSSL_NO_GMP
#define OPENSSL_NO_JPAKE
#define OPENSSL_NO_KRB5
#define OPENSSL_NO_MD2
#define OPENSSL_NO_RFC3779
#define OPENSSL_NO_STORE
#define OPENSSL_NO_DYNAMIC_ENGINE
#define OPENSSL_NO_SCTP
#define OPENSSL_NO_EC_NISTP_64_GCC_128
/*
*
*
* Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the OpenSSL license (the \"License\"). You may not use
* this file except in compliance with the License. You can obtain a copy
* in the file LICENSE in the source distribution or at
* https://www.openssl.org/source/license.html
*/
/*
* Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
* don't like that. This will hopefully silence them.
*/
#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
/*
* Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
* declarations of functions deprecated in or before <version>. Otherwise, they
* still won't see them if the library has been built to disable deprecated
* functions.
*/
#if defined(OPENSSL_NO_DEPRECATED)
# define DECLARE_DEPRECATED(f)
#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
#else
# define DECLARE_DEPRECATED(f) f;
#endif
#ifndef OPENSSL_FILE
# ifdef OPENSSL_NO_FILENAMES
# define OPENSSL_FILE \"\"
# define OPENSSL_LINE 0
# else
# define OPENSSL_FILE __FILE__
# define OPENSSL_LINE __LINE__
# endif
#endif
#ifndef OPENSSL_MIN_API
# define OPENSSL_MIN_API 0
#endif
#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
# undef OPENSSL_API_COMPAT
# define OPENSSL_API_COMPAT OPENSSL_MIN_API
#endif
#if OPENSSL_API_COMPAT < 0x10200000L
# define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f)
#else
# define DEPRECATEDIN_1_2_0(f)
#endif
#if OPENSSL_API_COMPAT < 0x10100000L
# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)
#else
# define DEPRECATEDIN_1_1_0(f)
#endif
#if OPENSSL_API_COMPAT < 0x10000000L
# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f)
#else
# define DEPRECATEDIN_1_0_0(f)
#endif
#if OPENSSL_API_COMPAT < 0x00908000L
# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f)
#else
# define DEPRECATEDIN_0_9_8(f)
#endif
// set in crypto.cmake
#undef I386_ONLY
#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
#define OPENSSL_SYS_UEFI
#define OPENSSL_SYS_UNIX
#define OPENSSL_RAND_SEED_NONE
#define BN_ULONG unsigned long
#define BN_BYTES sizeof(BN_ULONG)
typedef unsigned char UINT8;
typedef signed char INT8;
typedef unsigned short UINT16;
typedef short INT16;
typedef unsigned int UINT32;
typedef int INT32;
typedef unsigned long long UINT64;
typedef long long INT64;
#define ossl_ssize_t int
#define OSSL_SSIZE_MAX INT_MAX
#define RC4_INT char /* RC4_CHAR use 'char' instead of 'int' for RC4_INT in crypto/rc4/rc4.h from lib/openssl/Configure */
" )
IF ((AOSP) OR (LINUX))
set( CONF "${CONF}
#undef OPENSSL_NO_AFALGENG
")
ELSE()
set( CONF "${CONF}
#define OPENSSL_NO_AFALGENG
")
ENDIF()
file( WRITE "${OpenSLL_INCLUDE_PATH}/openssl/opensslconf.h" "${CONF}" )
set( BuildInfH "
#ifndef MK1MF_BUILD
/* Generated byt crypto.cmake - does it break anything? */
#define CFLAGS \"\"
#define PLATFORM \"${CMAKE_SYSTEM_NAME}\"
#define DATE \"\"
#endif
" )
file( WRITE ${OpenSLL_INCLUDE_PATH}/buildinf.h "${BuildInfH}" )
set( TARGET_SOURCES ${XSRC} ${XINC} )
# OpenSSL is not the best when it comes to how it handles headers.
# Where they are we need to create the projects include dir and copy stuff into it!
add_library( crypto STATIC ${TARGET_SOURCES} )
# specify that this library is to be built with C++14
set_property(TARGET crypto PROPERTY CXX_STANDARD 14)
include_directories(
${include_directories}
${OpenSLL_INCLUDE_PATH}
)
target_include_directories( crypto PRIVATE ${TARGET_INCLUDE_DIRS} ${TARGET_INCLUDE_DIRS_PRIVATE} )
target_compile_definitions( crypto PRIVATE ${TARGET_DEFINES} ${TARGET_DEFINES_PRIVATE} )
target_link_libraries ( crypto PRIVATE ${TARGET_LINK} ${TARGET_LINK_PRIVATE} )
target_compile_options ( crypto PRIVATE ${TARGET_COMPILE_FLAGS} ${TARGET_COMPILE_FLAGS_PRIVATE} )
target_include_directories( crypto PUBLIC ${TARGET_INCLUDE_DIRS} ${OpenSLL_INCLUDE_PATH}/openssl)
target_compile_definitions( crypto PUBLIC ${TARGET_DEFINES} )
target_link_libraries ( crypto PUBLIC ${TARGET_LINK} )
target_compile_options ( crypto PUBLIC ${TARGET_COMPILE_FLAGS} )

458
cmake/crypto_sources.cmake Normal file
Просмотреть файл

@ -0,0 +1,458 @@
# kudos to https://github.com/madwax/3ndparty.cmake.openssl/ for the starting point!
set( XRT "${TARGET_SOURCE_DIR_TRUE}/" )
# engines
IF ((AOSP) OR (LINUX))
list( APPEND XSRC
${XRT}../engines/e_afalg_err.c
${XRT}../engines/e_afalg.c
)
ENDIF()
list( APPEND XSRC
${XRT}../engines/e_capi_err.c
${XRT}../engines/e_capi.c
${XRT}../engines/e_dasync_err.c
${XRT}../engines/e_dasync.c
${XRT}../engines/e_ossltest_err.c
${XRT}../engines/e_ossltest.c
${XRT}../engines/e_padlock.c
)
# aes
list( APPEND XSRC
${XRT}aes/aes_cbc.c ${XRT}aes/aes_ecb.c ${XRT}aes/aes_ofb.c
${XRT}aes/aes_cfb.c ${XRT}aes/aes_ige.c ${XRT}aes/aes_wrap.c
${XRT}aes/aes_core.c ${XRT}aes/aes_misc.c ${XRT}aes/aes_x86core.c
)
# asn1
list( APPEND XSRC
${XRT}asn1/a_bitstr.c ${XRT}asn1/a_utctm.c ${XRT}asn1/d2i_pu.c ${XRT}asn1/tasn_enc.c
${XRT}asn1/a_d2i_fp.c ${XRT}asn1/a_utf8.c ${XRT}asn1/evp_asn1.c ${XRT}asn1/tasn_fre.c
${XRT}asn1/a_digest.c ${XRT}asn1/a_verify.c ${XRT}asn1/f_int.c ${XRT}asn1/tasn_new.c
${XRT}asn1/a_dup.c ${XRT}asn1/ameth_lib.c ${XRT}asn1/f_string.c ${XRT}asn1/tasn_prn.c
${XRT}asn1/a_gentm.c ${XRT}asn1/asn1_err.c ${XRT}asn1/i2d_pr.c ${XRT}asn1/tasn_scn.c
${XRT}asn1/a_i2d_fp.c ${XRT}asn1/asn1_gen.c ${XRT}asn1/i2d_pu.c ${XRT}asn1/tasn_typ.c
${XRT}asn1/a_int.c ${XRT}asn1/asn1_item_list.c ${XRT}asn1/n_pkey.c ${XRT}asn1/tasn_utl.c
${XRT}asn1/a_mbstr.c ${XRT}asn1/asn1_lib.c ${XRT}asn1/nsseq.c ${XRT}asn1/x_algor.c
${XRT}asn1/a_object.c ${XRT}asn1/asn1_par.c ${XRT}asn1/p5_pbe.c ${XRT}asn1/x_bignum.c
${XRT}asn1/a_octet.c ${XRT}asn1/asn_mime.c ${XRT}asn1/p5_pbev2.c ${XRT}asn1/x_info.c
${XRT}asn1/a_print.c ${XRT}asn1/asn_moid.c ${XRT}asn1/p5_scrypt.c ${XRT}asn1/x_int64.c
${XRT}asn1/a_sign.c ${XRT}asn1/asn_mstbl.c ${XRT}asn1/p8_pkey.c ${XRT}asn1/x_long.c
${XRT}asn1/a_strex.c ${XRT}asn1/asn_pack.c ${XRT}asn1/t_bitst.c ${XRT}asn1/x_pkey.c
${XRT}asn1/a_strnid.c ${XRT}asn1/bio_asn1.c ${XRT}asn1/t_pkey.c ${XRT}asn1/x_sig.c
${XRT}asn1/a_time.c ${XRT}asn1/bio_ndef.c ${XRT}asn1/t_spki.c ${XRT}asn1/x_spki.c
${XRT}asn1/a_type.c ${XRT}asn1/d2i_pr.c ${XRT}asn1/tasn_dec.c ${XRT}asn1/x_val.c
)
# bf
list( APPEND XSRC
${XRT}bf/bf_cfb64.c ${XRT}bf/bf_enc.c ${XRT}bf/bf_skey.c
${XRT}bf/bf_ecb.c ${XRT}bf/bf_ofb64.c
)
# bio
list( APPEND XSRC
${XRT}bio/b_addr.c ${XRT}bio/bf_lbuf.c ${XRT}bio/bio_meth.c ${XRT}bio/bss_file.c
${XRT}bio/b_dump.c ${XRT}bio/bf_nbio.c ${XRT}bio/bss_acpt.c ${XRT}bio/bss_log.c
${XRT}bio/b_print.c ${XRT}bio/bf_null.c ${XRT}bio/bss_bio.c ${XRT}bio/bss_mem.c
${XRT}bio/b_sock.c ${XRT}bio/bio_cb.c ${XRT}bio/bss_conn.c ${XRT}bio/bss_null.c
${XRT}bio/b_sock2.c ${XRT}bio/bio_err.c ${XRT}bio/bss_dgram.c ${XRT}bio/bss_sock.c
${XRT}bio/bf_buff.c ${XRT}bio/bio_lib.c ${XRT}bio/bss_fd.c
)
# bn
#list( APPEND XSRC
#${XRT}bn/bn_add.c ${XRT}bn/bn_err.c ${XRT}bn/bn_mod.c ${XRT}bn/bn_recp.c
#${XRT}bn/bn_asm.c ${XRT}bn/bn_exp.c ${XRT}bn/bn_mont.c ${XRT}bn/bn_shift.c
#${XRT}bn/bn_blind.c ${XRT}bn/bn_exp2.c ${XRT}bn/bn_mpi.c ${XRT}bn/bn_sqr.c
#${XRT}bn/bn_const.c ${XRT}bn/bn_gcd.c ${XRT}bn/bn_mul.c ${XRT}bn/bn_sqrt.c
#${XRT}bn/bn_ctx.c ${XRT}bn/bn_gf2m.c ${XRT}bn/bn_nist.c ${XRT}bn/bn_srp.c
#${XRT}bn/bn_depr.c ${XRT}bn/bn_intern.c ${XRT}bn/bn_prime.c ${XRT}bn/bn_word.c
#${XRT}bn/bn_dh.c ${XRT}bn/bn_kron.c ${XRT}bn/bn_print.c ${XRT}bn/bn_x931p.c
#${XRT}bn/bn_div.c ${XRT}bn/bn_lib.c ${XRT}bn/bn_rand.c ${XRT}bn/rsaz_exp.c
#)
# buffer
list( APPEND XSRC
${XRT}buffer/buf_err.c ${XRT}buffer/buffer.c
)
# camella
list( APPEND XSRC
${XRT}camellia/camellia.c ${XRT}camellia/cmll_cfb.c ${XRT}camellia/cmll_ecb.c ${XRT}camellia/cmll_ofb.c
${XRT}camellia/cmll_cbc.c ${XRT}camellia/cmll_ctr.c ${XRT}camellia/cmll_misc.c
)
# cast
list( APPEND XSRC
${XRT}cast/c_cfb64.c ${XRT}cast/c_enc.c ${XRT}cast/c_skey.c
${XRT}cast/c_ecb.c ${XRT}cast/c_ofb64.c
)
# cmac
list( APPEND XSRC
${XRT}cmac/cm_ameth.c ${XRT}cmac/cm_pmeth.c ${XRT}cmac/cmac.c
)
# cms
list( APPEND XSRC
${XRT}cms/cms_asn1.c ${XRT}cms/cms_enc.c ${XRT}cms/cms_io.c ${XRT}cms/cms_sd.c
${XRT}cms/cms_att.c ${XRT}cms/cms_env.c ${XRT}cms/cms_kari.c ${XRT}cms/cms_smime.c
${XRT}cms/cms_cd.c ${XRT}cms/cms_err.c ${XRT}cms/cms_lib.c
${XRT}cms/cms_dd.c ${XRT}cms/cms_ess.c ${XRT}cms/cms_pwri.c
)
#comp
list( APPEND XSRC
${XRT}comp/c_zlib.c ${XRT}comp/comp_err.c ${XRT}comp/comp_lib.c
)
# conf
list( APPEND XSRC
${XRT}conf/conf_api.c ${XRT}conf/conf_err.c ${XRT}conf/conf_mall.c ${XRT}conf/conf_sap.c
${XRT}conf/conf_def.c ${XRT}conf/conf_lib.c ${XRT}conf/conf_mod.c
)
# des
list( APPEND XSRC
${XRT}des/cbc_cksm.c ${XRT}des/des_enc.c ${XRT}des/ncbc_enc.c ${XRT}des/qud_cksm.c
${XRT}des/cbc_enc.c ${XRT}des/ecb3_enc.c ${XRT}des/ofb64ede.c ${XRT}des/rand_key.c
${XRT}des/cfb64ede.c ${XRT}des/ecb_enc.c ${XRT}des/ofb64enc.c ${XRT}des/set_key.c
${XRT}des/cfb64enc.c ${XRT}des/fcrypt.c ${XRT}des/ofb_enc.c ${XRT}des/str2key.c
${XRT}des/cfb_enc.c ${XRT}des/fcrypt_b.c ${XRT}des/pcbc_enc.c ${XRT}des/xcbc_enc.c
)
# dh
list( APPEND XSRC
${XRT}dh/dh_ameth.c ${XRT}dh/dh_err.c ${XRT}dh/dh_lib.c ${XRT}dh/dh_rfc5114.c
${XRT}dh/dh_asn1.c ${XRT}dh/dh_gen.c ${XRT}dh/dh_meth.c ${XRT}dh/dh_rfc7919.c
${XRT}dh/dh_check.c ${XRT}dh/dh_kdf.c ${XRT}dh/dh_pmeth.c
${XRT}dh/dh_depr.c ${XRT}dh/dh_key.c ${XRT}dh/dh_prn.c
)
# dsa
list( APPEND XSRC
${XRT}dsa/dsa_ameth.c ${XRT}dsa/dsa_gen.c ${XRT}dsa/dsa_ossl.c ${XRT}dsa/dsa_vrf.c
${XRT}dsa/dsa_asn1.c ${XRT}dsa/dsa_key.c ${XRT}dsa/dsa_pmeth.c
${XRT}dsa/dsa_depr.c ${XRT}dsa/dsa_lib.c ${XRT}dsa/dsa_prn.c
${XRT}dsa/dsa_err.c ${XRT}dsa/dsa_meth.c ${XRT}dsa/dsa_sign.c
)
# dso
#list( APPEND XSRC
#${XRT}dso/dso_dl.c ${XRT}dso/dso_err.c ${XRT}dso/dso_openssl.c ${XRT}dso/dso_win32.c
#${XRT}dso/dso_dlfcn.c ${XRT}dso/dso_lib.c ${XRT}dso/dso_vms.c
#)
# ec
#list( APPEND XSRC
#${XRT}ec/curve25519.c ${XRT}ec/ec_err.c ${XRT}ec/ecdh_ossl.c ${XRT}ec/ecp_nistp521.c
#${XRT}ec/ec2_mult.c ${XRT}ec/ec_key.c ${XRT}ec/ecdsa_ossl.c ${XRT}ec/ecp_nistputil.c
#${XRT}ec/ec2_oct.c ${XRT}ec/ec_kmeth.c ${XRT}ec/ecdsa_sign.c ${XRT}ec/ecp_nistz256.c
#${XRT}ec/ec2_smpl.c ${XRT}ec/ec_lib.c ${XRT}ec/ecdsa_vrf.c ${XRT}ec/ecp_nistz256_table.c
#${XRT}ec/ec_ameth.c ${XRT}ec/ec_mult.c ${XRT}ec/eck_prn.c ${XRT}ec/ecp_oct.c
#${XRT}ec/ec_asn1.c ${XRT}ec/ec_oct.c ${XRT}ec/ecp_mont.c ${XRT}ec/ecp_smpl.c
#${XRT}ec/ec_check.c ${XRT}ec/ec_pmeth.c ${XRT}ec/ecp_nist.c ${XRT}ec/ecx_meth.c
#${XRT}ec/ec_curve.c ${XRT}ec/ec_print.c ${XRT}ec/ecp_nistp224.c
#${XRT}ec/ec_cvt.c ${XRT}ec/ecdh_kdf.c ${XRT}ec/ecp_nistp256.c
#)
# engine
list( APPEND XSRC
${XRT}engine/eng_all.c ${XRT}engine/eng_fat.c ${XRT}engine/eng_rdrand.c ${XRT}engine/tb_dsa.c
${XRT}engine/eng_cnf.c ${XRT}engine/eng_init.c ${XRT}engine/eng_table.c ${XRT}engine/tb_eckey.c
${XRT}engine/eng_ctrl.c ${XRT}engine/eng_lib.c ${XRT}engine/tb_asnmth.c ${XRT}engine/tb_pkmeth.c
#${XRT}engine/eng_devcrypto.c ${XRT}engine/eng_list.c
${XRT}engine/tb_cipher.c ${XRT}engine/tb_rand.c
${XRT}engine/eng_dyn.c ${XRT}engine/eng_openssl.c ${XRT}engine/tb_dh.c ${XRT}engine/tb_rsa.c
${XRT}engine/eng_err.c ${XRT}engine/eng_pkey.c ${XRT}engine/tb_digest.c
)
# err
list( APPEND XSRC
${XRT}err/err.c ${XRT}err/err_all.c ${XRT}err/err_prn.c
)
# evp
list( APPEND XSRC
${XRT}evp/bio_b64.c ${XRT}evp/e_rc2.c ${XRT}evp/m_ripemd.c
${XRT}evp/bio_enc.c ${XRT}evp/e_rc4.c ${XRT}evp/m_sha1.c
${XRT}evp/bio_md.c ${XRT}evp/e_rc4_hmac_md5.c ${XRT}evp/m_sha3.c
${XRT}evp/bio_ok.c ${XRT}evp/e_rc5.c ${XRT}evp/m_sigver.c
${XRT}evp/c_allc.c ${XRT}evp/e_seed.c ${XRT}evp/m_wp.c
${XRT}evp/c_alld.c ${XRT}evp/e_sm4.c ${XRT}evp/names.c
${XRT}evp/cmeth_lib.c ${XRT}evp/e_xcbc_d.c ${XRT}evp/p5_crpt.c
${XRT}evp/digest.c ${XRT}evp/encode.c ${XRT}evp/p5_crpt2.c
${XRT}evp/e_aes.c ${XRT}evp/evp_cnf.c ${XRT}evp/p_dec.c
${XRT}evp/e_aes_cbc_hmac_sha1.c ${XRT}evp/evp_enc.c ${XRT}evp/p_enc.c
${XRT}evp/e_aes_cbc_hmac_sha256.c ${XRT}evp/evp_err.c ${XRT}evp/p_lib.c
${XRT}evp/e_aria.c ${XRT}evp/evp_key.c ${XRT}evp/p_open.c
${XRT}evp/e_bf.c ${XRT}evp/evp_lib.c ${XRT}evp/p_seal.c
${XRT}evp/e_camellia.c ${XRT}evp/evp_pbe.c ${XRT}evp/p_sign.c
${XRT}evp/e_cast.c ${XRT}evp/evp_pkey.c ${XRT}evp/p_verify.c
${XRT}evp/e_chacha20_poly1305.c ${XRT}evp/m_md2.c ${XRT}evp/pbe_scrypt.c
${XRT}evp/e_des.c ${XRT}evp/m_md4.c ${XRT}evp/pmeth_fn.c
${XRT}evp/e_des3.c ${XRT}evp/m_md5.c ${XRT}evp/pmeth_gn.c
${XRT}evp/e_idea.c ${XRT}evp/m_md5_sha1.c ${XRT}evp/pmeth_lib.c
${XRT}evp/e_null.c ${XRT}evp/m_mdc2.c
${XRT}evp/e_old.c ${XRT}evp/m_null.c
)
# hmac
list( APPEND XSRC
${XRT}hmac/hm_ameth.c ${XRT}hmac/hm_pmeth.c ${XRT}hmac/hmac.c
)
# idea
list( APPEND XSRC
${XRT}idea/i_cbc.c ${XRT}idea/i_ecb.c ${XRT}idea/i_skey.c
${XRT}idea/i_cfb64.c ${XRT}idea/i_ofb64.c
)
# lhash
list( APPEND XSRC
${XRT}lhash/lh_stats.c ${XRT}lhash/lhash.c
)
# md4
list( APPEND XSRC
${XRT}md4/md4_dgst.c ${XRT}md4/md4_one.c
)
# md5
list( APPEND XSRC
${XRT}md5/md5_dgst.c ${XRT}md5/md5_one.c
)
# mdc2
list( APPEND XSRC
${XRT}mdc2/mdc2_one.c ${XRT}mdc2/mdc2dgst.c
)
# modes
list( APPEND XSRC
${XRT}modes/cbc128.c ${XRT}modes/ctr128.c ${XRT}modes/ocb128.c ${XRT}modes/xts128.c
${XRT}modes/ccm128.c ${XRT}modes/cts128.c ${XRT}modes/ofb128.c
${XRT}modes/cfb128.c ${XRT}modes/gcm128.c ${XRT}modes/wrap128.c
)
# objects
list( APPEND XSRC
${XRT}objects/o_names.c ${XRT}objects/obj_err.c ${XRT}objects/obj_xref.c
${XRT}objects/obj_dat.c ${XRT}objects/obj_lib.c
)
# ocsp
list( APPEND XSRC
${XRT}ocsp/ocsp_asn.c ${XRT}ocsp/ocsp_ext.c ${XRT}ocsp/ocsp_prn.c ${XRT}ocsp/v3_ocsp.c
${XRT}ocsp/ocsp_cl.c ${XRT}ocsp/ocsp_ht.c ${XRT}ocsp/ocsp_srv.c
${XRT}ocsp/ocsp_err.c ${XRT}ocsp/ocsp_lib.c ${XRT}ocsp/ocsp_vfy.c
)
# pem
list( APPEND XSRC
${XRT}pem/pem_all.c ${XRT}pem/pem_lib.c ${XRT}pem/pem_pkey.c ${XRT}pem/pem_xaux.c
${XRT}pem/pem_err.c ${XRT}pem/pem_oth.c ${XRT}pem/pem_sign.c ${XRT}pem/pvkfmt.c
${XRT}pem/pem_info.c ${XRT}pem/pem_pk8.c ${XRT}pem/pem_x509.c
)
# pkcs12
list( APPEND XSRC
${XRT}pkcs12/p12_add.c ${XRT}pkcs12/p12_crt.c ${XRT}pkcs12/p12_kiss.c ${XRT}pkcs12/p12_p8e.c
${XRT}pkcs12/p12_asn.c ${XRT}pkcs12/p12_decr.c ${XRT}pkcs12/p12_mutl.c ${XRT}pkcs12/p12_sbag.c
${XRT}pkcs12/p12_attr.c ${XRT}pkcs12/p12_init.c ${XRT}pkcs12/p12_npas.c ${XRT}pkcs12/p12_utl.c
${XRT}pkcs12/p12_crpt.c ${XRT}pkcs12/p12_key.c ${XRT}pkcs12/p12_p8d.c ${XRT}pkcs12/pk12err.c
)
# pkcs7
list( APPEND XSRC
${XRT}pkcs7/bio_pk7.c ${XRT}pkcs7/pk7_attr.c ${XRT}pkcs7/pk7_lib.c ${XRT}pkcs7/pk7_smime.c
${XRT}pkcs7/pk7_asn1.c ${XRT}pkcs7/pk7_doit.c ${XRT}pkcs7/pk7_mime.c ${XRT}pkcs7/pkcs7err.c
)
# rand
list( APPEND XSRC
${XRT}rand/drbg_lib.c ${XRT}rand/rand_err.c ${XRT}rand/rand_vms.c
${XRT}rand/drbg_rand.c ${XRT}rand/rand_lib.c ${XRT}rand/rand_win.c
${XRT}rand/rand_egd.c ${XRT}rand/rand_unix.c ${XRT}rand/randfile.c
)
# rc2
list( APPEND XSRC
${XRT}rc2/rc2_cbc.c ${XRT}rc2/rc2_skey.c ${XRT}rc2/rc2ofb64.c
${XRT}rc2/rc2_ecb.c ${XRT}rc2/rc2cfb64.c
)
# rc4
list( APPEND XSRC
${XRT}rc4/rc4_enc.c ${XRT}rc4/rc4_skey.c
)
# rc5
list( APPEND XSRC
${XRT}rc5/rc5_ecb.c ${XRT}rc5/rc5_skey.c ${XRT}rc5/rc5ofb64.c
${XRT}rc5/rc5_enc.c ${XRT}rc5/rc5cfb64.c
)
# ripemd
list( APPEND XSRC
${XRT}ripemd/rmd_dgst.c ${XRT}ripemd/rmd_one.c
)
# rsa
list( APPEND XSRC
${XRT}rsa/rsa_ameth.c ${XRT}rsa/rsa_gen.c ${XRT}rsa/rsa_pk1.c ${XRT}rsa/rsa_ssl.c
${XRT}rsa/rsa_asn1.c ${XRT}rsa/rsa_lib.c ${XRT}rsa/rsa_pmeth.c ${XRT}rsa/rsa_x931.c
${XRT}rsa/rsa_chk.c ${XRT}rsa/rsa_meth.c ${XRT}rsa/rsa_prn.c ${XRT}rsa/rsa_x931g.c
${XRT}rsa/rsa_crpt.c ${XRT}rsa/rsa_none.c ${XRT}rsa/rsa_pss.c
${XRT}rsa/rsa_depr.c ${XRT}rsa/rsa_oaep.c ${XRT}rsa/rsa_saos.c
${XRT}rsa/rsa_err.c ${XRT}rsa/rsa_ossl.c ${XRT}rsa/rsa_sign.c
)
# seed
list( APPEND XSRC
${XRT}seed/seed.c ${XRT}seed/seed_cfb.c ${XRT}seed/seed_ofb.c
${XRT}seed/seed_cbc.c ${XRT}seed/seed_ecb.c
)
# sha
list( APPEND XSRC
${XRT}sha/keccak1600.c ${XRT}sha/sha1dgst.c ${XRT}sha/sha512.c
${XRT}sha/sha1_one.c ${XRT}sha/sha256.c
)
# srp
list( APPEND XSRC
${XRT}srp/srp_lib.c ${XRT}srp/srp_vfy.c
)
# stack
list( APPEND XSRC
${XRT}stack/stack.c
)
# ts
list( APPEND XSRC
${XRT}ts/ts_asn1.c ${XRT}ts/ts_lib.c ${XRT}ts/ts_rsp_print.c ${XRT}ts/ts_rsp_verify.c
${XRT}ts/ts_conf.c ${XRT}ts/ts_req_print.c ${XRT}ts/ts_rsp_sign.c ${XRT}ts/ts_verify_ctx.c
${XRT}ts/ts_err.c ${XRT}ts/ts_req_utils.c ${XRT}ts/ts_rsp_utils.c
)
# txt_db
list( APPEND XSRC
${XRT}txt_db/txt_db.c
)
# ui
list( APPEND XSRC
${XRT}ui/ui_err.c ${XRT}ui/ui_null.c ${XRT}ui/ui_util.c
${XRT}ui/ui_lib.c ${XRT}ui/ui_openssl.c
)
list( APPEND XSRC
${XRT}uid.c
)
# whrlpool
list( APPEND XSRC
${XRT}whrlpool/wp_block.c ${XRT}whrlpool/wp_dgst.c
)
# x509
list( APPEND XSRC
${XRT}x509/by_dir.c ${XRT}x509/x509_err.c ${XRT}x509/x509_v3.c ${XRT}x509/x_attrib.c
${XRT}x509/by_file.c ${XRT}x509/x509_ext.c ${XRT}x509/x509_vfy.c ${XRT}x509/x_crl.c
${XRT}x509/t_crl.c ${XRT}x509/x509_lu.c ${XRT}x509/x509_vpm.c ${XRT}x509/x_exten.c
${XRT}x509/t_req.c ${XRT}x509/x509_obj.c ${XRT}x509/x509cset.c ${XRT}x509/x_name.c
${XRT}x509/t_x509.c ${XRT}x509/x509_r2x.c ${XRT}x509/x509name.c ${XRT}x509/x_pubkey.c
${XRT}x509/x509_att.c ${XRT}x509/x509_req.c ${XRT}x509/x509rset.c ${XRT}x509/x_req.c
${XRT}x509/x509_cmp.c ${XRT}x509/x509_set.c ${XRT}x509/x509spki.c ${XRT}x509/x_x509.c
${XRT}x509/x509_d2.c ${XRT}x509/x509_trs.c ${XRT}x509/x509type.c ${XRT}x509/x_x509a.c
${XRT}x509/x509_def.c ${XRT}x509/x509_txt.c ${XRT}x509/x_all.c
)
# x509v3
list( APPEND XSRC
${XRT}x509v3/pcy_cache.c ${XRT}x509v3/v3_alt.c ${XRT}x509v3/v3_ia5.c ${XRT}x509v3/v3_prn.c
${XRT}x509v3/pcy_data.c ${XRT}x509v3/v3_asid.c ${XRT}x509v3/v3_info.c ${XRT}x509v3/v3_purp.c
${XRT}x509v3/pcy_lib.c ${XRT}x509v3/v3_bcons.c ${XRT}x509v3/v3_int.c ${XRT}x509v3/v3_skey.c
${XRT}x509v3/pcy_map.c ${XRT}x509v3/v3_bitst.c ${XRT}x509v3/v3_lib.c ${XRT}x509v3/v3_sxnet.c
${XRT}x509v3/pcy_node.c ${XRT}x509v3/v3_conf.c ${XRT}x509v3/v3_ncons.c ${XRT}x509v3/v3_tlsf.c
${XRT}x509v3/pcy_tree.c ${XRT}x509v3/v3_cpols.c ${XRT}x509v3/v3_pci.c ${XRT}x509v3/v3_utl.c
${XRT}x509v3/v3_addr.c ${XRT}x509v3/v3_crld.c ${XRT}x509v3/v3_pcia.c ${XRT}x509v3/v3err.c
${XRT}x509v3/v3_admis.c ${XRT}x509v3/v3_enum.c ${XRT}x509v3/v3_pcons.c
${XRT}x509v3/v3_akey.c ${XRT}x509v3/v3_extku.c ${XRT}x509v3/v3_pku.c
${XRT}x509v3/v3_akeya.c ${XRT}x509v3/v3_genn.c ${XRT}x509v3/v3_pmaps.c
)
list( APPEND XSRC
${XRT}LPdir_nyi.c ${XRT}cryptlib.c ${XRT}mem_clr.c ${XRT}o_time.c
${XRT}LPdir_unix.c ${XRT}ctype.c ${XRT}mem_dbg.c ${XRT}ppccap.c
${XRT}LPdir_vms.c ${XRT}cversion.c ${XRT}mem_sec.c ${XRT}s390xcap.c
${XRT}LPdir_win.c ${XRT}dllmain.c ${XRT}o_dir.c ${XRT}sparcv9cap.c
${XRT}LPdir_win32.c ${XRT}ebcdic.c ${XRT}o_fips.c ${XRT}threads_none.c
${XRT}LPdir_wince.c ${XRT}ex_data.c ${XRT}o_fopen.c ${XRT}threads_pthread.c
${XRT}armcap.c ${XRT}init.c ${XRT}o_init.c ${XRT}threads_win.c
${XRT}cpt_err.c ${XRT}mem.c ${XRT}o_str.c ${XRT}uid.c
)
###########################################################################################
# INC
###########################################################################################
set( PUBL "${OpenSSL_SOURCE_PATH}/include/openssl/")
set( AES "${OpenSSL_SOURCE_PATH}/crypto/aes/")
set( BIO "${OpenSSL_SOURCE_PATH}/crypto/bio/")
list( APPEND XINC
${AES}aes.h #${PUBL}ct.h
${PUBL}md5.h ${PUBL}seed.h
${PUBL}asn1.h ${PUBL}cterr.h ${PUBL}mdc2.h ${PUBL}sha.h
${PUBL}asn1_mac.h ${PUBL}des.h ${PUBL}modes.h ${PUBL}srp.h
${PUBL}asn1err.h ${PUBL}dh.h ${PUBL}obj_mac.h ${PUBL}srtp.h
${PUBL}asn1t.h ${PUBL}dherr.h ${PUBL}objects.h ${PUBL}ssl.h
${PUBL}async.h ${PUBL}dsa.h ${PUBL}objectserr.h ${PUBL}ssl2.h
${PUBL}asyncerr.h ${PUBL}dsaerr.h ${PUBL}ocsp.h ${PUBL}ssl3.h
${BIO}bio.h ${PUBL}dtls1.h ${PUBL}ocsperr.h ${PUBL}sslerr.h
${PUBL}bioerr.h ${PUBL}e_os2.h ${PUBL}opensslv.h ${PUBL}stack.h
${PUBL}blowfish.h ${PUBL}ebcdic.h ${PUBL}ossl_typ.h ${PUBL}store.h
${PUBL}bn.h ${PUBL}ec.h ${PUBL}pem.h ${PUBL}storeerr.h
${PUBL}bnerr.h ${PUBL}ecdh.h ${PUBL}pem2.h ${PUBL}symhacks.h
${PUBL}buffer.h ${PUBL}ecdsa.h ${PUBL}pemerr.h ${PUBL}tls1.h
${PUBL}buffererr.h ${PUBL}ecerr.h ${PUBL}pkcs12.h ${PUBL}ts.h
${PUBL}camellia.h ${PUBL}engine.h ${PUBL}pkcs12err.h ${PUBL}tserr.h
${PUBL}cast.h ${PUBL}engineerr.h ${PUBL}pkcs7.h ${PUBL}txt_db.h
${PUBL}cmac.h ${PUBL}err.h ${PUBL}pkcs7err.h ${PUBL}ui.h
${PUBL}cms.h ${PUBL}evp.h ${PUBL}rand.h ${PUBL}uierr.h
${PUBL}cmserr.h ${PUBL}evperr.h ${PUBL}randerr.h ${PUBL}whrlpool.h
${PUBL}comp.h ${PUBL}hmac.h ${PUBL}rc2.h ${PUBL}x509.h
${PUBL}comperr.h ${PUBL}idea.h ${PUBL}rc4.h ${PUBL}x509_vfy.h
${PUBL}conf.h ${PUBL}kdf.h ${PUBL}rc5.h ${PUBL}x509err.h
${PUBL}conf_api.h ${PUBL}kdferr.h ${PUBL}ripemd.h ${PUBL}x509v3.h
${PUBL}conferr.h ${PUBL}lhash.h ${PUBL}rsa.h ${PUBL}x509v3err.h
${PUBL}crypto.h ${PUBL}md2.h ${PUBL}rsaerr.h
${PUBL}cryptoerr.h ${PUBL}md4.h ${PUBL}safestack.h
)
set( PRIV "${OpenSSL_SOURCE_PATH}/include/internal/")
list( APPEND XPNC
${PRIV}/bio.h ${PRIV}/dso.h ${PRIV}/o_str.h
${PRIV}/comp.h ${PRIV}/dsoerr.h ${PRIV}/rand.h
${PRIV}/conf.h ${PRIV}/err.h ${PRIV}/refcount.h
${PRIV}/constant_time_locl.h ${PRIV}/nelem.h ${PRIV}/sockets.h
${PRIV}/cryptlib.h ${PRIV}/numbers.h ${PRIV}/thread_once.h
${PRIV}/dane.h ${PRIV}/o_dir.h
)
set (CPRV "${OpenSSL_SOURCE_PATH}/crypto/include/internal/")
list( APPEND XPNC
${CPRV}aria.h ${CPRV}ctype.h ${CPRV}siphash.h
${CPRV}asn1_int.h ${CPRV}engine.h ${CPRV}sm3.h
${CPRV}async.h ${CPRV}err_int.h ${CPRV}sm4.h
${CPRV}bn_dh.h ${CPRV}evp_int.h ${CPRV}store.h
${CPRV}bn_int.h ${CPRV}md32_common.h ${CPRV}store_int.h
${CPRV}bn_srp.h ${CPRV}objects.h ${CPRV}x509_int.h
${CPRV}chacha.h ${CPRV}poly1305.h
${CPRV}cryptlib_int.h ${CPRV}rand_int.h
)

Просмотреть файл

@ -1,7 +1,7 @@
# xplat\lib
# Copyright (C) 2017 Microsoft
# Created by Phil Smith (psmith@microsoft.com) on 10/19/2017
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
cmake_minimum_required(VERSION 3.4.0 FATAL_ERROR)
ADD_CUSTOM_TARGET(LIBS)
@ -16,3 +16,35 @@ add_subdirectory(zlib)
# Xerces
set(DBUILD_SHARED_LIBS OFF CACHE BOOL "Only build static lib" FORCE)
add_subdirectory(xerces)
# OpenSSL
IF(NOT WIN32)
MESSAGE(STATUS "-----------------------------")
MESSAGE(STATUS "OpenSLL configuration summary")
MESSAGE(STATUS "-----------------------------")
set(OpenSSL_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/openssl" )
set(OpenSLL_BINARY_PATH "${CMAKE_CURRENT_BINARY_DIR}" )
set(OpenSLL_INCLUDE_PATH "${CMAKE_CURRENT_BINARY_DIR}" )
include(GetOpenSSLRevisionDescription)
get_openssl_describe(OpenSSL_DESCRIPTION)
MESSAGE(STATUS "OpenSSL Description '${OpenSSL_DESCRIPTION}'" )
string(REGEX MATCH "OpenSSL_([0-9]*)_([0-9]*)_([0-9]*)" _dummy1 "${OpenSSL_DESCRIPTION}")
SET(OpenSSL_MAJOR ${CMAKE_MATCH_1})
SET(OpenSSL_MINOR ${CMAKE_MATCH_2})
SET(OpenSSL_PATCH ${CMAKE_MATCH_3})
SET(OpenSLL_VERSION "${OpenSSL_MAJOR}.${OpenSSL_MINOR}.${OpenSSL_PATCH}")
set(OpenSSL_COMPILER_DEFINES OPENSSL_NO_ASM)
# we include which means you need to use "OpenSSL_X_PATH" for your paths.
include( crypto )
set(OpenSSL_FOUND ON CACHE BOOL "OpenSSL ready for use" FORCE)
MESSAGE(STATUS "OpenSLL_VERSION '${OpenSLL_VERSION}'" )
MESSAGE(STATUS "OpenSSL_SOURCE_PATH '${OpenSSL_SOURCE_PATH}'" )
MESSAGE(STATUS "OpenSLL_BINARY_PATH '${OpenSLL_BINARY_PATH}'" )
MESSAGE(STATUS "OpenSLL_INCLUDE_PATH '${OpenSLL_INCLUDE_PATH}'" )
ENDIF()

@ -1 +1 @@
Subproject commit 6b1c8204b33aaedb7df7a009c241412839aaf950
Subproject commit 8b1549a153a62e9878327d05aa3b6622b416ec10

Просмотреть файл

@ -14,27 +14,16 @@ IF(WIN32)
set (XPLATAPPX_API=1)
set (DirectoryObject PAL/FileSystem/Win32/DirectoryObject.cpp)
ELSE()
# TODO: Apple deprecated OpenSSL because there isn't a stable ABI.
# we should just build OpenSSL and statically include the library
# pretty much like how everyone else uses OpenSSL.
# TODO: remove this temporary hack to unblock Thomas after getting
# OpenSSL building and statically linking via the submodule dependency
# https://cmake.org/cmake/help/v3.0/module/FindOpenSSL.html
set(OPENSSL_ROOT_DIR "/usr/local/opt/openssl") # path is populated by brew
find_package(OpenSSL REQUIRED)
IF(OPENSSL_FOUND)
MESSAGE (STATUS "Using OpenSSL ${OPENSSL_VERSION}")
IF(OpenSSL_FOUND)
MESSAGE (STATUS "Using OpenSSL ${OpenSLL_VERSION}")
include_directories(
${include_directories}
${OPENSSL_INCLUDE_DIRS}
${OpenSLL_INCLUDE_PATH}
)
ELSE()
# ... and were done here... :/
MESSAGE (STATUS "OpenSSL NOT FOUND!")
MESSAGE (STATUS "on MacOS run: 'brew install openssl'")
RETURN()
ENDIF()
@ -112,7 +101,7 @@ include_directories(
target_link_libraries(${PROJECT_NAME} zlibstatic)
target_link_libraries(${PROJECT_NAME} xerces-c)
IF(OPENSSL_FOUND)
IF(OpenSSL_FOUND)
# include the libraries needed to use OpenSSL
target_link_libraries(${PROJECT_NAME} ${OPENSSL_LIBRARIES})
target_link_libraries(${PROJECT_NAME} crypto)
ENDIF()