aboutsummaryrefslogtreecommitdiff
path: root/ports/ace/portfile.cmake
diff options
context:
space:
mode:
authorErik Sohns <esohns@users.noreply.github.com>2021-10-15 03:13:06 +0200
committerGitHub <noreply@github.com>2021-10-14 18:13:06 -0700
commita151bfd9892d096cb7ce54afdb70530c09b12e7b (patch)
tree446e78f33781478387b38ad7a8a6264798f39eb4 /ports/ace/portfile.cmake
parentb8f91d13f3494cd673776aabdc504f5c736fdba2 (diff)
downloadvcpkg-master.tar.gz
vcpkg-master.zip
[ace] Added missing 'xml' feature implementation (#20032)HEADmaster
* added missing 'xml' feature implementation * updated versions * Update version database * small fixes and update version database * merged changes * Update version database * add version-port * update version * fixed [tao] feature * updated version database * forgot to merge this * update version * another small change * update version database * pass the same ACE features to ACEXML as well * update version * fixed zlib feature * update version * fixed x64-windows-static triplet * update version * incorporated requested changes after review * update version * updated "version" string * updated version * use current_install_dir * update version Co-authored-by: Erik Sohns <erik.sohns@posteo.de> Co-authored-by: Jonliu1993 <13720414433@163.com> Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Diffstat (limited to 'ports/ace/portfile.cmake')
-rw-r--r--ports/ace/portfile.cmake94
1 files changed, 91 insertions, 3 deletions
diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake
index 239cc279a..7cfd84321 100644
--- a/ports/ace/portfile.cmake
+++ b/ports/ace/portfile.cmake
@@ -118,14 +118,36 @@ vcpkg_execute_build_process(
LOGNAME mwc-${TARGET_TRIPLET}
)
+if("xml" IN_LIST FEATURES)
+ vcpkg_execute_build_process(
+ COMMAND ${PERL} ${ACE_ROOT}/bin/mwc.pl -type ${SOLUTION_TYPE} -features "${ACE_FEATURES}" ${ACE_ROOT}/ACEXML/ACEXML.mwc ${MPC_STATIC_FLAG} ${MPC_VALUE_TEMPLATE}
+ WORKING_DIRECTORY ${ACE_ROOT}/ACEXML
+ LOGNAME mwc-xml-${TARGET_TRIPLET}
+ )
+endif()
+
if(VCPKG_TARGET_IS_WINDOWS)
+ if("tao" IN_LIST FEATURES OR "xml" IN_LIST FEATURES)
+ file(WRITE ${SOURCE_PATH}/Directory.Build.props "<?xml version=\"1.0\" encoding=\"utf-8\"?>
+ <Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <AdditionalOptions>/MP</AdditionalOptions>
+ <AdditionalIncludeDirectories>${ACE_ROOT}</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <AdditionalLibraryDirectories>${CURRENT_PACKAGES_DIR}/lib;${CURRENT_PACKAGES_DIR}/debug/lib;${CURRENT_INSTALLED_DIR}/lib;${CURRENT_INSTALLED_DIR}/debug/lib</AdditionalLibraryDirectories>
+ </Link>
+ </ItemDefinitionGroup>
+ </Project>")
+ endif()
+
file(RELATIVE_PATH PROJECT_SUBPATH ${SOURCE_PATH} ${WORKSPACE}.sln)
vcpkg_install_msbuild(
SOURCE_PATH ${SOURCE_PATH}
PROJECT_SUBPATH ${PROJECT_SUBPATH}
LICENSE_SUBPATH COPYING
PLATFORM ${MSBUILD_PLATFORM}
- USE_VCPKG_INTEGRATION
SKIP_CLEAN
)
@@ -262,9 +284,24 @@ if(VCPKG_TARGET_IS_WINDOWS)
install_includes(${SOURCE_COPY_PATH}/TAO "${TAO_INCLUDE_FOLDERS}")
endif()
+ if("xml" IN_LIST FEATURES)
+ file(RELATIVE_PATH PROJECT_SUBPATH_XML ${SOURCE_PATH} ${ACE_ROOT}/ACEXML/ACEXML.sln)
+ vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH ${PROJECT_SUBPATH_XML}
+ LICENSE_SUBPATH COPYING
+ PLATFORM ${MSBUILD_PLATFORM}
+ SKIP_CLEAN
+ )
+
+ set(ACEXML_INCLUDE_FOLDERS "ACEXML/common"
+ "ACEXML/parser/parser")
+ install_includes(${SOURCE_COPY_PATH} "${ACEXML_INCLUDE_FOLDERS}")
+ endif()
+
# Remove dlls without any export
- if("tao" IN_LIST FEATURES)
- if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ if("tao" IN_LIST FEATURES OR "xml" IN_LIST FEATURES)
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
file(REMOVE
${CURRENT_PACKAGES_DIR}/bin/ACEXML_XML_Svc_Conf_Parser.dll
${CURRENT_PACKAGES_DIR}/bin/ACEXML_XML_Svc_Conf_Parser.pdb
@@ -273,6 +310,22 @@ if(VCPKG_TARGET_IS_WINDOWS)
endif()
endif()
+ # remove (erroneous) duplicate libs
+ if("tao" IN_LIST FEATURES)
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(REMOVE
+ ${CURRENT_PACKAGES_DIR}/debug/lib/tao_cosconcurrency.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/tao_cosevent.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/tao_coslifecycle.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/tao_cosnaming.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/tao_cosnotification.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/tao_costrading.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/tao_imr_activator.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/tao_imr_locator.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/tao_rtevent.lib)
+ endif()
+ endif()
+
vcpkg_clean_msbuild()
elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX)
FIND_PROGRAM(MAKE make)
@@ -296,6 +349,13 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX)
WORKING_DIRECTORY ${WORKING_DIR}
LOGNAME make-${TARGET_TRIPLET}-dbg
)
+ if("xml" IN_LIST FEATURES)
+ vcpkg_execute_build_process(
+ COMMAND make ${_ace_makefile_macros} "debug=1" "optimize=0" "-j${VCPKG_CONCURRENCY}"
+ WORKING_DIRECTORY ${WORKING_DIR}/ACEXML
+ LOGNAME make-xml-${TARGET_TRIPLET}-dbg
+ )
+ endif()
message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
message(STATUS "Packaging ${TARGET_TRIPLET}-dbg")
vcpkg_execute_build_process(
@@ -303,6 +363,13 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX)
WORKING_DIRECTORY ${WORKING_DIR}
LOGNAME install-${TARGET_TRIPLET}-dbg
)
+ if("xml" IN_LIST FEATURES)
+ vcpkg_execute_build_process(
+ COMMAND make ${_ace_makefile_macros} install
+ WORKING_DIRECTORY ${WORKING_DIR}/ACEXML
+ LOGNAME install-xml-${TARGET_TRIPLET}-dbg
+ )
+ endif()
file(COPY ${CURRENT_PACKAGES_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug)
@@ -319,6 +386,13 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX)
WORKING_DIRECTORY ${WORKING_DIR}
LOGNAME realclean-${TARGET_TRIPLET}-dbg
)
+ if("xml" IN_LIST FEATURES)
+ vcpkg_execute_build_process(
+ COMMAND make ${_ace_makefile_macros} realclean
+ WORKING_DIRECTORY ${WORKING_DIR}/ACEXML
+ LOGNAME realclean-xml-${TARGET_TRIPLET}-dbg
+ )
+ endif()
message(STATUS "Building ${TARGET_TRIPLET}-rel")
vcpkg_execute_build_process(
@@ -326,6 +400,13 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX)
WORKING_DIRECTORY ${WORKING_DIR}
LOGNAME make-${TARGET_TRIPLET}-rel
)
+ if("xml" IN_LIST FEATURES)
+ vcpkg_execute_build_process(
+ COMMAND make ${_ace_makefile_macros} "-j${VCPKG_CONCURRENCY}"
+ WORKING_DIRECTORY ${WORKING_DIR}/ACEXML
+ LOGNAME make-xml-${TARGET_TRIPLET}-rel
+ )
+ endif()
message(STATUS "Building ${TARGET_TRIPLET}-rel done")
message(STATUS "Packaging ${TARGET_TRIPLET}-rel")
vcpkg_execute_build_process(
@@ -333,6 +414,13 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX)
WORKING_DIRECTORY ${WORKING_DIR}
LOGNAME install-${TARGET_TRIPLET}-rel
)
+ if("xml" IN_LIST FEATURES)
+ vcpkg_execute_build_process(
+ COMMAND make ${_ace_makefile_macros} install
+ WORKING_DIRECTORY ${WORKING_DIR}/ACEXML
+ LOGNAME install-xml-${TARGET_TRIPLET}-rel
+ )
+ endif()
if("tao" IN_LIST FEATURES)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools)
file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT})