directxmesh, directxtex, and uvatlas now support linux (#15554)

* Update for directx-headers release 1.0.1

* DirectXMesh, DirectXTex, and UVAtlas now support Linux

* Updated hashes and bins

* Fix linux builds

* Fixed directxtex[openexr] for x64-linux

* Removed stray file

* directxmath hot-fix for GCC arm64

* Fixed hash

* Hash fix again

* x64-linux CIs use GCC 7, but I require GCC 9

* Added warning message for GCC 9 requirement
This commit is contained in:
Chuck Walbourn 2021-01-12 20:01:37 -08:00 committed by GitHub
parent 2dd2e62345
commit 3fcfccf0ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 77 additions and 66 deletions

View File

@ -1,5 +1,5 @@
Source: directx-headers
Version: 1.0
Version: 1.0.1
Homepage: https://devblogs.microsoft.com/directx/
Description: Official DirectX headers
Supports: windows|linux

View File

@ -3,8 +3,8 @@ vcpkg_fail_port_install(ON_TARGET "OSX")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectX-Headers
REF v1.0
SHA512 73e35142ff460aa6114a9fa298ce409d4b1cb34fb7bbb1ca55687cf7aca05197c48a02ae8c81bcb36b39b1a3f75d8ecbe503a752df70f4b0980fc026a92df84b
REF v1.0.1
SHA512 1b0f89088b7dba846d443fd943787848435bd1b731adc7e2f4fab6f32203775153811a7d7c297ecf44ca60628db8346a8246942c609c5116481a70e67633fb04
HEAD_REF master
)

View File

@ -1,4 +1,4 @@
Source: directxmath
Version: dec2020b
Version: jan2021
Homepage: https://walbourn.github.io/introducing-directxmath/
Description: DirectXMath SIMD C++ math library

View File

