aboutsummaryrefslogtreecommitdiff
path: root/ports/corrade
diff options
context:
space:
mode:
authorJonathan Hale <Squareys@googlemail.com>2018-02-17 06:25:30 +0100
committerRobert Schumacher <roschuma@microsoft.com>2018-02-16 21:25:30 -0800
commit0822a28059badbb18f301b414222e869845087fb (patch)
tree42d3147cb03188cb11356be1467d468825bf8bca /ports/corrade
parent267a98536cefc946a57c627b9e55d7efc5a87b23 (diff)
downloadvcpkg-0822a28059badbb18f301b414222e869845087fb.tar.gz
vcpkg-0822a28059badbb18f301b414222e869845087fb.zip
[corrade,magnum,-plugins,-extras,-integration] Update to latest and support feature packages (#2687)
[corrade,magnum,-plugins,-extras,-integration] Update to latest and support feature packages
Diffstat (limited to 'ports/corrade')
-rw-r--r--ports/corrade/CONTROL20
-rw-r--r--ports/corrade/portfile.cmake70
2 files changed, 72 insertions, 18 deletions
diff --git a/ports/corrade/CONTROL b/ports/corrade/CONTROL
index a2d73fba8..a886c8639 100644
--- a/ports/corrade/CONTROL
+++ b/ports/corrade/CONTROL
@@ -1,3 +1,19 @@
Source: corrade
-Version: jan2018-1
-Description: C++11/C++14 multiplatform utility library http://mosra.cz/blog/corrade.php
+Version: 2018.02-1
+Description: C++11/C++14 multiplatform utility library http://magnum.graphics/corrade/
+Default-Features: interconnect, pluginmanager, testsuite, utility
+
+Feature: interconnect
+Description: Interconnect library
+Build-Depends: corrade[utility]
+
+Feature: pluginmanager
+Description: PluginManager library
+Build-Depends: corrade[utility]
+
+Feature: testsuite
+Description: TestSuite library
+Build-Depends: corrade[utility]
+
+Feature: utility
+Description: Utility library
diff --git a/ports/corrade/portfile.cmake b/ports/corrade/portfile.cmake
index d08530ef4..85ad3e4b0 100644
--- a/ports/corrade/portfile.cmake
+++ b/ports/corrade/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mosra/corrade
- REF 2dd926d23f21042838d9244c00ddd1d2f09861ee
- SHA512 085062a34c4fecc864d02f38d4d45e22f6de72f3599d67327a783c350e478fe943c5bb3f9cd5544953b55b7ffa78923b087bc0f40a54eb9ed9f5d580970b2f45
+ REF v2018.02
+ SHA512 8fe4998dc32586386b8fa2030941f3ace6d5e76aadcf7e20a620d276cc9247324e10eb58f2c2c9e84a1a9d9b336e6bdc788f9947c9e507a053d6fd2ffcd3d58e
HEAD_REF master
)
@@ -13,35 +13,73 @@ else()
set(BUILD_STATIC 0)
endif()
+# Handle features
+set(_COMPONENT_FLAGS "")
+foreach(_feature IN LISTS ALL_FEATURES)
+ # Uppercase the feature name and replace "-" with "_"
+ string(TOUPPER "${_feature}" _FEATURE)
+ string(REPLACE "-" "_" _FEATURE "${_FEATURE}")
+
+ # Turn "-DWITH_*=" ON or OFF depending on whether the feature
+ # is in the list.
+ if(_feature IN_LIST FEATURES)
+ list(APPEND _COMPONENT_FLAGS "-DWITH_${_FEATURE}=ON")
+ else()
+ list(APPEND _COMPONENT_FLAGS "-DWITH_${_FEATURE}=OFF")
+ endif()
+endforeach()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA # Disable this option if project cannot be built with Ninja
- OPTIONS -DBUILD_STATIC=${BUILD_STATIC}
+ OPTIONS
+ -DBUILD_STATIC=${BUILD_STATIC}
+ ${_COMPONENT_FLAGS}
)
vcpkg_install_cmake()
+# Debug includes and share are the same as release
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-# Drop a copy of tools
-file(COPY ${CURRENT_PACKAGES_DIR}/bin/corrade-rc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/corrade)
+# Install tools
+if("utility" IN_LIST FEATURES)
+ # Drop a copy of tools
+ file(COPY ${CURRENT_PACKAGES_DIR}/bin/corrade-rc.exe
+ DESTINATION ${CURRENT_PACKAGES_DIR}/tools/corrade)
-# Tools require dlls
-vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/corrade)
+ # Tools require dlls
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/corrade)
-file(GLOB_RECURSE TO_REMOVE
- ${CURRENT_PACKAGES_DIR}/bin/*.exe
- ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
-file(REMOVE ${TO_REMOVE})
+ file(GLOB_RECURSE TO_REMOVE
+ ${CURRENT_PACKAGES_DIR}/bin/*.exe
+ ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
+ file(REMOVE ${TO_REMOVE})
+endif()
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+# Ensure no empty folders are left behind
+if(NOT FEATURES)
+ # No features, no binaries (only Corrade.h).
+ file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/bin
+ ${CURRENT_PACKAGES_DIR}/lib
+ ${CURRENT_PACKAGES_DIR}/debug)
+ # debug is completely empty, as include and share
+ # have already been removed.
+
+elseif(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ # No dlls
+ file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/bin
+ ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/corrade)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/corrade/COPYING ${CURRENT_PACKAGES_DIR}/share/corrade/copyright)
+file(COPY ${SOURCE_PATH}/COPYING
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/corrade)
+file(RENAME
+ ${CURRENT_PACKAGES_DIR}/share/corrade/COPYING
+ ${CURRENT_PACKAGES_DIR}/share/corrade/copyright)
vcpkg_copy_pdbs()