From 13ec697c39ff6441393003f38635898b04d6d931 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Fri, 19 Oct 2018 02:55:52 -0700 Subject: [ecsutil] Simplify and use vcpkg_install_msbuild --- ports/ecsutil/CONTROL | 1 + ports/ecsutil/portfile.cmake | 89 +++++++++++++++----------------------------- 2 files changed, 30 insertions(+), 60 deletions(-) diff --git a/ports/ecsutil/CONTROL b/ports/ecsutil/CONTROL index 1a4eff9c2..baec5a3cb 100644 --- a/ports/ecsutil/CONTROL +++ b/ports/ecsutil/CONTROL @@ -1,3 +1,4 @@ Source: ecsutil Version: 1.0.1.2 Description: Native Windows SDK for accessing ECS via the S3 HTTP protocol. +Build-Depends: atlmfc diff --git a/ports/ecsutil/portfile.cmake b/ports/ecsutil/portfile.cmake index 874759afc..dd29d0b93 100644 --- a/ports/ecsutil/portfile.cmake +++ b/ports/ecsutil/portfile.cmake @@ -1,80 +1,49 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) -set(ECSUTIL_VERSION "v1.0.1.2") -set(ECSUtil_HASH 399aec10a625ee6eb8f7869005b9221a1e4930c7e8774c20467ddc0e86312e7e1224fb29a1b54d3c9669b78708a23db548195f8973a19eb5559338f600688888) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src) - -#architecture detection if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(ECSUtil_ARCH Win32) + set(PLATFORM x86) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(ECSUtil_ARCH x64) + set(PLATFORM x64) else() - message(FATAL_ERROR "unsupported architecture") + message(FATAL_ERROR "Unsupported architecture") +endif() + +if(VCPKG_CMAKE_SYSTEM_NAME) + message(FATAL_ERROR "Unsupported platform. ECSUTIL currently only supports windows desktop.") endif() if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set(ECSUtil_CONFIGURATION_RELEASE Release) set(ECSUtil_CONFIGURATION_DEBUG Debug) else() - if (VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(ECSUtil_CONFIGURATION_RELEASE "Release Lib") - set(ECSUtil_CONFIGURATION_DEBUG "Debug Lib") - else() - set(ECSUtil_CONFIGURATION_RELEASE "Release Lib Static") - set(ECSUtil_CONFIGURATION_DEBUG "Debug Lib Static") - endif() + if (VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(ECSUtil_CONFIGURATION_RELEASE "Release Lib") + set(ECSUtil_CONFIGURATION_DEBUG "Debug Lib") + else() + set(ECSUtil_CONFIGURATION_RELEASE "Release Lib Static") + set(ECSUtil_CONFIGURATION_DEBUG "Debug Lib Static") + endif() endif() -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/EMCECS/ecs-object-client-windows-cpp/releases/download/${ECSUTIL_VERSION}/ecs-object-client-windows-cpp.${ECSUTIL_VERSION}.zip" - FILENAME "ecs-object-client-windows-cpp.${ECSUTIL_VERSION}.zip" - SHA512 ${ECSUtil_HASH} +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO EMCECS/ecs-object-client-windows-cpp + REF v1.0.1.2 + SHA512 ee6c9086111f9cb4a3b9b0645a6a8921bae1d3e8fba0d054d824935b0ff82a57db5c1476183202694afe33f89bfc47db1ef91696a739a1a43a1e2411e4361e6f + HEAD_REF master + PATCHES disable-setversion.patch ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/ECSUtil.sln - TARGET ECSUtil +vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH ECSUtil.sln + PLATFORM ${PLATFORM} + LICENSE_SUBPATH license.txt + TARGET ECSUtil RELEASE_CONFIGURATION ${ECSUtil_CONFIGURATION_RELEASE} DEBUG_CONFIGURATION ${ECSUtil_CONFIGURATION_DEBUG} ) file(COPY ${SOURCE_PATH}/ECSUtil DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN *.h) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/ECSUtil/res) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(COPY ${SOURCE_PATH}/Debug/${ECSUtil_ARCH}/ECSUtil.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(COPY ${SOURCE_PATH}/Debug/${ECSUtil_ARCH}/ECSUtil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(COPY ${SOURCE_PATH}/Release/${ECSUtil_ARCH}/ECSUtil.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(COPY ${SOURCE_PATH}/Release/${ECSUtil_ARCH}/ECSUtil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -elseif (VCPKG_LIBRARY_LINKAGE STREQUAL static) - if (VCPKG_CRT_LINKAGE STREQUAL dynamic) - file(COPY "${SOURCE_PATH}/Debug Lib/${ECSUtil_ARCH}/ECSUtil.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(COPY "${SOURCE_PATH}/objDebug Lib/${ECSUtil_ARCH}/ECSUtil/ECSUtil.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(COPY "${SOURCE_PATH}/Release Lib/${ECSUtil_ARCH}/ECSUtil.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(COPY "${SOURCE_PATH}/objRelease Lib/${ECSUtil_ARCH}/ECSUtil/ECSUtil.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - else() - file(COPY "${SOURCE_PATH}/Debug Lib Static/${ECSUtil_ARCH}/ECSUtil.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(COPY "${SOURCE_PATH}/objDebug Lib Static/${ECSUtil_ARCH}/ECSUtil/ECSUtil.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(COPY "${SOURCE_PATH}/Release Lib Static/${ECSUtil_ARCH}/ECSUtil.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(COPY "${SOURCE_PATH}/objRelease Lib Static/${ECSUtil_ARCH}/ECSUtil/ECSUtil.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - endif() -endif() - -# Handle copyright -file(COPY ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/ecsutil/copyright) - -vcpkg_copy_pdbs() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/ECSUtil/res ${CURRENT_PACKAGES_DIR}/tools) +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/NatvisAddIn.dll ${CURRENT_PACKAGES_DIR}/debug/bin/NatvisAddIn.dll) -- cgit v1.2.3