@ -1,9 +1,10 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXMath
REF dec2020b
SHA512 59f2e7024b145e09ec40639627344175e77db0527888dce07a6e5785cb240ed163c8d5b063222226ddd1af8128de1d842ff15a1f6e9f5e1e1a14dfd2da1a270b
REF jan2021
SHA512 8288f9e4d30b4947e98122f298ca25b8e2f82091c1257d3a0fd4d8de44c4c9a97d4549c105b388afbefad11ad6f30429e875e3e70eb4aa7865be6d4c08d6d1f3
HEAD_REF master
FILE_DISAMBIGUATOR 2
)
vcpkg_configure_cmake(

View File

@ -1,8 +1,9 @@
Source: directxmesh
Version: nov2020b
Version: jan2021
Homepage: https://walbourn.github.io/directxmesh
Description: DirectXMesh geometry processing library
Supports: windows
Build-Depends: directxmath(linux), directx-headers(linux)
Supports: windows|linux
Feature: dx12
Description: Build with DirectX12 support for Windows 10

View File

@ -1,14 +1,13 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_fail_port_install(ON_TARGET "OSX" "Linux")
vcpkg_fail_port_install(ON_TARGET "OSX")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXMesh
REF nov2020b
SHA512 a3520d916324e16004ec0052c6d4c628be2ea62583d0169b663f67ce03ef84c3ba8ea01c239c75dc89a359de6748039dc11e405ba4b0c4f33ee0225e4e248415
REF jan2021
SHA512 2e3950571703e48de083900e5f4ff94a6f882071969e48dd200ecbf7d8357f3131f647ba6ad97e7dcdbd3e051edad99521661738e7af73ca6f89e8715cd29f9c
HEAD_REF master
FILE_DISAMBIGUATOR 2
)
vcpkg_check_features(
@ -17,6 +16,10 @@ vcpkg_check_features(
dx12 BUILD_DX12
)
if (VCPKG_HOST_IS_LINUX)
message(WARNING "Build ${PORT} requires GCC version 9 or later")
endif()
if(VCPKG_TARGET_IS_UWP)
set(EXTRA_OPTIONS -DBUILD_TOOLS=OFF)
else()
@ -32,7 +35,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
if(NOT VCPKG_TARGET_IS_UWP)
if((VCPKG_TARGET_IS_WINDOWS) AND (NOT VCPKG_TARGET_IS_UWP))
vcpkg_copy_tools(
TOOL_NAMES meshconvert
SEARCH_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/CMake
@ -40,9 +43,9 @@ if(NOT VCPKG_TARGET_IS_UWP)
elseif((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64))
vcpkg_download_distfile(meshconvert
URLS "https://github.com/Microsoft/DirectXMesh/releases/download/nov2020/meshconvert.exe"
URLS "https://github.com/Microsoft/DirectXMesh/releases/download/jan2021/meshconvert.exe"
FILENAME "meshconvert.exe"
SHA512 189552c74dc634f673a0d15851d7bb7c42c860023b1488086a9904323fc45207244c159c8848a211afafe258825f5051ee6fd85080da3f7f4afdf910764ca8ec
SHA512 7df51baa495859aab418d194fd885cf37945ec2927122c18718b3a1a7d7ceb08c6853d084d74bf2bf2bc9ace47a351fd6b8d03706507f4966111ec1cb83f43a2
)
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxmesh/")

View File

@ -1,8 +1,9 @@
Source: directxtex
Version: nov2020b
Version: jan2021
Homepage: https://walbourn.github.io/directxtex
Description: DirectXTex texture processing library
Supports: windows
Build-Depends: directxmath(linux), directx-headers(linux)
Supports: windows|linux
Feature: dx12
Description: Build with DirectX12 support for Windows 10

View File

@ -1,5 +1,5 @@
diff --git a/DirectXTex/DirectXTexEXR.cpp b/DirectXTex/DirectXTexEXR.cpp
index 0cfd4db..7a6e70c 100644
index c78f1d1..e073539 100644
--- a/DirectXTex/DirectXTexEXR.cpp
+++ b/DirectXTex/DirectXTexEXR.cpp
@@ -8,7 +8,7 @@
@ -11,19 +11,12 @@ index 0cfd4db..7a6e70c 100644
#include "DirectXTexEXR.h"
@@ -38,6 +38,7 @@
@@ -55,7 +55,7 @@ using namespace DirectX;
using PackedVector::XMHALF4;
// Comment out this first anonymous namespace if you add the include of DirectXTexP.h above
// Comment out this anonymous namespace if you add the include of DirectXTexP.h above
-#ifdef WIN32
+#if 0
namespace
{
struct handle_closer { void operator()(HANDLE h) { assert(h != INVALID_HANDLE_VALUE); if (h) CloseHandle(h); } };
@@ -70,6 +76,7 @@
HANDLE m_handle;
};
}
+#endif
namespace
{

View File

@ -1,14 +1,14 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_fail_port_install(ON_TARGET "OSX" "Linux")
vcpkg_fail_port_install(ON_TARGET "OSX")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXTex
REF nov2020b
SHA512 b32f063f838c150f0ce81f4807bb88090d9695ee9857ec198b22a06c758e905008a3e3c3a1370f89ce5ec4d7e3c66f896a915968312776e8e5ada7e53e346475
REF jan2021
SHA512 f48f05aea811b2ce04f7e82837ed8da9cd3452d0f582d933dbd8878acdc94d8dfb123fa85f5d483a9cd688d3a129d765514069c6c83c58eb1880f6e5661d61e8
HEAD_REF master
FILE_DISAMBIGUATOR 2
FILE_DISAMBIGUATOR 1
)
if("openexr" IN_LIST FEATURES)
@ -22,12 +22,13 @@ if("openexr" IN_LIST FEATURES)
vcpkg_download_distfile(
DIRECTXTEX_EXR_SOURCE
URLS "https://raw.githubusercontent.com/wiki/Microsoft/DirectXTex/DirectXTexEXR.cpp"
FILENAME "DirectXTexEXR.cpp"
SHA512 8bc66e102a0a163e42d428774c857271ad457a85038fd4ddfdbf083674879f9a8406a9aecd26949296b156a5c5fd08fdfba9600b71879be9affb9dabf23a497c
FILENAME "DirectXTexEXR-1.cpp"
SHA512 770fc0325b49139079b0bceb50619f93887e87a3dcf264b10dc01be16209fa51ba03d8273d4d4f84e596ac014376db96b7fed0afabe08c32394ed92495168ea6
)
file(COPY ${DIRECTXTEX_EXR_HEADER} DESTINATION ${SOURCE_PATH}/DirectXTex)
file(COPY ${DIRECTXTEX_EXR_SOURCE} DESTINATION ${SOURCE_PATH}/DirectXTex)
file(RENAME ${SOURCE_PATH}/DirectXTex/DirectXTexEXR-1.cpp ${SOURCE_PATH}/DirectXTex/DirectXTexEXR.cpp)
vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} PATCHES enable_openexr_support.patch)
endif()
@ -38,6 +39,10 @@ vcpkg_check_features(
openexr ENABLE_OPENEXR_SUPPORT
)
if (VCPKG_HOST_IS_LINUX)
message(WARNING "Build ${PORT} requires GCC version 9 or later")
endif()
if(VCPKG_TARGET_IS_UWP)
set(EXTRA_OPTIONS -DBUILD_TOOLS=OFF)
else()
@ -57,7 +62,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
if(NOT VCPKG_TARGET_IS_UWP)
if((VCPKG_TARGET_IS_WINDOWS) AND (NOT VCPKG_TARGET_IS_UWP))
vcpkg_copy_tools(
TOOL_NAMES texassemble texconv texdiag
SEARCH_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/CMake
@ -65,21 +70,21 @@ if(NOT VCPKG_TARGET_IS_UWP)
elseif((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64))
vcpkg_download_distfile(texassemble
URLS "https://github.com/Microsoft/DirectXTex/releases/download/nov2020/texassemble.exe"
URLS "https://github.com/Microsoft/DirectXTex/releases/download/jan2021/texassemble.exe"
FILENAME "texassemble.exe"
SHA512 8094a4ef4a00df3d2cb4a18a1c84664f4a8bf018328751f19feef1691d1a3d9380556039b1a771728e55d94113baa0f69998f63c96a3b4a6f6c3ba9e53a29a64
SHA512 0def8873358234ea4cd16acd59cb1dda2a8ad132f362502d643caed43e9aef19f9c7e7248494093cbd61e7501a9b44f545d3fbd5f50972ebcee3d01598a7c3b7
)
vcpkg_download_distfile(texconv
URLS "https://github.com/Microsoft/DirectXTex/releases/download/nov2020/texconv.exe"
URLS "https://github.com/Microsoft/DirectXTex/releases/download/jan2021/texconv.exe"
FILENAME "texconv.exe"
SHA512 91555fae9fadb942e8f3bc7052888fe515b1a0efb17f5eb53ef437e06c2e50baaef6a0552c93f218b028133baf65ba6e3393042a47b210baa9692ed6f8bbed2b
SHA512 77559db65406ad0343901ff22f7647c4f270674f7b0c31b12d8dc26c718f410708ebe95bdc0ddba4049fa6cefd52ff856174530fc4170f9e725b30aacb78249c
)
vcpkg_download_distfile(texdiag
URLS "https://github.com/Microsoft/DirectXTex/releases/download/nov2020/texdiag.exe"
URLS "https://github.com/Microsoft/DirectXTex/releases/download/jan2021/texdiag.exe"
FILENAME "texdiag.exe"
SHA512 7ba66004228ea1830fbfe5c40f4ee6cf1023f8256136a565c28e584a71115dd2d38e5f79f862de39ee54f8b34d7d8848c656082800f2a59f5b4833aee678d4b8
SHA512 1b9e733050b5f92af86a9a2f415205acbff62f0708e491a3846d7b6e480a9c57086eff636be163d42a40a6d34dafc622cc53940797e7f6f77e739f3a66365f57
)
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxtex/")

View File

@ -1,5 +1,5 @@
Source: directxtk
Version: nov2020b
Version: jan2021
Homepage: https://walbourn.github.io/directxtk
Description: A collection of helper classes for writing DirectX 11.x code in C++.
Supports: windows

View File

@ -5,10 +5,9 @@ vcpkg_fail_port_install(ON_TARGET "OSX" "Linux")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXTK
REF nov2020b
SHA512 25c8404a949988bcb468383bffa9510dfcc4fa5498f10319816024448987bbddbecef4a29c44d414d5696b0ec58704fd10071b674fc24ec5844fc5bf0f58097e
REF jan2021
SHA512 c0e8df3ef3a276169c219798978eb948947ba63f49fd08be914eee87ed4bb05a4e33e3a4d1c06c4e932f5ad8fa50a14e0b53a9b9f6f749aa15174f343a17555c
HEAD_REF master
FILE_DISAMBIGUATOR 2
)
vcpkg_check_features(
@ -47,15 +46,15 @@ if(NOT VCPKG_TARGET_IS_UWP)
elseif((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64))
vcpkg_download_distfile(makespritefont
URLS "https://github.com/Microsoft/DirectXTK/releases/download/nov2020/MakeSpriteFont.exe"
URLS "https://github.com/Microsoft/DirectXTK/releases/download/jan2021/MakeSpriteFont.exe"
FILENAME "makespritefont.exe"
SHA512 d576eecd9763d238e12ba8d865917738a4bc8cbf632943e5c11b9426ecdfeaa9e8522076f1bb7122d41e69158fc7ca0939f2d90f9986470639966b3f849d236a
SHA512 0cca19694fd3625c5130a85456f7bf1dabc8c5f893223c19da134a0c4d64de853f7871644365dcec86012543f3a59a96bfabd9e51947648f6d82480602116fc4
)
vcpkg_download_distfile(xwbtool
URLS "https://github.com/Microsoft/DirectXTK/releases/download/nov2020/XWBTool.exe"
URLS "https://github.com/Microsoft/DirectXTK/releases/download/jan2021/XWBTool.exe"
FILENAME "xwbtool.exe"
SHA512 6ac8fc12fcea0f808aac1367907dbbb0c5669c8c654fc21f38b4e1ce951710ade1851515dba074e9254579b018545c3cdb2b6cf57366dfba0196603510bf51cd
SHA512 91c9d0da90697ba3e0ebe4afcc4c8e084045b76b26e94d7acd4fd87e5965b52dd61d26038f5eb749a3f6de07940bf6e3af8e9f19d820bf904fbdb2752b78fce9
)
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxtk/")

View File

@ -1,5 +1,5 @@
Source: directxtk12
Version: nov2020b
Version: jan2021
Homepage: https://walbourn.github.io/directx-tool-kit-for-directx-12
Description: A collection of helper classes for writing DirectX 12 code in C++.
Supports: windows

View File

@ -5,8 +5,8 @@ vcpkg_fail_port_install(ON_TARGET "OSX" "Linux")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXTK12
REF nov2020b
SHA512 3a47209f109f993e4ca779bca9c9417c3f11a0472b3c91f52beb46a388edc5487d4e2cd472371ef6ffc4d3e54782d12e884befe8537fa68190c1556d6e36fbab
REF jan2021
SHA512 a6938194bc8857fe0076cb21f000aaa4ab4e207342e07f76ecea9d3f064c1b0c220a5f410c2e1184f37d98b54ef2f4852a6bc7cb13a029885bd3c39cb3f1a727
HEAD_REF master
)
@ -21,15 +21,15 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
if((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64))
vcpkg_download_distfile(makespritefont
URLS "https://github.com/Microsoft/DirectXTK12/releases/download/nov2020/MakeSpriteFont.exe"
URLS "https://github.com/Microsoft/DirectXTK12/releases/download/jan2021/MakeSpriteFont.exe"
FILENAME "makespritefont.exe"
SHA512 d576eecd9763d238e12ba8d865917738a4bc8cbf632943e5c11b9426ecdfeaa9e8522076f1bb7122d41e69158fc7ca0939f2d90f9986470639966b3f849d236a
SHA512 0cca19694fd3625c5130a85456f7bf1dabc8c5f893223c19da134a0c4d64de853f7871644365dcec86012543f3a59a96bfabd9e51947648f6d82480602116fc4
)
vcpkg_download_distfile(xwbtool
URLS "https://github.com/Microsoft/DirectXTK12/releases/download/nov2020/XWBTool.exe"
URLS "https://github.com/Microsoft/DirectXTK12/releases/download/jan2021/XWBTool.exe"
FILENAME "xwbtool.exe"
SHA512 6ac8fc12fcea0f808aac1367907dbbb0c5669c8c654fc21f38b4e1ce951710ade1851515dba074e9254579b018545c3cdb2b6cf57366dfba0196603510bf51cd
SHA512 91c9d0da90697ba3e0ebe4afcc4c8e084045b76b26e94d7acd4fd87e5965b52dd61d26038f5eb749a3f6de07940bf6e3af8e9f19d820bf904fbdb2752b78fce9
)
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxtk12/")

