mingw.patch 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. diff --git a/CMakeLists.txt b/CMakeLists.txt
  2. index 9f90c8d..5ce5651 100644
  3. --- a/CMakeLists.txt
  4. +++ b/CMakeLists.txt
  5. @@ -39,19 +39,25 @@ target_include_directories(DirectX-Headers SYSTEM PUBLIC
  6. )
  7. target_include_directories(DirectX-Headers PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include/directx)
  8. +add_library(DirectX-Guids STATIC src/dxguids.cpp)
  9. +target_link_libraries(DirectX-Guids PRIVATE DirectX-Headers)
  10. +
  11. # For non-Windows targets, also add the WSL stubs to the include path
  12. if (NOT WIN32)
  13. target_include_directories(DirectX-Headers SYSTEM PUBLIC
  14. "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/wsl/stubs>"
  15. "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/wsl/stubs>"
  16. )
  17. +elseif((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))
  18. + # MinGW has RPC headers which define old versions, and complain if D3D
  19. + # headers are included before the RPC headers, since D3D headers were
  20. + # generated with new MIDL and "require" new RPC headers.
  21. + target_compile_options(DirectX-Headers PRIVATE "-D__REQUIRED_RPCNDR_H_VERSION__=475")
  22. + target_compile_options(DirectX-Guids PRIVATE "-D__REQUIRED_RPCNDR_H_VERSION__=475")
  23. endif()
  24. add_library(Microsoft::DirectX-Headers ALIAS DirectX-Headers)
  25. -add_library(DirectX-Guids STATIC src/dxguids.cpp)
  26. -target_link_libraries(DirectX-Guids PRIVATE DirectX-Headers)
  27. -
  28. add_library(Microsoft::DirectX-Guids ALIAS DirectX-Guids)
  29. if (DXHEADERS_INSTALL)