mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-12-12 11:12:29 +00:00
feat(gx): add directxmath for MinGW
This commit is contained in:
parent
0d09dee4b3
commit
3e77eb935a
51 changed files with 49251 additions and 12 deletions
113
vendor/directxmath-3.19.0/CMakeLists.txt
vendored
Normal file
113
vendor/directxmath-3.19.0/CMakeLists.txt
vendored
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
# Copyright (c) Microsoft Corporation.
|
||||
# Licensed under the MIT License.
|
||||
|
||||
cmake_minimum_required (VERSION 3.20)
|
||||
|
||||
set(DIRECTXMATH_VERSION 3.1.9)
|
||||
|
||||
project(DirectXMath
|
||||
VERSION ${DIRECTXMATH_VERSION}
|
||||
DESCRIPTION "DirectXMath SIMD C++ math library"
|
||||
HOMEPAGE_URL "https://go.microsoft.com/fwlink/?LinkID=615560"
|
||||
LANGUAGES CXX)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
#--- Library
|
||||
set(LIBRARY_HEADERS
|
||||
Inc/DirectXCollision.h
|
||||
Inc/DirectXCollision.inl
|
||||
Inc/DirectXColors.h
|
||||
Inc/DirectXMath.h
|
||||
Inc/DirectXMathConvert.inl
|
||||
Inc/DirectXMathMatrix.inl
|
||||
Inc/DirectXMathMisc.inl
|
||||
Inc/DirectXMathVector.inl
|
||||
Inc/DirectXPackedVector.h
|
||||
Inc/DirectXPackedVector.inl)
|
||||
|
||||
add_library(${PROJECT_NAME} INTERFACE)
|
||||
|
||||
target_include_directories(${PROJECT_NAME} INTERFACE
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Inc>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/directxmath>)
|
||||
|
||||
target_compile_features(${PROJECT_NAME} INTERFACE cxx_std_11)
|
||||
|
||||
#--- Package
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
string(TOLOWER ${PROJECT_NAME} PACKAGE_NAME)
|
||||
|
||||
write_basic_package_version_file(
|
||||
${PACKAGE_NAME}-config-version.cmake
|
||||
VERSION ${DIRECTXMATH_VERSION}
|
||||
COMPATIBILITY AnyNewerVersion
|
||||
ARCH_INDEPENDENT)
|
||||
|
||||
install(TARGETS ${PROJECT_NAME}
|
||||
EXPORT ${PROJECT_NAME}-targets
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/build/${PROJECT_NAME}-config.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config.cmake
|
||||
INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME})
|
||||
|
||||
install(EXPORT ${PROJECT_NAME}-targets
|
||||
FILE ${PROJECT_NAME}-targets.cmake
|
||||
NAMESPACE Microsoft::
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME})
|
||||
|
||||
install(FILES ${LIBRARY_HEADERS}
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/directxmath)
|
||||
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config-version.cmake
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME})
|
||||
|
||||
# Create pkg-config file
|
||||
include(build/JoinPaths.cmake)
|
||||
# from: https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files
|
||||
join_paths(DIRECTXMATH_INCLUDEDIR_FOR_PKG_CONFIG "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
join_paths(DIRECTXMATH_LIBDIR_FOR_PKG_CONFIG "\${prefix}" "${CMAKE_INSTALL_LIBDIR}")
|
||||
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/build/DirectXMath.pc.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/DirectXMath.pc" @ONLY)
|
||||
|
||||
# Install the pkg-config file
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/DirectXMath.pc"
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||
|
||||
#--- Test suite
|
||||
if(DEFINED VCPKG_TARGET_ARCHITECTURE)
|
||||
set(DXMATH_ARCHITECTURE ${VCPKG_TARGET_ARCHITECTURE})
|
||||
elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Ww][Ii][Nn]32$")
|
||||
set(DXMATH_ARCHITECTURE x86)
|
||||
elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Xx]64$")
|
||||
set(DXMATH_ARCHITECTURE x64)
|
||||
elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]$")
|
||||
set(DXMATH_ARCHITECTURE arm)
|
||||
elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]64$")
|
||||
set(DXMATH_ARCHITECTURE arm64)
|
||||
elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Ww][Ii][Nn]32$")
|
||||
set(DXMATH_ARCHITECTURE x86)
|
||||
elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Xx]64$")
|
||||
set(DXMATH_ARCHITECTURE x64)
|
||||
elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Aa][Rr][Mm]$")
|
||||
set(DXMATH_ARCHITECTURE arm)
|
||||
elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Aa][Rr][Mm]64$")
|
||||
set(DXMATH_ARCHITECTURE arm64)
|
||||
elseif(NOT (DEFINED DXMATH_ARCHITECTURE))
|
||||
set(DXMATH_ARCHITECTURE "x64")
|
||||
endif()
|
||||
|
||||
#--- Test suite
|
||||
include(CTest)
|
||||
if(BUILD_TESTING AND WIN32 AND (NOT WINDOWS_STORE) AND (EXISTS "${CMAKE_CURRENT_LIST_DIR}/Tests/CMakeLists.txt"))
|
||||
enable_testing()
|
||||
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/Tests)
|
||||
endif()
|
||||
Loading…
Add table
Add a link
Reference in a new issue