View File

@ -1,6 +1,6 @@
Source: uvatlas
Version: dec2020b
Version: jan2021
Homepage: https://github.com/Microsoft/UVAtlas
Description: UVAtlas isochart texture atlas
Build-Depends: directxmesh(!uwp), directxtex(!uwp)
Supports: windows
Build-Depends: directxmesh(!(uwp|linux)), directxtex(!(uwp|linux)), directxmath(linux), directx-headers(linux)
Supports: windows|linux

View File

@ -1,16 +1,19 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_fail_port_install(ON_TARGET "OSX" "Linux")
vcpkg_fail_port_install(ON_TARGET "OSX")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/UVAtlas
REF dec2020b
SHA512 4a81f5e45d906a897a73af940e63f684e416e7b851c4c439fb2dc7fe761838f7a84ccd5088bc94460cdb5d5fd9f5105c719a81e65a381bbdd2fad3465cdf3d46
REF jan2021
SHA512 a0248f31626a0835c9aaf7ed9cabfc5771e34257b8e8e4a3139dca69d7242d79fbb7883071379cd9202edecef3a518d6cf9e7ef9b0338afd384bf2c9830878d3
HEAD_REF master
FILE_DISAMBIGUATOR 2
)
if (VCPKG_HOST_IS_LINUX)
message(WARNING "Build ${PORT} requires GCC version 9 or later")
endif()
if(VCPKG_TARGET_IS_UWP)
set(EXTRA_OPTIONS -DBUILD_TOOLS=OFF)
else()
@ -26,7 +29,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
if(NOT VCPKG_TARGET_IS_UWP)
if((VCPKG_TARGET_IS_WINDOWS) AND (NOT VCPKG_TARGET_IS_UWP))
vcpkg_copy_tools(
TOOL_NAMES uvatlastool
SEARCH_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/CMake
@ -34,9 +37,9 @@ if(NOT VCPKG_TARGET_IS_UWP)
elseif((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64))
vcpkg_download_distfile(uvatlastool
URLS "https://github.com/Microsoft/UVAtlas/releases/download/dec2020/uvatlastool.exe"
URLS "https://github.com/Microsoft/UVAtlas/releases/download/jan2021/uvatlastool.exe"
FILENAME "uvatlastool.exe"
SHA512 f3388e590bb45281a089d6d38ff603e99f2ff9124ec1e6caebae2663e4ab8ccaf06f5cce671f78ed9a1f882c6d2e2b1188212ef0219f96b46872faa20cc649fd
SHA512 8727510f3ec41c2fa7ed75100b8c0f4daa41e93a1b812e5ec3c265dc87c3f48651da37a18af5d8b57a0aa096c42232b58a50a00c036ec7c04dcae4767a2691f9
)
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/uvatlas/")

View File

@ -193,6 +193,9 @@ devicenameresolver:x64-windows-static-md=fail
dimcli:arm-uwp=fail
dimcli:x64-osx=fail
dimcli:x64-uwp=fail
# directxtex, directxmesh requires GCC 9 or later for linux support
directxtex:x64-linux=fail
directxmesh:x64-linux=fail
discord-game-sdk:x64-windows-static=fail
discord-game-sdk:x64-windows-static-md=fail
discord-rpc:arm-uwp=fail
@ -1649,6 +1652,8 @@ urdfdom:x64-windows-static-md=fail
usd:x86-windows=fail
uthenticode:arm-uwp=fail
uthenticode:x64-uwp=fail
# uvatlas requires GCC 9 or later for linux support
uvatlas:x64-linux=fail
v8:arm64-windows=fail
v8:arm-uwp=fail
v8:x64-osx=fail