aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/materialx
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/materialx
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/materialx')
-rw-r--r--vcpkg/ports/materialx/portfile.cmake64
-rw-r--r--vcpkg/ports/materialx/vcpkg.json33
2 files changed, 97 insertions, 0 deletions
diff --git a/vcpkg/ports/materialx/portfile.cmake b/vcpkg/ports/materialx/portfile.cmake
new file mode 100644
index 0000000..71d4238
--- /dev/null
+++ b/vcpkg/ports/materialx/portfile.cmake
@@ -0,0 +1,64 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO AcademySoftwareFoundation/MaterialX
+ REF "v${VERSION}"
+ SHA512 ca743e619f51bddd67419c79a31e9fb92dd7883e8c182897c1d8cea2e5dc51cddf13ac8cc798cfa0f022dacf4fd77881aefc24f3184f8b7273651ba55c7df400
+ HEAD_REF main
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ glsl-generator MATERIALX_BUILD_GEN_GLSL
+ mdl-generator MATERIALX_BUILD_GEN_MDL
+ osl-generator MATERIALX_BUILD_GEN_OSL
+ render MATERIALX_BUILD_RENDER
+)
+if ((VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_LINUX) AND MATERIALX_BUILD_RENDER)
+ message(WARNING "${PORT} currently requires the following libraries from the system package manager:\n libx11-dev\n\nThese can be installed on Ubuntu systems via apt-get install libx11-dev.")
+endif()
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" OPTION_BUILD_SHARED_LIB)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS ${FEATURE_OPTIONS}
+ "-DMATERIALX_BUILD_SHARED_LIBS:BOOL=${OPTION_BUILD_SHARED_LIB}"
+ "-DMATERIALX_BUILD_JS:BOOL=NO"
+ "-DMATERIALX_BUILD_PYTHON:BOOL=NO"
+ "-DMATERIALX_BUILD_VIEWER:BOOL=NO"
+ "-DMATERIALX_BUILD_DOCS:BOOL=NO"
+ "-DMATERIALX_BUILD_OIIO:BOOL=NO"
+ "-DMATERIALX_BUILD_TESTS:BOOL=NO"
+ "-DMATERIALX_PYTHON_LTO:BOOL=NO"
+ "-DMATERIALX_INSTALL_PYTHON:BOOL=NO"
+ "-DMATERIALX_TEST_RENDER:BOOL=NO"
+ "-DMATERIALX_WARNINGS_AS_ERRORS:BOOL=NO"
+ MAYBE_UNUSED_VARIABLES
+ MATERIALX_PYTHON_LTO # Used when MATERIALX_BUILD_PYTHON=ON
+)
+
+vcpkg_cmake_install()
+
+vcpkg_copy_pdbs()
+vcpkg_cmake_config_fixup(PACKAGE_NAME MaterialX CONFIG_PATH lib/cmake/MaterialX)
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/CHANGELOG.md"
+ "${CURRENT_PACKAGES_DIR}/LICENSE"
+ "${CURRENT_PACKAGES_DIR}/README.md"
+ "${CURRENT_PACKAGES_DIR}/THIRD-PARTY.md"
+ "${CURRENT_PACKAGES_DIR}/debug/CHANGELOG.md"
+ "${CURRENT_PACKAGES_DIR}/debug/LICENSE"
+ "${CURRENT_PACKAGES_DIR}/debug/README.md"
+ "${CURRENT_PACKAGES_DIR}/debug/THIRD-PARTY.md"
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+
+ # MaterialXGenShader explicitely install resources
+ "${CURRENT_PACKAGES_DIR}/include/MaterialXRender/External/OpenImageIO"
+
+ # Based on how OSL does it, it could be that those `.mdl` source would be better located inside `libraries/pbrlib/genmdl/**`
+ # But it seems that they are instead installed into `libraries/mdl`
+ "${CURRENT_PACKAGES_DIR}/include/MaterialXGenMdl/mdl"
+)
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/materialx/vcpkg.json b/vcpkg/ports/materialx/vcpkg.json
new file mode 100644
index 0000000..37fad38
--- /dev/null
+++ b/vcpkg/ports/materialx/vcpkg.json
@@ -0,0 +1,33 @@
+{
+ "name": "materialx",
+ "version": "1.39.1",
+ "port-version": 2,
+ "description": "MaterialX is an open standard for the exchange of rich material and look-development content across applications and renderers.",
+ "homepage": "https://www.materialx.org/",
+ "license": "Apache-2.0",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "features": {
+ "glsl-generator": {
+ "description": "Build the GLSL shader generator back-end."
+ },
+ "mdl-generator": {
+ "description": "Build the MDL shader generator back-end."
+ },
+ "osl-generator": {
+ "description": "Build the OSL shader generator back-end."
+ },
+ "render": {
+ "description": "Build the MaterialX Render library."
+ }
+ }
+}