ExternalProject_Add(ACE-src
GIT_REPOSITORY https://github.com/DOCGroup/ACE_TAO.git
GIT_TAG ACE+TAO-8_0_5
GIT_SUBMODULES_RECURSE TRUE
GIT_SHALLOW TRUE
INSTALL_DIR ${TOOLCHAIN_INSTALL_PREFIX_ACE}
UPDATE_COMMAND ""
PATCH_COMMAND git apply ${CMAKE_CURRENT_LIST_DIR}/0002-Enable-SNI-for-TLS.patch
PREFIX ${TOOLCHAIN_BUILD_PREFIX}/ace
CONFIGURE_COMMAND echo "shared_libs=0" > <SOURCE_DIR>/ACE/include/makeinclude/platform_macros.GNU
COMMAND echo "static_libs_only=1" >> <SOURCE_DIR>/ACE/include/makeinclude/platform_macros.GNU
COMMAND echo "ssl=1" >> <SOURCE_DIR>/ACE/include/makeinclude/platform_macros.GNU
COMMAND echo "ipv6=1" >> <SOURCE_DIR>/ACE/include/makeinclude/platform_macros.GNU
COMMAND echo "c++17=1" >> <SOURCE_DIR>/ACE/include/makeinclude/platform_macros.GNU
COMMAND echo "include <SOURCE_DIR>/ACE/include/makeinclude/platform_macosx_mojave.GNU" >> <SOURCE_DIR>/ACE/include/makeinclude/platform_macros.GNU
COMMAND echo "CPPFLAGS+=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -arch x86_64 -arch arm64" >> <SOURCE_DIR>/ACE/include/makeinclude/platform_macros.GNU
COMMAND echo "LDFLAGS+=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -arch x86_64 -arch arm64" >> <SOURCE_DIR>/ACE/include/makeinclude/platform_macros.GNU
COMMAND echo "SSL_ROOT=${OPENSSL_DIR}" >> <SOURCE_DIR>/ACE/include/makeinclude/platform_macros.GNU
COMMAND echo "INSTALL_PREFIX=<INSTALL_DIR>" >> <SOURCE_DIR>/ACE/include/makeinclude/platform_macros.GNU
COMMAND echo "#define ACE_HAS_IPV6 1" > <SOURCE_DIR>/ACE/ace/config.h
COMMAND echo "#define ACE_HAS_CPP17" >> <SOURCE_DIR>/ACE/ace/config.h
COMMAND echo "#include \"ace/config-macosx.h\"" >> <SOURCE_DIR>/ACE/ace/config.h
COMMAND ln -sf ${MPC_DIR} <SOURCE_DIR>/ACE/MPC
COMMAND export ACE_ROOT=<SOURCE_DIR>/ACE && cd <SOURCE_DIR>/ACE/ace && <SOURCE_DIR>/ACE/bin/mwc.pl -type gnuace -recurse
COMMAND export ACE_ROOT=<SOURCE_DIR>/ACE && cd <SOURCE_DIR>/ACE/protocols/ace/INet && <SOURCE_DIR>/ACE/bin/mwc.pl -type gnuace -recurse
BUILD_IN_SOURCE TRUE
BUILD_COMMAND export ACE_ROOT=<SOURCE_DIR>/ACE && cd <SOURCE_DIR>/ACE/ace && make ${TOOLCHAIN_BUILD_MAKEJOBS}
COMMAND export ACE_ROOT=<SOURCE_DIR>/ACE && cd <SOURCE_DIR>/ACE/protocols/ace/INet && make ${TOOLCHAIN_BUILD_MAKEJOBS}
INSTALL_COMMAND export ACE_ROOT=<SOURCE_DIR>/ACE && cd <SOURCE_DIR>/ACE/ace && make ${TOOLCHAIN_BUILD_MAKEJOBS} install
COMMAND export ACE_ROOT=<SOURCE_DIR>/ACE && cd <SOURCE_DIR>/ACE/protocols/ace/INet && make ${TOOLCHAIN_BUILD_MAKEJOBS} install
DEPENDS MPC openssl-src
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libACE.a
<INSTALL_DIR>/lib/libACE_SSL.a
<INSTALL_DIR>/lib/libACE_INet.a
<INSTALL_DIR>/lib/libACE_INet_SSL.a
)