aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/dxsdk-d3dx
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/dxsdk-d3dx')
-rw-r--r--vcpkg/ports/dxsdk-d3dx/dxsdk-d3dx-config.cmake.in47
-rw-r--r--vcpkg/ports/dxsdk-d3dx/portfile.cmake42
-rw-r--r--vcpkg/ports/dxsdk-d3dx/usage6
-rw-r--r--vcpkg/ports/dxsdk-d3dx/vcpkg.json9
4 files changed, 104 insertions, 0 deletions
diff --git a/vcpkg/ports/dxsdk-d3dx/dxsdk-d3dx-config.cmake.in b/vcpkg/ports/dxsdk-d3dx/dxsdk-d3dx-config.cmake.in
new file mode 100644
index 0000000..95cd1c2
--- /dev/null
+++ b/vcpkg/ports/dxsdk-d3dx/dxsdk-d3dx-config.cmake.in
@@ -0,0 +1,47 @@
+
+get_filename_component(_d3dx_root "${CMAKE_CURRENT_LIST_DIR}" PATH)
+get_filename_component(_d3dx_root "${_d3dx_root}" PATH)
+
+set(_d3dx_root_lib "${_d3dx_root}/lib/d3dx9.lib")
+if (EXISTS "${_d3dx_root_lib}")
+
+ add_library(Microsoft::D3DX9 SHARED IMPORTED)
+ set_target_properties(Microsoft::D3DX9 PROPERTIES
+ IMPORTED_LOCATION_RELEASE "${_d3dx_root}/bin/D3DX9_43.dll"
+ IMPORTED_IMPLIB_RELEASE "${_d3dx_root_lib}"
+ IMPORTED_LOCATION_DEBUG "${_d3dx_root}/debug/bin/D3DX9d_43.dll"
+ IMPORTED_IMPLIB_DEBUG "${_d3dx_root}/debug/lib/d3dx9d.lib"
+ INTERFACE_INCLUDE_DIRECTORIES "${_d3dx_root}/include/dxsdk-d3dx"
+ IMPORTED_CONFIGURATIONS "Debug;Release"
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C")
+
+ add_library(Microsoft::D3DX10 SHARED IMPORTED)
+ set_target_properties(Microsoft::D3DX10 PROPERTIES
+ IMPORTED_LOCATION_RELEASE "${_d3dx_root}/bin/d3dx10_43.dll"
+ IMPORTED_IMPLIB_RELEASE "${_d3dx_root}/lib/d3dx10.lib"
+ IMPORTED_LOCATION_DEBUG "${_d3dx_root}/debug/bin/D3DX10d_43.dll"
+ IMPORTED_IMPLIB_DEBUG "${_d3dx_root}/debug/lib/d3dx10d.lib"
+ INTERFACE_INCLUDE_DIRECTORIES "${_d3dx_root}/include/dxsdk-d3dx"
+ IMPORTED_CONFIGURATIONS "Debug;Release"
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C")
+
+ add_library(Microsoft::D3DX11 SHARED IMPORTED)
+ set_target_properties(Microsoft::D3DX11 PROPERTIES
+ IMPORTED_LOCATION_RELEASE "${_d3dx_root}/bin/d3dx11_43.dll"
+ IMPORTED_IMPLIB_RELEASE "${_d3dx_root}/lib/d3dx11.lib"
+ IMPORTED_LOCATION_DEBUG "${_d3dx_root}/debug/bin/D3DX11d_43.dll"
+ IMPORTED_IMPLIB_DEBUG "${_d3dx_root}/debug/lib/d3dx11d.lib"
+ INTERFACE_INCLUDE_DIRECTORIES "${_d3dx_root}/include/dxsdk-d3dx"
+ IMPORTED_CONFIGURATIONS "Debug;Release"
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C")
+
+ set(dxsdk-d3dx_FOUND TRUE)
+
+else()
+
+ set(dxsdk-d3dx_FOUND FALSE)
+
+endif()
+
+unset(_d3dx_root_lib)
+unset(_d3dx_root)
diff --git a/vcpkg/ports/dxsdk-d3dx/portfile.cmake b/vcpkg/ports/dxsdk-d3dx/portfile.cmake
new file mode 100644
index 0000000..143bc9e
--- /dev/null
+++ b/vcpkg/ports/dxsdk-d3dx/portfile.cmake
@@ -0,0 +1,42 @@
+if(EXISTS "${CURRENT_INSTALLED_DIR}/share/directxsdk/copyright")
+ message(FATAL_ERROR "Can't build ${PORT} if directxsdk is installed. Please remove directxsdk, and try to install ${PORT} again if you need it.")
+endif()
+
+message(WARNING "Use of ${PORT} is not recommended for new projects. See https://aka.ms/dxsdk for more information.")
+
+set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled)
+set(VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT enabled)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.nuget.org/api/v2/package/Microsoft.DXSDK.D3DX/9.29.952.8"
+ FILENAME "dxsdk-d3dx.9.29.952.8.zip"
+ SHA512 9f6a95ed858555c1c438a85219ede32c82729068b21dd7ecf11de01cf3cdd525b2f04a58643bfcc14c48a29403dc1c80246f0a12a1ef4377b91b855f6d6d7986
+)
+
+vcpkg_extract_source_archive(
+ PACKAGE_PATH
+ ARCHIVE ${ARCHIVE}
+ NO_REMOVE_ONE_LEVEL
+)
+
+file(GLOB HEADER_FILES "${PACKAGE_PATH}/build/native/include/*.h" "${PACKAGE_PATH}/build/native/include/*.inl")
+file(INSTALL ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}")
+
+file(GLOB RELEASE_LIB_FILES "${PACKAGE_PATH}/build/native/release/lib/${VCPKG_TARGET_ARCHITECTURE}/*.lib")
+file(INSTALL ${RELEASE_LIB_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/lib/")
+
+file(GLOB RELEASE_DLL_FILES "${PACKAGE_PATH}/build/native/release/bin/${VCPKG_TARGET_ARCHITECTURE}/*.dll")
+file(INSTALL ${RELEASE_DLL_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/bin/")
+
+if(NOT DEFINED VCPKG_BUILD_TYPE)
+ file(GLOB DEBUG_LIB_FILES "${PACKAGE_PATH}/build/native/debug/lib/${VCPKG_TARGET_ARCHITECTURE}/*.lib")
+ file(INSTALL ${DEBUG_LIB_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/")
+
+ file(GLOB DEBUG_DLL_FILES "${PACKAGE_PATH}/build/native/debug/bin/${VCPKG_TARGET_ARCHITECTURE}/*.dll")
+ file(INSTALL ${DEBUG_DLL_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin/")
+endif()
+
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+vcpkg_install_copyright(FILE_LIST "${PACKAGE_PATH}/LICENSE.txt")
+
+configure_file("${CMAKE_CURRENT_LIST_DIR}/dxsdk-d3dx-config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" COPYONLY)
diff --git a/vcpkg/ports/dxsdk-d3dx/usage b/vcpkg/ports/dxsdk-d3dx/usage
new file mode 100644
index 0000000..da585a2
--- /dev/null
+++ b/vcpkg/ports/dxsdk-d3dx/usage
@@ -0,0 +1,6 @@
+The legacy DirectX SDK D3DX package provides CMake targets:
+
+ find_package(dxsdk-d3dx CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Microsoft::D3DX9 Microsoft::D3DX10 Microsoft::D3DX11)
+
+NOTE: This port is not recommended for use in new projects and is incompatible with the deprecated directxsdk port.
diff --git a/vcpkg/ports/dxsdk-d3dx/vcpkg.json b/vcpkg/ports/dxsdk-d3dx/vcpkg.json
new file mode 100644
index 0000000..1b9a217
--- /dev/null
+++ b/vcpkg/ports/dxsdk-d3dx/vcpkg.json
@@ -0,0 +1,9 @@
+{
+ "name": "dxsdk-d3dx",
+ "version": "9.29.952.8",
+ "port-version": 7,
+ "description": "Redistributable package for the legacy DirectX SDK's D3DX9, D3DX10, and/or D3DX11 utility libraries.",
+ "homepage": "https://walbourn.github.io/legacy-d3dx-on-nuget/",
+ "license": null,
+ "supports": "windows & !arm & !uwp & !xbox"
+}