aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Tassoux <contact@rt2.fr>2020-10-28 04:32:43 +0100
committerGitHub <noreply@github.com>2020-10-27 20:32:43 -0700
commitff413776db42ecfccb5e7f8277f75c3916032e6a (patch)
tree957d7a31ac53a4680504131645ab1d97388d9de4
parent83ff32536aafdf99a8624d158384f27929c1888f (diff)
downloadvcpkg-ff413776db42ecfccb5e7f8277f75c3916032e6a.tar.gz
vcpkg-ff413776db42ecfccb5e7f8277f75c3916032e6a.zip
[directxtk] Use CMake build system and add xaudio2-8 and xaudio2-9 features (#13978)
-rw-r--r--ports/directxtk/CONTROL8
-rw-r--r--ports/directxtk/portfile.cmake76
2 files changed, 36 insertions, 48 deletions
diff --git a/ports/directxtk/CONTROL b/ports/directxtk/CONTROL
index 56b60843b..f9e7a8efb 100644
--- a/ports/directxtk/CONTROL
+++ b/ports/directxtk/CONTROL
@@ -1,4 +1,12 @@
Source: directxtk
Version: sept2020
+Port-Version: 1
Homepage: https://walbourn.github.io/directxtk
Description: A collection of helper classes for writing DirectX 11.x code in C++.
+Build-Depends: directxtk[core,xaudio2-9](arm64|uwp)
+
+Feature: xaudio2-9
+Description: Build with XAudio 2.9 support for Windows 10
+
+Feature: xaudio2-8
+Description: Build with XAudio 2.8 support for Windows 8.x or later
diff --git a/ports/directxtk/portfile.cmake b/ports/directxtk/portfile.cmake
index 0815d68e1..6311aac22 100644
--- a/ports/directxtk/portfile.cmake
+++ b/ports/directxtk/portfile.cmake
@@ -8,61 +8,41 @@ vcpkg_from_github(
HEAD_REF master
)
-IF (TRIPLET_SYSTEM_ARCH MATCHES "x86")
- SET(BUILD_ARCH "Win32")
-ELSE()
- SET(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH})
-ENDIF()
-
-if (VCPKG_PLATFORM_TOOLSET STREQUAL "v140")
- set(VS_VERSION "2015")
-elseif (VCPKG_PLATFORM_TOOLSET STREQUAL "v141")
- set(VS_VERSION "2017")
-elseif (VCPKG_PLATFORM_TOOLSET STREQUAL "v142")
- set(VS_VERSION "2019")
-else()
- message(FATAL_ERROR "Unsupported platform toolset.")
-endif()
-
-if(VCPKG_TARGET_IS_UWP)
- set(SLN_NAME "Windows10_${VS_VERSION}")
-else()
- if(TRIPLET_SYSTEM_ARCH STREQUAL "arm64")
- set(SLN_NAME "Desktop_${VS_VERSION}_Win10")
- else()
- set(SLN_NAME "Desktop_${VS_VERSION}")
- endif()
-endif()
-
-vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/DirectXTK_${SLN_NAME}.sln
- PLATFORM ${TRIPLET_SYSTEM_ARCH}
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ xaudio2-9 BUILD_XAUDIO_WIN10
+ xaudio2-8 BUILD_XAUDIO_WIN8
)
-file(INSTALL
- ${SOURCE_PATH}/Inc/
- DESTINATION ${CURRENT_PACKAGES_DIR}/include/DirectXTK
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS ${FEATURE_OPTIONS}
)
-file(INSTALL
- ${SOURCE_PATH}/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/DirectXTK.lib
- ${SOURCE_PATH}/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/DirectXTK.pdb
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+if(NOT VCPKG_TARGET_IS_UWP)
+ vcpkg_build_cmake()
+else()
+ vcpkg_build_cmake(TARGET DirectXTK)
+endif()
-file(INSTALL
- ${SOURCE_PATH}/Bin/${SLN_NAME}/${BUILD_ARCH}/Debug/DirectXTK.lib
- ${SOURCE_PATH}/Bin/${SLN_NAME}/${BUILD_ARCH}/Debug/DirectXTK.pdb
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+file(INSTALL ${SOURCE_PATH}/Inc/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/DirectXTK)
+file(GLOB_RECURSE DEBUG_LIB ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/CMake/*.lib)
+file(GLOB_RECURSE RELEASE_LIB ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/CMake/*.lib)
+file(INSTALL ${DEBUG_LIB} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+file(INSTALL ${RELEASE_LIB} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
if(NOT VCPKG_TARGET_IS_UWP)
- set(DXTK_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/directxtk)
- file(MAKE_DIRECTORY ${DXTK_TOOL_PATH})
- file(INSTALL
- ${SOURCE_PATH}/MakeSpriteFont/bin/Release/MakeSpriteFont.exe
- DESTINATION ${DXTK_TOOL_PATH})
- file(INSTALL
- ${SOURCE_PATH}/XWBTool/Bin/Desktop_${VS_VERSION}/${BUILD_ARCH}/Release/XWBTool.exe
- DESTINATION ${DXTK_TOOL_PATH})
+ vcpkg_copy_tools(
+ TOOL_NAMES XWBTool
+ SEARCH_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/CMake
+ )
+ vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH MakeSpriteFont/MakeSpriteFont.csproj
+ PLATFORM AnyCPU
+ )
endif()
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)