From 1325fc9b1fd4b236cc4ab35f4946f222e50ebe23 Mon Sep 17 00:00:00 2001 From: superp00t Date: Sat, 7 Sep 2024 14:23:28 -0400 Subject: [PATCH] feat(gx): include directxmath when not on MSVC --- vendor/CMakeLists.txt | 68 +++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 32 deletions(-) diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt index f0adf5e..7abc28c 100644 --- a/vendor/CMakeLists.txt +++ b/vendor/CMakeLists.txt @@ -2,7 +2,11 @@ add_subdirectory(freetype-2.0.9) add_subdirectory(lua-5.1.3) add_subdirectory(stormlib-9) -if(WHOA_BUILD_GLSDL) +if (WHOA_SYSTEM_WIN AND NOT MSVC) + add_subdirectory(directxmath-3.19.0) +endif () + +if (WHOA_BUILD_GLSDL) set(SDL_SHARED OFF) set(SDL_STATIC ON) add_subdirectory(sdl-2.30.5) @@ -10,11 +14,11 @@ if(WHOA_BUILD_GLSDL) set(glew-cmake_BUILD_SHARED OFF) set(glew-cmake_BUILD_STATIC ON) add_subdirectory(glew-cmake-2.2.0) -endif() +endif () # FMOD -if(WHOA_BUILD_FMOD) +if (WHOA_BUILD_FMOD) add_library(fmod SHARED IMPORTED GLOBAL) # Determine which flavor of FMOD to use: # - macOS versions from 10.9 down prefer FMOD Ex @@ -23,26 +27,26 @@ if(WHOA_BUILD_FMOD) # - Windows versions from 7 up prefer FMOD Core # - All versions of Linux prefer FMOD Core # - Any missed detection prefers FMOD Core - if(WHOA_SYSTEM_MAC AND WHOA_SYSTEM_VERSION LESS WHOA_MAC_10_10) + if (WHOA_SYSTEM_MAC AND WHOA_SYSTEM_VERSION LESS WHOA_MAC_10_10) set(WHOA_FMOD_EX 1) target_compile_definitions(fmod INTERFACE -DWHOA_FMOD_EX=1) - elseif(WHOA_SYSTEM_WIN AND WHOA_SYSTEM_VERSION LESS WHOA_WIN_7) + elseif (WHOA_SYSTEM_WIN AND WHOA_SYSTEM_VERSION LESS WHOA_WIN_7) set(WHOA_FMOD_EX 1) target_compile_definitions(fmod INTERFACE -DWHOA_FMOD_EX=1) else() set(WHOA_FMOD_CORE 1) target_compile_definitions(fmod INTERFACE -DWHOA_FMOD_CORE=1) - endif() + endif () - if(WHOA_FMOD_EX) + if (WHOA_FMOD_EX) set(FMOD_DIR "${CMAKE_CURRENT_SOURCE_DIR}/fmodex-4.24.16") else() set(FMOD_DIR "${CMAKE_CURRENT_SOURCE_DIR}/fmodcore-2.02.18") - endif() + endif () - if(WHOA_SYSTEM_WIN) - if(WHOA_ARCH_32) - if(WHOA_FMOD_EX) + if (WHOA_SYSTEM_WIN) + if (WHOA_ARCH_32) + if (WHOA_FMOD_EX) set_target_properties(fmod PROPERTIES IMPORTED_IMPLIB ${FMOD_DIR}/win-x86/lib/fmodex_vc.lib IMPORTED_LOCATION ${FMOD_DIR}/win-x86/lib/fmodex.dll @@ -56,9 +60,9 @@ if(WHOA_BUILD_FMOD) INTERFACE_INCLUDE_DIRECTORIES ${FMOD_DIR}/win-x86/inc ) install(FILES ${FMOD_DIR}/win-x86/lib/fmod.dll DESTINATION "bin") - endif() - elseif(WHOA_ARCH_64) - if(WHOA_FMOD_EX) + endif () + elseif (WHOA_ARCH_64) + if (WHOA_FMOD_EX) set_target_properties(fmod PROPERTIES IMPORTED_IMPLIB ${FMOD_DIR}/win-x86_64/lib/fmodex64_vc.lib IMPORTED_LOCATION ${FMOD_DIR}/win-x86_64/lib/fmodex64.dll @@ -72,11 +76,11 @@ if(WHOA_BUILD_FMOD) INTERFACE_INCLUDE_DIRECTORIES ${FMOD_DIR}/win-x86_64/inc ) install(FILES ${FMOD_DIR}/win-x86_64/lib/fmod.dll DESTINATION "bin") - endif() - endif() - elseif(WHOA_SYSTEM_LINUX) - if(WHOA_ARCH_32) - if(WHOA_FMOD_EX) + endif () + endif () + elseif (WHOA_SYSTEM_LINUX) + if (WHOA_ARCH_32) + if (WHOA_FMOD_EX) set_target_properties(fmod PROPERTIES IMPORTED_LOCATION ${FMOD_DIR}/linux-x86/lib/libfmodex-4.24.16.so INTERFACE_INCLUDE_DIRECTORIES ${FMOD_DIR}/linux-x86/inc @@ -90,9 +94,9 @@ if(WHOA_BUILD_FMOD) INTERFACE_INCLUDE_DIRECTORIES ${FMOD_DIR}/linux-x86/inc ) install(FILES ${FMOD_DIR}/linux-x86/lib/libfmod.so.13.18 DESTINATION "bin") - endif() - elseif(WHOA_ARCH_64) - if(WHOA_FMOD_EX) + endif () + elseif (WHOA_ARCH_64) + if (WHOA_FMOD_EX) set_target_properties(fmod PROPERTIES IMPORTED_LOCATION ${FMOD_DIR}/linux-x86_64/lib/libfmodex-4.24.16.so INTERFACE_INCLUDE_DIRECTORIES ${FMOD_DIR}/linux-x86_64/inc @@ -106,12 +110,12 @@ if(WHOA_BUILD_FMOD) INTERFACE_INCLUDE_DIRECTORIES ${FMOD_DIR}/linux-x86_64/inc ) install(FILES ${FMOD_DIR}/linux-x86_64/lib/libfmod.so.13.18 DESTINATION "bin") - endif() - endif() - elseif(WHOA_SYSTEM_MAC) + endif () + endif () + elseif (WHOA_SYSTEM_MAC) # The Mac lib is universal - if(WHOA_FMOD_EX) + if (WHOA_FMOD_EX) set_target_properties(fmod PROPERTIES IMPORTED_LOCATION ${FMOD_DIR}/mac/lib/libfmodex.dylib INTERFACE_INCLUDE_DIRECTORIES ${FMOD_DIR}/mac/inc @@ -123,16 +127,16 @@ if(WHOA_BUILD_FMOD) INTERFACE_INCLUDE_DIRECTORIES ${FMOD_DIR}/mac/inc ) install(FILES ${FMOD_DIR}/mac/lib/libfmod.dylib DESTINATION "bin") - endif() - endif() + endif () + endif () add_definitions(-DWHOA_BUILD_FMOD) - if(WHOA_FMOD_CORE) + if (WHOA_FMOD_CORE) add_definitions(-DWHOA_FMOD_CORE) - endif() + endif () if (WHOA_FMOD_EX) add_definitions(-DWHOA_FMOD_EX) - endif() -endif() + endif () +endif ()