diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL index 7bbba73589253f..1028d8b50a0c82 100644 --- a/ports/ace/CONTROL +++ b/ports/ace/CONTROL @@ -1,15 +1,30 @@ Source: ace Version: 6.5.8 -Homepage: https://www.dre.vanderbilt.edu/~schmidt/ACE.html Description: The ADAPTIVE Communication Environment -Supports: !uwp +Homepage: https://www.dre.vanderbilt.edu/~schmidt/TAO.html +Supports: !(uwp|linux) Feature: wchar -Description: Enable extra wide char functions in ACE +Description: Enable extra wide char functions Feature: ssl -Description: Enable SSL/TLS features in ACE Build-Depends: openssl +Description: Enable SSL/TLS features + +Feature: xerces-c +Build-Depends: xerces-c +Description: Enable XML features + +Feature: zlib +Build-Depends: zlib +Description: Enable zlib support + +Feature: bzip2 +Build-Depends: bzip2 +Description: Enable bzip2 support + +Feature: tao +Description: The ACE ORB + + -Feature: xml -Description: Enable XML features in ACE diff --git a/ports/ace/bzip2.patch b/ports/ace/bzip2.patch new file mode 100644 index 00000000000000..3e2390f3b652e8 --- /dev/null +++ b/ports/ace/bzip2.patch @@ -0,0 +1,11 @@ +--- a/MPC/config/bzip2.mpb 2019-10-06 11:14:51.164094600 +0700 ++++ b/MPC/config/bzip2.mpb 2019-10-06 11:15:08.269289500 +0700 +@@ -5,8 +5,6 @@ + macros += USE_BZIP2 + + specific(prop:windows) { +- lit_libs += bzip2 +- } else { + lit_libs += bz2 + } + } diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake index ee0a0e082fead6..f29f73c6877933 100644 --- a/ports/ace/portfile.cmake +++ b/ports/ace/portfile.cmake @@ -1,4 +1,23 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") + + +set(ACE_ROOT ${CURRENT_BUILDTREES_DIR}/src/ACE_wrappers) +set(TAO_ROOT ${ACE_ROOT}/tao) +set(ENV{ACE_ROOT} ${ACE_ROOT}) +set(ENV{TAO_ROOT} ${TAO_ROOT}) +set(ACE_SOURCE_PATH ${ACE_ROOT}/ace) +set(TAO_SOURCE_PATH ${TAO_ROOT}/tao) + +set(INSTALLED_PATH ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}) +if(${CMAKE_BUILD_TYPE} MATCHES "^Debug$") +set(INSTALLED_PATH ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/debug) +endif() + + +################################################### +# +# Download and extract +# +################################################### # Using zip archive under Linux would cause sh/perl to report "No such file or directory" or "bad interpreter" # when invoking `prj_install.pl`. @@ -6,239 +25,291 @@ vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") if(VCPKG_TARGET_IS_WINDOWS) # Don't change to vcpkg_from_github! This points to a release and not an archive vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_8/ACE-src-6.5.8.zip" - FILENAME ACE-src-6.5.8.zip - SHA512 e0fd30de81f0d6e629394fc9cb814ecb786c67fccd7e975a3d64cf0859d5a03ba5a5ae4bb0a6ce5e6d16395a48ffa28f5a1a92758e08a3fd7d55582680f94d82 - ) + URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_8/ACE+TAO-src-6.5.8.zip" + FILENAME ACE+TAO-src-6.5.8.zip + SHA512 847621bdd72b5a6909cbdef1d6e3c8792aa29f0b44e64c49c64c5d87df4fe703c6a27b15465d655e97ca8cc0df7449ac012f90f6de5d82b8e30bfbeb2e7057c2 +) else(VCPKG_TARGET_IS_WINDOWS) # VCPKG_TARGET_IS_LINUX vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_8/ACE-src-6.5.8.tar.gz" - FILENAME ACE-src-6.5.8.tar.gz - SHA512 45ee6cf4302892ac9de305f8454109fa17a8b703187cc76555ce3641b621909e0cfedf3cc4a7fe1a8f01454637279cc9c4afe9d67466d5253e0ba1f34431d97f - ) + URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_8/ACE+TAO-src-6.5.8.tar.gz" + FILENAME ACE+TAO-src-6.5.8.tar.gz + SHA512 4440975cac5baaa1d6fce869fbac73f15cf86942df3dab0f06c2309d9e20f6a79d826690138baf2ce5b232a1255d9e09cae0e40bd0cddae3d26ca9eb937871db +) endif() -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_apply_patches( + SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ACE_wrappers + PATCHES + "${CMAKE_CURRENT_LIST_DIR}/bzip2.patch" ) -set(ACE_ROOT ${SOURCE_PATH}) -set(ENV{ACE_ROOT} ${ACE_ROOT}) -set(ACE_SOURCE_PATH ${ACE_ROOT}/ace) +################################################### +# +# Generate features string +# +################################################### + +# see https://htmlpreview.github.io/?https://github.com/DOCGroup/ACE_TAO/blob/master/ACE/ACE-INSTALL.html +if(VCPKG_TARGET_IS_WINDOWS) + file(WRITE ${ACE_SOURCE_PATH}/config.h "#include \"ace/config-windows.h\"\n#define ACE_NO_INLINE") +elseif(VCPKG_TARGET_IS_LINUX) + file(WRITE ${ACE_SOURCE_PATH}/config.h "#include \"ace/config-linux.h\"") + file(WRITE ${ACE_ROOT}/include/makeinclude/platform_macros.GNU "include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU") +elseif(VCPKG_TARGET_IS_OSX) + file(WRITE ${ACE_SOURCE_PATH}/config.h "#include \"ace/config-macosx.h\"") + file(WRITE ${ACE_ROOT}/include/makeinclude/platform_macros.GNU "include $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU") +elseif(VCPKG_TARGET_IS_UWP) + file(WRITE ${ACE_SOURCE_PATH}/config.h "#include \"ace/config-windows.h\"\n#define ACE_NO_INLINE") +endif() + +if((VCPKG_TARGET_IS_WINDOWS) OR (VCPKG_TARGET_IS_UWP)) + if(VCPKG_PLATFORM_TOOLSET MATCHES "v142") + set(SOLUTION_TYPE vs2019) + elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v141") + set(SOLUTION_TYPE vs2017) + else() + set(SOLUTION_TYPE vc14) + endif() +elseif((VCPKG_TARGET_IS_LINUX) OR (VCPKG_TARGET_IS_OSX)) + set(SOLUTION_TYPE gnuace) +endif() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(MPC_STATIC_FLAG -static) +endif() if("wchar" IN_LIST FEATURES) list(APPEND ACE_FEATURE_LIST "uses_wchar=1") +else() + list(APPEND ACE_FEATURE_LIST "uses_wchar=0") endif() -if("zlib" IN_LIST FEATURES) - list(APPEND ACE_FEATURE_LIST "zlib=1") +if("xerces-c" IN_LIST FEATURES) + list(APPEND ACE_FEATURE_LIST "xerces3=1") else() - list(APPEND ACE_FEATURE_LIST "zlib=0") + list(APPEND ACE_FEATURE_LIST "xerces3=0") endif() if("ssl" IN_LIST FEATURES) + set(ENV{SSL_ROOT} ${INSTALLED_PATH}) list(APPEND ACE_FEATURE_LIST "ssl=1") - list(APPEND ACE_FEATURE_LIST "openssl11=1") + list(APPEND ACE_FEATURE_LIST "openssl11=1") # use for new lib names (i.e. libcrypto) else() list(APPEND ACE_FEATURE_LIST "ssl=0") endif() +# if("qt5" IN_LIST FEATURES) + # set(QT5_CORE_MPB_PATH "${ACE_ROOT}/MPC/config/qt5_core.mpb") + # FILE(READ ${QT5_CORE_MPB_PATH} QT5_CORE_MPB_DATA) + # STRING(REGEX REPLACE "QT5_BINDIR\\)\\/" "QTDIR)/tools/qt5/bin/" NEW_QT5_CORE_MPB_DATA ${QT5_CORE_MPB_DATA}) + # SET(QT5_CORE_MPB_DATA ${NEW_QT5_CORE_MPB_DATA}) + # STRING(REGEX REPLACE "libpaths \\+\\= \\$\\(QT5_LIBDIR\\)" "libpaths += $(QT5_LIBDIR) ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/debug/lib" NEW_QT5_CORE_MPB_DATA ${QT5_CORE_MPB_DATA}) + # FILE(WRITE ${QT5_CORE_MPB_PATH} "${NEW_QT5_CORE_MPB_DATA}") + # set(ENV{QTDIR} ${INSTALLED_PATH}) + # list(APPEND ACE_FEATURE_LIST "qt5=1") +# else() + # list(APPEND ACE_FEATURE_LIST "qt5=0") +# endif() +if("bzip2" IN_LIST FEATURES) + set(ENV{BZIP2_ROOT} ${INSTALLED_PATH}) + list(APPEND ACE_FEATURE_LIST "bzip2=1") +else() + list(APPEND ACE_FEATURE_LIST "bzip2=0") +endif() +if("zlib" IN_LIST FEATURES) + set(ENV{ZLIB_ROOT} ${INSTALLED_PATH}) + list(APPEND ACE_FEATURE_LIST "zlib=1") +else() + list(APPEND ACE_FEATURE_LIST "zlib=0") +endif() +if("tao" IN_LIST FEATURES) + set(BUILD_TAO 1) +else() + set(BUILD_TAO 0) +endif() list(JOIN ACE_FEATURE_LIST "," ACE_FEATURES) +string(PREPEND ACE_FEATURES ",") + +################################################### +# +# Invoke mwc to generate solution / make files +# +################################################### -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - if(NOT VCPKG_CMAKE_SYSTEM_NAME) - set(DLL_DECORATOR s) - endif() - set(MPC_STATIC_FLAG -static) -endif() # Acquire Perl and add it to PATH (for execution of MPC) vcpkg_find_acquire_program(PERL) get_filename_component(PERL_PATH ${PERL} DIRECTORY) vcpkg_add_to_path(${PERL_PATH}) +if(BUILD_TAO) + set(WORKSPACE "TAO_ACE") + set(WORKING_DIR ${TAO_ROOT}) +else() + set(WORKSPACE "ACE") + set(WORKING_DIR ${ACE_ROOT}) +endif() + +vcpkg_execute_required_process( + COMMAND ${PERL} ${ACE_ROOT}/bin/mwc.pl -type ${SOLUTION_TYPE} ${WORKSPACE}.mwc ${MPC_STATIC_FLAG} -features stl=1,ace_for_tao=0,ace_inline=0${ACE_FEATURES} -workers ${VCPKG_CONCURRENCY} -use_env -expand_vars + WORKING_DIRECTORY ${WORKING_DIR} + LOGNAME mwc-tao-${TARGET_TRIPLET} +) + +################################################### +# +# Build +# +################################################### + if (TRIPLET_SYSTEM_ARCH MATCHES "x86") set(MSBUILD_PLATFORM "Win32") else () set(MSBUILD_PLATFORM ${TRIPLET_SYSTEM_ARCH}) endif() -# Add ace/config.h file -# see https://htmlpreview.github.io/?https://github.com/DOCGroup/ACE_TAO/blob/master/ACE/ACE-INSTALL.html -if(VCPKG_TARGET_IS_WINDOWS) +# Build for Windows +if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) + vcpkg_build_msbuild(PROJECT_PATH "${WORKING_DIR}/${WORKSPACE}.sln" PLATFORM ${MSBUILD_PLATFORM} USE_VCPKG_INTEGRATION) +elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) + vcpkg_configure_make(SOURCE_PATH ${WORKING_DIR} SKIP_CONFIGURE) + vcpkg_build_make() +endif() + +################################################### +# +# Installation +# +################################################### + +if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) set(LIB_RELEASE_SUFFIX .lib) set(LIB_DEBUG_SUFFIX d.lib) - if(VCPKG_PLATFORM_TOOLSET MATCHES "v142") - set(SOLUTION_TYPE vs2019) - elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v141") - set(SOLUTION_TYPE vs2017) - else() - set(SOLUTION_TYPE vc14) + set(DLL_RELEASE_SUFFIX .dll) + set(DLL_DEBUG_SUFFIX d.dll) + set(LIB_PREFIX) + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(DLL_DECORATOR s) endif() - file(WRITE ${ACE_SOURCE_PATH}/config.h "#include \"ace/config-windows.h\"") -endif() - -if(VCPKG_TARGET_IS_LINUX) +elseif(VCPKG_TARGET_IS_LINUX) set(DLL_DECORATOR) set(LIB_RELEASE_SUFFIX .a) set(LIB_DEBUG_SUFFIX .a) + set(DLL_RELEASE_SUFFIX .so) + set(DLL_DEBUG_SUFFIX .so) + set(LIB_PREFIX lib) +elseif(VCPKG_TARGET_IS_OSX) + set(DLL_DECORATOR) + set(LIB_RELEASE_SUFFIX .a) + set(LIB_DEBUG_SUFFIX .a) + set(DLL_RELEASE_SUFFIX .dylib) + set(DLL_DEBUG_SUFFIX .dylib) set(LIB_PREFIX lib) - set(SOLUTION_TYPE gnuace) - file(WRITE ${ACE_SOURCE_PATH}/config.h "#include \"ace/config-linux.h\"") - file(WRITE ${ACE_ROOT}/include/makeinclude/platform_macros.GNU "include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU") endif() -# Invoke mwc.pl to generate the necessary solution and project files -vcpkg_execute_build_process( - COMMAND ${PERL} ${ACE_ROOT}/bin/mwc.pl -type ${SOLUTION_TYPE} -features "${ACE_FEATURES}" ace ${MPC_STATIC_FLAG} - WORKING_DIRECTORY ${ACE_ROOT} - LOGNAME mwc-${TARGET_TRIPLET} -) +# Install include files +function(install_includes SOURCE_PATH SUBDIRECTORIES INCLUDE_DIR) + foreach(SUB_DIR ${SUBDIRECTORIES}) + file(GLOB INCLUDE_FILES ${SOURCE_PATH}/${SUB_DIR}/*.h ${SOURCE_PATH}/${SUB_DIR}/*.inl ${SOURCE_PATH}/${SUB_DIR}/*.cpp) + file(COPY ${INCLUDE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/${INCLUDE_DIR}/${SUB_DIR}) + endforeach() +endfunction() -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_build_msbuild( - PROJECT_PATH ${ACE_SOURCE_PATH}/ace.sln - PLATFORM ${MSBUILD_PLATFORM} - USE_VCPKG_INTEGRATION - ) - - # ACE itself does not define an install target, so it is not clear which - # headers are public and which not. For the moment we install everything - # that is in the source path and ends in .h, .inl - function(install_ace_headers_subdirectory ORIGINAL_PATH RELATIVE_PATH) - file(GLOB HEADER_FILES ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.h ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.inl) - file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ace/${RELATIVE_PATH}) - endfunction() - - # We manually install header found in the ace directory because in that case - # we are supposed to install also *cpp files, see ACE_wrappers\debian\libace-dev.install file - file(GLOB HEADER_FILES ${ACE_SOURCE_PATH}/*.h ${ACE_SOURCE_PATH}/*.inl ${ACE_SOURCE_PATH}/*.cpp) - file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ace/) - - # Install headers in subdirectory - install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Compression") - install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Compression/rle") - install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "ETCL") - install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "QoS") - install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Monitor_Control") - install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include") - install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/arpa") - install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/net") - install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/netinet") - install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/sys") - if("ssl" IN_LIST FEATURES) - install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "SSL") - endif() +set(ACE_INCLUDE_FOLDERS "." "Compression" "Compression/rle" "ETCL" "QoS" "Monitor_Control" "os_include" "os_include/arpa" "os_include/net" "os_include/netinet" "os_include/sys") +install_includes(${ACE_SOURCE_PATH} "${ACE_INCLUDE_FOLDERS}" "ace") - # Install the libraries - function(install_ace_library ORIGINAL_PATH ACE_LIBRARY) - set(LIB_PATH ${ORIGINAL_PATH}/lib/) - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - # Install the DLL files - file(INSTALL - ${LIB_PATH}/${ACE_LIBRARY}d.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin - ) - file(INSTALL - ${LIB_PATH}/${ACE_LIBRARY}.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/bin - ) - endif() +if(BUILD_TAO) + set(TAO_INCLUDE_FOLDERS "." "AnyTypeCode" "BiDir_GIOP" "CodecFactory" "Codeset" "Compression" "Compression/bzip2" "Compression/lzo" "Compression/rle" "Compression/zlib" + "CSD_Framework" "CSD_ThreadPool" "DiffServPolicy" "Dynamic_TP" "DynamicAny" "DynamicInterface" "EndpointPolicy" "EndpointPolicy" "ETCL" "FlResource" "FoxResource" + "IFR_Client" "ImR_Client" "IORInterceptor" "IORManipulation" "IORTable" "Messaging" "Monitor" "ObjRefTemplate" "PI" "PI_Server" "PortableServer" "QtResource" + "RTCORBA" "RTPortableServer" "RTScheduling" "SmartProxies" "Strategies" "TkResource" "TransportCurrent" "TypeCodeFactory" "Utils" "Valuetype" "XtResource" "ZIOP") + install_includes(${TAO_SOURCE_PATH} "${TAO_INCLUDE_FOLDERS}" "tao") - # Install the lib files - file(INSTALL - ${LIB_PATH}/${LIB_PREFIX}${ACE_LIBRARY}${DLL_DECORATOR}${LIB_DEBUG_SUFFIX} - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib - ) - - file(INSTALL - ${LIB_PATH}/${LIB_PREFIX}${ACE_LIBRARY}${DLL_DECORATOR}${LIB_RELEASE_SUFFIX} - DESTINATION ${CURRENT_PACKAGES_DIR}/lib - ) - endfunction() - - install_ace_library(${ACE_ROOT} "ACE") - install_ace_library(${ACE_ROOT} "ACE_Compression") - install_ace_library(${ACE_ROOT} "ACE_ETCL") - install_ace_library(${ACE_ROOT} "ACE_ETCL_Parser") - install_ace_library(${ACE_ROOT} "ACE_Monitor_Control") - if(NOT VCPKG_CMAKE_SYSTEM_NAME) - install_ace_library(${ACE_ROOT} "ACE_QoS") - endif() - install_ace_library(${ACE_ROOT} "ACE_RLECompression") - if("ssl" IN_LIST FEATURES) - install_ace_library(${ACE_ROOT} "ACE_SSL") - endif() + set(ORBSVCS_INCLUDE_FOLDERS "." "AV" "Concurrency" "CosEvent" "ESF" "FaultTolerance" "FtRtEvent/ClientORB" "FtRtEvent/EventChannel" "FtRtEvent/Utils" "HTIOP" "IFRService" + "LifeCycle" "LoadBalancing" "Log" "Naming" "Naming/FaultTolerant" "Notify" "Notify/Any" "Notify/MonitorControl" "Notify/MonitorControlExt" "Notify/Sequence" + "Notify/Structured" "PortableGroup" "Property" "Sched" "Security" "SSLIOP" "Time" "Trader") + install_includes(${TAO_ROOT}/orbsvcs/orbsvcs "${ORBSVCS_INCLUDE_FOLDERS}" "orbsvcs") +endif(BUILD_TAO) - vcpkg_copy_pdbs() +# Install libraries +function(install_libraries SOURCE_PATH LIBRARIES) + foreach(LIBRARY ${LIBRARIES}) + set(LIB_PATH ${SOURCE_PATH}/lib/) + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + # Install the DLL files + if(EXISTS ${LIB_PATH}/${LIBRARY}${DLL_RELEASE_SUFFIX}) + file(COPY ${LIB_PATH}/${LIBRARY}${DLL_RELEASE_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + endif() + if(EXISTS ${LIB_PATH}/${LIBRARY}${DLL_DEBUG_SUFFIX}) + file(COPY ${LIB_PATH}/${LIBRARY}${DLL_DEBUG_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + endif() + endif() + # Install the lib files + if(EXISTS ${LIB_PATH}/${LIB_PREFIX}${LIBRARY}${DLL_DECORATOR}${LIB_RELEASE_SUFFIX}) + file(COPY ${LIB_PATH}/${LIB_PREFIX}${LIBRARY}${DLL_DECORATOR}${LIB_RELEASE_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + endif() + if(EXISTS ${LIB_PATH}/${LIB_PREFIX}${LIBRARY}${DLL_DECORATOR}${LIB_DEBUG_SUFFIX}) + file(COPY ${LIB_PATH}/${LIB_PREFIX}${LIBRARY}${DLL_DECORATOR}${LIB_DEBUG_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() + endforeach() +endfunction() - # Handle copyright - file(COPY ${ACE_ROOT}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/ace) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/ace/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) -else(VCPKG_TARGET_IS_WINDOWS) - # VCPKG_TARGTE_IS_LINUX - FIND_PROGRAM(MAKE make) - IF (NOT MAKE) - MESSAGE(FATAL_ERROR "MAKE not found") - ENDIF () - - list(APPEND _pkg_components ACE_ETCL_Parser ACE_ETCL ACE) - if("ssl" IN_LIST FEATURES) - list(APPEND _ace_makefile_macros "ssl=1") - set(ENV{SSL_ROOT} ${CURRENT_INSTALLED_DIR}) - list(APPEND _pkg_components ACE_SSL) - endif() - set(ENV{INSTALL_PREFIX} ${CURRENT_PACKAGES_DIR}) - # Set `PWD` environment variable since ACE's `install` make target calculates install dir using this env. - set(_prev_env $ENV{PWD}) - set(ENV{PWD} ${ACE_ROOT}/ace) - - message(STATUS "Building ${TARGET_TRIPLET}-dbg") - vcpkg_execute_build_process( - COMMAND make ${_ace_makefile_macros} "debug=1" "-j${VCPKG_CONCURRENCY}" - WORKING_DIRECTORY ${ACE_ROOT}/ace - LOGNAME make-${TARGET_TRIPLET}-dbg - ) - message(STATUS "Building ${TARGET_TRIPLET}-dbg done") - message(STATUS "Packaging ${TARGET_TRIPLET}-dbg") - vcpkg_execute_build_process( - COMMAND make ${_ace_makefile_macros} install - WORKING_DIRECTORY ${ACE_ROOT}/ace - LOGNAME install-${TARGET_TRIPLET}-dbg - ) - file(COPY ${CURRENT_PACKAGES_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) - # TODO: check if we really need to remove those directories - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share) - foreach(_pkg_comp ${_pkg_components}) - file(READ ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${_pkg_comp}.pc _content) - string(REPLACE "libdir=${CURRENT_PACKAGES_DIR}/lib" "libdir=${CURRENT_PACKAGES_DIR}/debug/lib" _content ${_content}) - file(WRITE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${_pkg_comp}.pc ${_content}) - endforeach() - message(STATUS "Packaging ${TARGET_TRIPLET}-dbg done") - - vcpkg_execute_build_process( - COMMAND make ${_ace_makefile_macros} realclean - WORKING_DIRECTORY ${ACE_ROOT}/ace - LOGNAME realclean-${TARGET_TRIPLET}-dbg - ) - - message(STATUS "Building ${TARGET_TRIPLET}-rel") - vcpkg_execute_build_process( - COMMAND make ${_ace_makefile_macros} "-j${VCPKG_CONCURRENCY}" - WORKING_DIRECTORY ${ACE_ROOT}/ace - LOGNAME make-${TARGET_TRIPLET}-rel - ) - message(STATUS "Building ${TARGET_TRIPLET}-rel done") - message(STATUS "Packaging ${TARGET_TRIPLET}-rel") - vcpkg_execute_build_process( - COMMAND make ${_ace_makefile_macros} install - WORKING_DIRECTORY ${ACE_ROOT}/ace - LOGNAME install-${TARGET_TRIPLET}-rel - ) - message(STATUS "Packaging ${TARGET_TRIPLET}-rel done") - # Restore `PWD` environment variable - set($ENV{PWD} _prev_env) - - # Handle copyright - file(RENAME ${CURRENT_PACKAGES_DIR}/share/ace/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +set(ACE_TAO_LIBRARIES "ACE" "ACE_Compression" "ACE_ETCL" "ACE_ETCL_Parser" "ACE_HTBP" "ACE_INet" "ACE_INet_SSL" + "ACE_Monitor_Control" "ACE_QoS" "ACE_QtReactor" "ACE_RLECompression" "ACE_RMCast" "ACE_SSL" + "ACE_TMCast" "ACEXML" "ACEXML_Parser" "Kokyu" "TAO" "TAO_AnyTypeCode" "TAO_Async_ImR_Client_IDL" + "TAO_Async_IORTable" "TAO_AV" "TAO_BiDirGIOP" "TAO_Bzip2Compressor" "TAO_Catior_i" "TAO_CodecFactory" "TAO_Codeset" + "TAO_Compression" "TAO_CosConcurrency" "TAO_CosConcurrency_Serv" "TAO_CosConcurrency_Skel" "TAO_CosEvent" + "TAO_CosEvent_Serv" "TAO_CosEvent_Skel" "TAO_CosLifeCycle" "TAO_CosLifeCycle_Skel" "TAO_CosLoadBalancing" + "TAO_CosNaming" "TAO_CosNaming_Serv" "TAO_CosNaming_Skel" "TAO_CosNotification" "TAO_CosNotification_MC" + "TAO_CosNotification_MC_Ext" + "TAO_CosNotification_Serv" "TAO_CosNotification_Skel" "TAO_CosNotification_Persist" "TAO_CosProperty" + "TAO_CosProperty_Serv" "TAO_CosProperty_Skel" "TAO_CosTime" "TAO_CosTime_Serv" "TAO_CosTrading" + "TAO_CosTrading_Serv" "TAO_CosTrading_Skel" "TAO_CSD_Framework" "TAO_CSD_ThreadPool" "TAO_DiffServPolicy" + "TAO_DsEventLogAdmin" "TAO_DsEventLogAdmin_Serv" "TAO_DsEventLogAdmin_Skel" "TAO_DsLogAdmin" + "TAO_DsLogAdmin_Serv" "TAO_DsLogAdmin_Skel" "TAO_DsNotifyLogAdmin" "TAO_DsNotifyLogAdmin_Serv" + "TAO_DsNotifyLogAdmin_Skel" "TAO_Dynamic_TP" "TAO_DynamicAny" "TAO_DynamicInterface" "TAO_EndpointPolicy" + "TAO_ETCL" "TAO_FT_Naming_Serv" "TAO_FT_ServerORB" "TAO_FtNaming" "TAO_FtNamingReplication" + "TAO_FTORB_Utils" "TAO_FTRT_ClientORB" "TAO_FTRT_EventChannel" "TAO_FtRtEvent" "TAO_HTIOP" "TAO_IDL_BE" + "TAO_IDL_FE" "TAO_IFR_BE" "TAO_IFR_Client" "TAO_IFR_Client_skel" "TAO_ImR_Activator_IDL" "TAO_ImR_Client" + "TAO_ImR_Locator_IDL" "TAO_IORInterceptor" "TAO_IORManip" "TAO_IORTable" "TAO_Messaging" "TAO_Monitor" + "TAO_Notify_Service" "TAO_ObjRefTemplate" "TAO_PI" "TAO_PI_Server" "TAO_PortableGroup" "TAO_PortableServer" "TAO_QtResource" + "TAO_ReplicationManagerLib" "TAO_RLECompressor" "TAO_RT_Notification" "TAO_RTCORBA" "TAO_RTEvent" "TAO_RTEvent_Skel" + "TAO_RTKokyuEvent" "TAO_RTEventLogAdmin" "TAO_RTEventLogAdmin_Skel" "TAO_RTPortableServer" "TAO_RTSched" "TAO_RTScheduler" + "TAO_Security" "TAO_SmartProxies" "TAO_Strategies" "TAO_Svc_Utils" "TAO_TC" "TAO_TC_IIOP" + "TAO_TypeCodeFactory" "TAO_Utils" "TAO_Valuetype" "TAO_ZIOP" "TAO_SSLIOP" + "TAO_ZlibCompressor") +install_libraries(${ACE_ROOT} "${ACE_TAO_LIBRARIES}") + +# Install executables +function(install_tao_executables SOURCE_PATH EXE_FILE) + set(EXECUTABLE_SUFFIX "") + if(VCPKG_TARGET_IS_WINDOWS) + set(EXECUTABLE_SUFFIX ".exe") + endif() + if(EXISTS "${ACE_ROOT}/bin/${EXE_FILE}${EXECUTABLE_SUFFIX}") + file(COPY ${ACE_ROOT}/bin/${EXE_FILE}${EXECUTABLE_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + endif() +endfunction() + +install_tao_executables(${ACE_ROOT}/bin "ace_gperf") +install_tao_executables(${ACE_ROOT}/bin "tao_catior") +install_tao_executables(${ACE_ROOT}/bin "tao_idl") +install_tao_executables(${ACE_ROOT}/bin "tao_ifr") +install_tao_executables(${ACE_ROOT}/bin "tao_imr") +install_tao_executables(${ACE_ROOT}/bin "tao_nsadd") +install_tao_executables(${ACE_ROOT}/bin "tao_nsdel") +install_tao_executables(${ACE_ROOT}/bin "tao_nsgroup") +install_tao_executables(${ACE_ROOT}/bin "tao_nslist") + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(COPY ${ACE_ROOT}/lib/ACE${DLL_DEBUG_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + if(BUILD_TAO) + file(COPY ${ACE_ROOT}/lib/TAO_IDL_FE${DLL_DEBUG_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(COPY ${ACE_ROOT}/lib/TAO_IDL_BE${DLL_DEBUG_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + endif() endif() + +# Handle copyright +file(COPY ${ACE_ROOT}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) + +vcpkg_copy_pdbs() diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 3fa5958d70b1a4..522e29847308b5 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -45,10 +45,10 @@ 7zip:x64-osx=fail 7zip:x64-uwp=fail abseil:arm-uwp=fail -ace:arm64-windows=fail -ace:arm-uwp=fail ace:x64-osx=fail ace:x64-uwp=fail +ace:arm-uwp=fail +ace:x64-linux=fail activemq-cpp:x64-windows-static=fail akali:x64-uwp=fail akali:arm-uwp=fail