diff options
| author | Johnny Willemsen <jwillemsen@remedy.nl> | 2019-03-25 20:09:36 +0100 |
|---|---|---|
| committer | Phil Christensen <philc@microsoft.com> | 2019-03-25 12:09:36 -0700 |
| commit | 42139b5af9eee705ae007980c6e4ba02892ddda5 (patch) | |
| tree | c0ddb517abc3b230427106c8202012e0b0f1242a | |
| parent | b6a08c15af73a2bf39a97fdba45957a3723ad54d (diff) | |
| download | vcpkg-42139b5af9eee705ae007980c6e4ba02892ddda5.tar.gz vcpkg-42139b5af9eee705ae007980c6e4ba02892ddda5.zip | |
[ace] Add support for vcpkg install ace on Linux (#5802)
* [ace] Add support for vcpkg install ace on Linux
* ports/ace/CONTROL:
* ports/ace/portfile.cmake:
* Fix mwc logfile name
* ports/ace/portfile.cmake:
* Fixed windows detection
* ports/ace/portfile.cmake:
| -rw-r--r-- | ports/ace/CONTROL | 2 | ||||
| -rw-r--r-- | ports/ace/portfile.cmake | 57 |
2 files changed, 45 insertions, 14 deletions
diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL index cb11cfce5..d3e25dcf9 100644 --- a/ports/ace/CONTROL +++ b/ports/ace/CONTROL @@ -1,3 +1,3 @@ Source: ace -Version: 6.5.4-2 +Version: 6.5.4-3 Description: The ADAPTIVE Communication Environment diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake index 600be9ae0..87fd822ad 100644 --- a/ports/ace/portfile.cmake +++ b/ports/ace/portfile.cmake @@ -3,8 +3,10 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") endif() if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(MPC_STATIC_FLAG -static) + if(NOT VCPKG_CMAKE_SYSTEM_NAME) set(DLL_DECORATOR s) + endif() + set(MPC_STATIC_FLAG -static) endif() include(vcpkg_common_functions) set(ACE_ROOT ${CURRENT_BUILDTREES_DIR}/src/ACE_wrappers) @@ -29,27 +31,54 @@ else () set(MSBUILD_PLATFORM ${TRIPLET_SYSTEM_ARCH}) endif() -if(VCPKG_PLATFORM_TOOLSET MATCHES "v141") +# Add ace/config.h file +# see https://htmlpreview.github.io/?https://github.com/DOCGroup/ACE_TAO/blob/master/ACE/ACE-INSTALL.html +if(NOT VCPKG_CMAKE_SYSTEM_NAME) + set(LIB_RELEASE_SUFFIX .lib) + set(LIB_DEBUG_SUFFIX d.lib) + if(VCPKG_PLATFORM_TOOLSET MATCHES "v141") set(SOLUTION_TYPE vs2017) -else() + else() set(SOLUTION_TYPE vc14) + endif() + file(WRITE ${SOURCE_PATH}/config.h "#include \"ace/config-windows.h\"") endif() -# Add ace/config.h file -# see https://htmlpreview.github.io/?https://github.com/DOCGroup/ACE_TAO/blob/master/ACE/ACE-INSTALL.html -file(WRITE ${SOURCE_PATH}/config.h "#include \"ace/config-windows.h\"") +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(DLL_DECORATOR) + set(LIB_RELEASE_SUFFIX .a) + set(LIB_DEBUG_SUFFIX .a) + set(LIB_PREFIX lib) + set(SOLUTION_TYPE gnuace) + file(WRITE ${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_required_process( COMMAND ${PERL} ${ACE_ROOT}/bin/mwc.pl -type ${SOLUTION_TYPE} ace ${MPC_STATIC_FLAG} WORKING_DIRECTORY ${ACE_ROOT} - LOGNAME mwc + LOGNAME mwc-${TARGET_TRIPLET} ) -vcpkg_build_msbuild( +if(NOT VCPKG_CMAKE_SYSTEM_NAME) + vcpkg_build_msbuild( PROJECT_PATH ${SOURCE_PATH}/ace.sln PLATFORM ${MSBUILD_PLATFORM} -) + ) +endif() + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + FIND_PROGRAM(MAKE make) + IF (NOT MAKE) + MESSAGE(FATAL_ERROR "MAKE not found") + ENDIF () + vcpkg_execute_required_process( + COMMAND make + WORKING_DIRECTORY ${ACE_ROOT}/ace + LOGNAME make-${TARGET_TRIPLET} + ) +endif() # 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 @@ -93,12 +122,12 @@ function(install_ace_library SOURCE_PATH ACE_LIBRARY) # Install the lib files file(INSTALL - ${LIB_PATH}/${ACE_LIBRARY}${DLL_DECORATOR}d.lib + ${LIB_PATH}/${LIB_PREFIX}${ACE_LIBRARY}${DLL_DECORATOR}${LIB_DEBUG_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib ) file(INSTALL - ${LIB_PATH}/${ACE_LIBRARY}${DLL_DECORATOR}.lib + ${LIB_PATH}/${LIB_PREFIX}${ACE_LIBRARY}${DLL_DECORATOR}${LIB_RELEASE_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/lib ) endfunction() @@ -108,11 +137,13 @@ 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") -install_ace_library(${ACE_ROOT} "ACE_QoS") +if(NOT VCPKG_CMAKE_SYSTEM_NAME) + install_ace_library(${ACE_ROOT} "ACE_QoS") +endif() install_ace_library(${ACE_ROOT} "ACE_RLECompression") # 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/ace/copyright) -vcpkg_copy_pdbs()
\ No newline at end of file +vcpkg_copy_pdbs() |
