Allow Yuzu to be built using Clang-CL for better compiler optimizations for Windows

Also updates Boost to 1.88.0
This commit is contained in:
spectranator
2025-04-12 18:44:18 +02:00
parent 709f70a3b2
commit a640bbee41
49 changed files with 349 additions and 199 deletions

View File

@@ -182,32 +182,29 @@ endif()
#
# Install
#
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
# Only try to install if boost wasn't included as submodule
if (NOT TARGET boost_headers)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
# Hack to get CPM.cmake working with this (should be fine though)
set(BOOST_TARGET )
if (TARGET boost_headers)
set(BOOST_TARGET boost_headers)
install(TARGETS dynarmic EXPORT dynarmicTargets)
install(EXPORT dynarmicTargets
NAMESPACE dynarmic::
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dynarmic"
)
configure_package_config_file(CMakeModules/dynarmicConfig.cmake.in
dynarmicConfig.cmake
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dynarmic"
)
write_basic_package_version_file(dynarmicConfigVersion.cmake
COMPATIBILITY SameMajorVersion
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/dynarmicConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/dynarmicConfigVersion.cmake"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dynarmic"
)
install(DIRECTORY src/dynarmic TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
endif()
install(TARGETS dynarmic ${BOOST_TARGET} EXPORT dynarmicTargets)
install(EXPORT dynarmicTargets
NAMESPACE dynarmic::
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dynarmic"
)
configure_package_config_file(CMakeModules/dynarmicConfig.cmake.in
dynarmicConfig.cmake
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dynarmic"
)
write_basic_package_version_file(dynarmicConfigVersion.cmake
COMPATIBILITY SameMajorVersion
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/dynarmicConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/dynarmicConfigVersion.cmake"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dynarmic"
)
install(DIRECTORY src/dynarmic TYPE INCLUDE FILES_MATCHING PATTERN "*.h")

View File

@@ -510,7 +510,7 @@ target_link_libraries(dynarmic
if (TARGET boost_headers)
target_link_libraries(dynarmic
PRIVATE
boost_headers
boost_headers boost_variant boost_icl
)
else()
target_link_libraries(dynarmic

View File

@@ -57,8 +57,7 @@ if (MSVC)
/EHsc
/Zc:throwingNew # Assumes new never returns null
/Zc:inline # Omits inline functions from object-file output
/DNOMINMAX
/WX)
/DNOMINMAX)
if (CMAKE_VS_PLATFORM_TOOLSET MATCHES "LLVM-vs[0-9]+")
list(APPEND SIRIT_CXX_FLAGS
@@ -76,8 +75,7 @@ else()
-Wno-missing-braces
-Wconversion
-Wsign-conversion
-Wshadow
-Werror)
-Wshadow)
endif()
# Enable unit-testing.