aboutsummaryrefslogtreecommitdiff
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
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
-rw-r--r--ports/corrade/CONTROL20
-rw-r--r--ports/corrade/portfile.cmake70
-rw-r--r--ports/magnum-extras/CONTROL9
-rw-r--r--ports/magnum-extras/portfile.cmake72
-rw-r--r--ports/magnum-integration/CONTROL16
-rw-r--r--ports/magnum-integration/portfile.cmake67
-rw-r--r--ports/magnum-plugins/CONTROL83
-rw-r--r--ports/magnum-plugins/portfile.cmake54
-rw-r--r--ports/magnum/003-glfw-find-module.patch13
-rw-r--r--ports/magnum/CONTROL97
-rw-r--r--ports/magnum/portfile.cmake60
11 files changed, 496 insertions, 65 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()
diff --git a/ports/magnum-extras/CONTROL b/ports/magnum-extras/CONTROL
new file mode 100644
index 000000000..0e7fe0a6b
--- /dev/null
+++ b/ports/magnum-extras/CONTROL
@@ -0,0 +1,9 @@
+Source: magnum-extras
+Version: 2018.02-1
+Build-Depends: magnum
+Description: Extras for magnum, C++11/C++14 graphics middleware for games and data visualization http://magnum.graphics/
+Default-Features:
+
+Feature: ui
+Description: Ui library
+Build-Depends: corrade[interconnect], magnum[text]
diff --git a/ports/magnum-extras/portfile.cmake b/ports/magnum-extras/portfile.cmake
new file mode 100644
index 000000000..9c0771c52
--- /dev/null
+++ b/ports/magnum-extras/portfile.cmake
@@ -0,0 +1,72 @@
+include(vcpkg_common_functions)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mosra/magnum-extras
+ REF v2018.02
+ SHA512 62c0832d19a36e0f89ffcd958356130c81f577b1091a9232d43307868caf51a1fd186c4aa196bd456d3c37cb887c9802d80eb0b332893bafa812298dbc39d7b7
+ HEAD_REF master
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ set(BUILD_STATIC 1)
+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
+ ${_COMPONENT_FLAGS}
+ -DBUILD_STATIC=${BUILD_STATIC}
+ -DMAGNUM_PLUGINS_DEBUG_DIR=${CURRENT_INSTALLED_DIR}/debug/bin/magnum-d
+ -DMAGNUM_PLUGINS_RELEASE_DIR=${CURRENT_INSTALLED_DIR}/bin/magnum
+)
+
+vcpkg_install_cmake()
+
+# Messages to the user
+if("ui" IN_LIST FEATURES)
+ message(WARNING "It is recommended to install one of magnum-plugins[freetypefont,harfbuzzfont,stbtruetypefont] to have the UI library working out of the box")
+endif()
+
+# Debug includes and share are the same as release
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/share)
+
+# Clean up empty directories
+if(NOT FEATURES)
+ file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/bin
+ ${CURRENT_PACKAGES_DIR}/lib
+ ${CURRENT_PACKAGES_DIR}/debug)
+ set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/magnum-extras)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/magnum-extras/COPYING ${CURRENT_PACKAGES_DIR}/share/magnum-extras/copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/magnum-integration/CONTROL b/ports/magnum-integration/CONTROL
new file mode 100644
index 000000000..a791e5718
--- /dev/null
+++ b/ports/magnum-integration/CONTROL
@@ -0,0 +1,16 @@
+Source: magnum-integration
+Version: 2018.02-1
+Build-Depends: magnum
+Description: Integrations for magnum, C++11/C++14 graphics middleware for games and data visualization http://magnum.graphics/
+Default-Features:
+
+Feature: bullet
+Description: BulletIntegration library
+Build-Depends: bullet3
+#Feature: ovr
+#Description: OvrIntegration library
+#Build-Depends: ovrsdk
+#Feature: dart
+#Description: DartIntegration library
+#Build-Depends: dart
+
diff --git a/ports/magnum-integration/portfile.cmake b/ports/magnum-integration/portfile.cmake
new file mode 100644
index 000000000..8ef1899fd
--- /dev/null
+++ b/ports/magnum-integration/portfile.cmake
@@ -0,0 +1,67 @@
+include(vcpkg_common_functions)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mosra/magnum-integration
+ REF v2018.02
+ SHA512 b2db442d5e29c117ee30ee2c37f5087c3d360158a52eb6bc19e5c1a0388a0ec1338c53e3fdad618bb6f4aba5d88fe10d20bb1539e5f21a309b8f06f2e195279c
+ HEAD_REF master
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ set(BUILD_STATIC 1)
+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
+ ${_COMPONENT_FLAGS}
+ -DBUILD_STATIC=${BUILD_STATIC}
+ -DMAGNUM_PLUGINS_DEBUG_DIR=${CURRENT_INSTALLED_DIR}/debug/bin/magnum-d
+ -DMAGNUM_PLUGINS_RELEASE_DIR=${CURRENT_INSTALLED_DIR}/bin/magnum
+)
+
+vcpkg_install_cmake()
+
+# Debug includes and share are the same as release
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/share)
+
+# Clean up empty directories
+if(NOT FEATURES)
+ file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/bin
+ ${CURRENT_PACKAGES_DIR}/lib
+ ${CURRENT_PACKAGES_DIR}/debug)
+ set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/magnum-integration)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/magnum-integration/COPYING ${CURRENT_PACKAGES_DIR}/share/magnum-integration/copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/magnum-plugins/CONTROL b/ports/magnum-plugins/CONTROL
index 5c76b45ae..12a444e2d 100644
--- a/ports/magnum-plugins/CONTROL
+++ b/ports/magnum-plugins/CONTROL
@@ -1,4 +1,81 @@
Source: magnum-plugins
-Version: jan2018-1
-Build-Depends: stb, magnum
-Description: Plugins for C++11/C++14 and OpenGL graphics engine http://mosra.cz/blog/magnum.php
+Version: 2018.02-1
+Build-Depends: magnum
+Description: Plugins for magnum, C++11/C++14 graphics middleware for games and data visualization http://magnum.graphics/
+Default-Features: anyimageimporter, anysceneimporter, anyimageconverter, ddsimporter, miniexrimageconverter, opengeximporter, stanfordimporter, stbimageconverter, stbimageimporter
+
+Feature: anyimageimporter
+Description: AnyImageImporter plugin
+
+Feature: anyaudioimporter
+Description: AnyAudioImporter plugin
+
+Feature: anyimageconverter
+Description: AnyImageConverter plugin
+
+Feature: anysceneimporter
+Description: AnySceneImporter plugin
+
+Feature: assimpimporter
+Description: AssimpImporter plugin
+Build-Depends: assimp, magnum-plugins[anyimageimporter]
+
+Feature: ddsimporter
+Description: DdsImporter plugin
+
+Feature: devilimageimporter
+Description: DevIlImageImporter plugin
+Build-Depends: devil
+
+Feature: drflacaudioimporter
+Description: DrFlacAudioImporter plugin
+Build-Depends: magnum[audio]
+
+Feature: drwavaudioimporter
+Description: DrWavAudioImporter plugin
+Build-Depends: magnum[audio]
+
+Feature: freetypefont
+Description: FreeTypeFont plugin
+Build-Depends: freetype, magnum[text]
+
+Feature: harfbuzzfont
+Description: HarfBuzzFont plugin
+Build-Depends: harfbuzz, magnum-plugins[freetypefont]
+
+Feature: jpegimporter
+Description: JpegImporter plugin
+Build-Depends: libjpeg-turbo
+
+Feature: miniexrimageconverter
+Description: MiniExrImageConverter plugin
+
+Feature: opengeximporter
+Description: OpenGexImporter plugin
+Build-Depends: magnum-plugins[anyimageimporter]
+
+Feature: pngimageconverter
+Description: PngImageConverter plugin
+Build-Depends: libpng
+
+Feature: pngimporter
+Description: PngImporter plugin
+Build-Depends: libpng
+
+Feature: stanfordimporter
+Description: StanfordImporter plugin
+
+Feature: stbimageconverter
+Description: StbImageConverter plugin
+
+Feature: stbimageimporter
+Description: StbImageImporter plugin
+
+Feature: stbtruetypefont
+Description: StbTrueTypeFont plugin
+Build-Depends: magnum[text]
+
+Feature: stbvorbisaudioimporter
+Description: StbVorbisAudioImporter plugin
+Build-Depends: magnum[audio]
+
diff --git a/ports/magnum-plugins/portfile.cmake b/ports/magnum-plugins/portfile.cmake
index b2b574b06..86e5622d5 100644
--- a/ports/magnum-plugins/portfile.cmake
+++ b/ports/magnum-plugins/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mosra/magnum-plugins
- REF f0ddc63385e30c3bae362789855a95de7c46f8a7
- SHA512 d0afda7be75efd2dec731e9435732220a76e735ef58d860f7119f206b1d5828af6e70aca3517b0f930c83440930ed62cb03e6c123e37771b72c50ddb44676945
+ REF v2018.02
+ SHA512 650d3ec26b3c72aa98ffa242b072e382445de49d4849042faf5dac800d5e4cce223cac3fa1cc079fcb230632730af1d90ac7d347d152a1f31d224732499e96b4
HEAD_REF master
)
@@ -15,38 +15,51 @@ vcpkg_apply_patches(
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
set(BUILD_STATIC 1)
- set(BUILD_PLUGINS_STATIC 1)
else()
set(BUILD_STATIC 0)
- set(BUILD_PLUGINS_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
- -DWITH_STBIMAGECONVERTER=ON
- -DWITH_STBIMAGEIMPORTER=ON
- -DWITH_STBTRUETYPEFONT=ON
- -DWITH_STBTRUETYPEFONT=ON
- -DWITH_MINIEXRIMAGECONVERTER=ON
- -DWITH_OPENGEXIMPORTER=ON
- -DWITH_OPENGEXIMPORTER=ON
- -DWITH_STANFORDIMPORTER=ON
- -DWITH_DRWAVAUDIOIMPORTER=ON
- -DWITH_ANYAUDIOIMPORTER=ON
- -DWITH_ANYIMAGECONVERTER=ON
- -DWITH_ANYSCENEIMPORTER=ON
+ ${_COMPONENT_FLAGS}
-DBUILD_STATIC=${BUILD_STATIC}
- -DBUILD_PLUGINS_STATIC=${BUILD_PLUGINS_STATIC}
-DMAGNUM_PLUGINS_DEBUG_DIR=${CURRENT_INSTALLED_DIR}/debug/bin/magnum-d
-DMAGNUM_PLUGINS_RELEASE_DIR=${CURRENT_INSTALLED_DIR}/bin/magnum
)
vcpkg_install_cmake()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+# Debug includes and share are the same as release
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/share)
+
+# Clean up empty directories
+if(NOT FEATURES)
+ file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/bin
+ ${CURRENT_PACKAGES_DIR}/lib
+ ${CURRENT_PACKAGES_DIR}/debug)
+ set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
+endif()
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
@@ -66,6 +79,9 @@ else()
# hint vcpkg
set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/MagnumPlugins)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/magnum)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/magnum-d)
endif()
# Handle copyright
diff --git a/ports/magnum/003-glfw-find-module.patch b/ports/magnum/003-glfw-find-module.patch
new file mode 100644
index 000000000..0517559e3
--- /dev/null
+++ b/ports/magnum/003-glfw-find-module.patch
@@ -0,0 +1,13 @@
+diff --git a/modules/FindGLFW.cmake b/modules/FindGLFW.cmake
+index e831fdb2..b2dba97f 100644
+--- a/modules/FindGLFW.cmake
++++ b/modules/FindGLFW.cmake
+@@ -39,7 +39,7 @@
+ # DEALINGS IN THE SOFTWARE.
+ #
+
+-find_library(GLFW_LIBRARY NAMES glfw glfw3)
++find_library(GLFW_LIBRARY NAMES glfw glfw3 glfw3dll)
+
+ # Include dir
+ find_path(GLFW_INCLUDE_DIR
diff --git a/ports/magnum/CONTROL b/ports/magnum/CONTROL
index a54adc118..dcf86f079 100644
--- a/ports/magnum/CONTROL
+++ b/ports/magnum/CONTROL
@@ -1,4 +1,95 @@
Source: magnum
-Version: jan2018-1
-Build-Depends: corrade, sdl2, openal-soft
-Description: C++11/C++14 and OpenGL graphics engine http://mosra.cz/blog/magnum.php
+Version: 2018.02-1
+Build-Depends: corrade[pluginmanager], corrade[utility]
+Description: C++11/C++14 graphics middleware for games and data visualization http://magnum.graphics/
+Default-Features: debugtools, meshtools, primitives, scenegraph, shaders, shapes, text, texturetools, sdl2application, windowlesswglapplication
+
+Feature: sdl2application
+Description: Sdl2Application library
+Build-Depends: sdl2
+
+Feature: glfwapplication
+Description: GlfwApplication library
+Build-Depends: glfw3
+
+Feature: glutapplication
+Description: GlutApplication library
+Build-Depends: freeglut
+
+Feature: audio
+Description: Audio library
+Build-Depends: openal-soft
+
+Feature: magnuminfo
+Description: magnum-info utility
+
+Feature: fontconverter
+Description: magnum-fontconverter utility
+Build-Depends: magnum[text]
+
+Feature: distancefieldconverter
+Description: magnum-distancefieldconverter utility
+Build-Depends: magnum[texturetools]
+
+Feature: imageconverter
+Description: magnum-imageconverter utility
+
+Feature: wavaudioimporter
+Description: WavAudioImporter plugin
+Build-Depends: magnum[audio]
+
+Feature: magnumfont
+Description: MagnumFont plugin
+Build-Depends: magnum[text]
+
+Feature: magnumfontconverter
+Description: MagnumFontConverter plugin
+Build-Depends: magnum[text], magnum[tgaimageconverter]
+
+Feature: objimporter
+Description: ObjImporter plugin
+
+Feature: tgaimageconverter
+Description: TgaImageConverter plugin
+
+Feature: tgaimporter
+Description: TgaImporter plugin
+
+Feature: debugtools
+Description: DebugTools library
+
+Feature: meshtools
+Description: MeshTools library
+
+Feature: primitives
+Description: Primitives library
+
+Feature: shapes
+Description: Shapes library
+
+Feature: scenegraph
+Description: SceneGraph library
+
+Feature: shaders
+Description: Shaders library
+
+Feature: text
+Description: Text library
+Build-Depends: magnum[texturetools]
+
+Feature: texturetools
+Description: TextureTools library
+
+Feature: al-info
+Description: magnum-al-info utility
+Build-Depends: magnum[audio]
+
+Feature: windowlesswglapplication
+Description: WindowlessWglApplication library
+
+Feature: wglcontext
+Description: WglContext library
+
+Feature: opengltester
+Description: OpenGLTester library
+Build-Depends: corrade[testsuite]
diff --git a/ports/magnum/portfile.cmake b/ports/magnum/portfile.cmake
index 57c62431e..10d7f02fc 100644
--- a/ports/magnum/portfile.cmake
+++ b/ports/magnum/portfile.cmake
@@ -2,16 +2,17 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mosra/magnum
- REF 68953f8c872b7c08f792c6082b8ab152f2119560
- SHA512 00b507b85ed3454f81fe7098e1fc349d4048a2372e3b2aceabccc0c4287540ed3850f8dd9cdcd9cfb9542ba9af741e30e43e2b03bbc5490b552f862da34369b1
+ REF v2018.02
+ SHA512 aeb0cab91ae0a7cca79c15ce98d9b2f8d46f5bc11bb90718e59188bf233154fb51668e0241112b65103f40e675736d74c86a2e5ccffcb698780ccedb1b3fb8bd
HEAD_REF master
)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/001-sdl-includes.patch
+ ${CMAKE_CURRENT_LIST_DIR}/001-sdl-includes.patch
${CMAKE_CURRENT_LIST_DIR}/002-tools-path.patch
+ ${CMAKE_CURRENT_LIST_DIR}/003-glfw-find-module.patch
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
@@ -22,23 +23,27 @@ else()
set(BUILD_PLUGINS_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
- -DWITH_SDL2APPLICATION=ON
- -DWITH_WINDOWLESSWGLAPPLICATION=ON
- -DWITH_WGLCONTEXT=ON
- -DWITH_OPENGLTESTER=ON
- -DWITH_AUDIO=ON
- -DWITH_WAVAUDIOIMPORTER=ON
- -DWITH_MAGNUMFONT=ON
- -DWITH_MAGNUMFONTCONVERTER=ON
- -DWITH_OBJIMPORTER=ON
- -DWITH_TGAIMPORTER=ON
- -DWITH_DISTANCEFIELDCONVERTER=ON
- -DWITH_FONTCONVERTER=ON
- -DWITH_TGAIMAGECONVERTER=ON
+ ${_COMPONENT_FLAGS}
-DBUILD_STATIC=${BUILD_STATIC}
-DBUILD_PLUGINS_STATIC=${BUILD_PLUGINS_STATIC}
-DMAGNUM_PLUGINS_DEBUG_DIR=${CURRENT_INSTALLED_DIR}/debug/bin/magnum-d
@@ -48,17 +53,28 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
# Drop a copy of tools
-file(COPY ${CURRENT_PACKAGES_DIR}/bin/magnum-distancefieldconverter.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/magnum)
-file(COPY ${CURRENT_PACKAGES_DIR}/bin/magnum-fontconverter.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/magnum)
+if(distancefieldconverter IN_LIST FEATURES)
+ file(COPY ${CURRENT_PACKAGES_DIR}/bin/magnum-distancefieldconverter.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/magnum)
+endif()
+if(fontconverter IN_LIST FEATURES)
+ file(COPY ${CURRENT_PACKAGES_DIR}/bin/magnum-fontconverter.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/magnum)
+endif()
+if(al-info IN_LIST FEATURES)
+ file(COPY ${CURRENT_PACKAGES_DIR}/bin/magnum-al-info.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/magnum)
+endif()
+if(magnuminfo IN_LIST FEATURES)
+ file(COPY ${CURRENT_PACKAGES_DIR}/bin/magnum-info.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/magnum)
+endif()
# Tools require dlls
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/magnum)
-file(GLOB_RECURSE TO_REMOVE
+file(GLOB_RECURSE TO_REMOVE
${CURRENT_PACKAGES_DIR}/bin/*.exe
${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
-file(REMOVE ${TO_REMOVE})
-
+if(TO_REMOVE)
+ file(REMOVE ${TO_REMOVE})
+endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
@@ -84,4 +100,4 @@ endif()
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/magnum)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/magnum/COPYING ${CURRENT_PACKAGES_DIR}/share/magnum/copyright)
-vcpkg_copy_pdbs() \ No newline at end of file
+vcpkg_copy_pdbs()