diff --git a/UnleashedRecomp/CMakeLists.txt b/UnleashedRecomp/CMakeLists.txt index 9c29fb6f..4b8d0302 100644 --- a/UnleashedRecomp/CMakeLists.txt +++ b/UnleashedRecomp/CMakeLists.txt @@ -1,14 +1,14 @@ project("UnleashedRecomp") set(TARGET_NAME "SWA") -if (CMAKE_SYSTEM_NAME MATCHES "Linux") - option(SWA_FLATPAK "Configure the build for Flatpak compatibility." OFF) -endif() - if (WIN32) option(SWA_D3D12 "Add D3D12 support for rendering" ON) endif() +if (CMAKE_SYSTEM_NAME MATCHES "Linux") + option(SWA_FLATPAK "Configure the build for Flatpak compatibility." OFF) +endif() + option(SWA_XAUDIO2 "Use XAudio2 for audio playback" OFF) function(BIN2C) @@ -53,14 +53,14 @@ add_compile_options( -Wno-int-to-void-pointer-cast -Wno-invalid-offsetof -Wno-null-arithmetic - -Wno-null-conversion + -Wno-null-conversion -Wno-tautological-undefined-compare -) - -if (WIN32) - add_compile_options(/fp:strict) -else() - add_compile_options(-ffp-model=strict) +) + +if (WIN32) + add_compile_options(/fp:strict) +else() + add_compile_options(-ffp-model=strict) endif() add_compile_definitions( @@ -187,46 +187,46 @@ set(SWA_INSTALL_CXX_SOURCES "install/hashes/mazuri.cpp" "install/hashes/spagonia.cpp" "install/hashes/update.cpp" -) - +) + set(SWA_USER_CXX_SOURCES "user/achievement_data.cpp" "user/config.cpp" -) - -set(SWA_THIRDPARTY_SOURCES - "${SWA_THIRDPARTY_ROOT}/imgui/backends/imgui_impl_sdl2.cpp" - "${SWA_THIRDPARTY_ROOT}/imgui/imgui.cpp" - "${SWA_THIRDPARTY_ROOT}/imgui/imgui_demo.cpp" - "${SWA_THIRDPARTY_ROOT}/imgui/imgui_draw.cpp" - "${SWA_THIRDPARTY_ROOT}/imgui/imgui_tables.cpp" - "${SWA_THIRDPARTY_ROOT}/imgui/imgui_widgets.cpp" - "${SWA_THIRDPARTY_ROOT}/libmspack/libmspack/mspack/lzxd.c" - "${SWA_THIRDPARTY_ROOT}/tiny-AES-c/aes.c" - "${SWA_TOOLS_ROOT}/ShaderRecomp/thirdparty/smol-v/source/smolv.cpp" -) - -set(SWA_THIRDPARTY_INCLUDES - "${SWA_THIRDPARTY_ROOT}/concurrentqueue" +) + +set(SWA_THIRDPARTY_SOURCES + "${SWA_THIRDPARTY_ROOT}/imgui/backends/imgui_impl_sdl2.cpp" + "${SWA_THIRDPARTY_ROOT}/imgui/imgui.cpp" + "${SWA_THIRDPARTY_ROOT}/imgui/imgui_demo.cpp" + "${SWA_THIRDPARTY_ROOT}/imgui/imgui_draw.cpp" + "${SWA_THIRDPARTY_ROOT}/imgui/imgui_tables.cpp" + "${SWA_THIRDPARTY_ROOT}/imgui/imgui_widgets.cpp" + "${SWA_THIRDPARTY_ROOT}/libmspack/libmspack/mspack/lzxd.c" + "${SWA_THIRDPARTY_ROOT}/tiny-AES-c/aes.c" + "${SWA_TOOLS_ROOT}/ShaderRecomp/thirdparty/smol-v/source/smolv.cpp" +) + +set(SWA_THIRDPARTY_INCLUDES + "${SWA_THIRDPARTY_ROOT}/concurrentqueue" "${SWA_THIRDPARTY_ROOT}/ddspp" - "${SWA_THIRDPARTY_ROOT}/imgui" + "${SWA_THIRDPARTY_ROOT}/imgui" "${SWA_THIRDPARTY_ROOT}/libmspack/libmspack/mspack" - "${SWA_THIRDPARTY_ROOT}/magic_enum/include" + "${SWA_THIRDPARTY_ROOT}/magic_enum/include" "${SWA_THIRDPARTY_ROOT}/miniaudio" - "${SWA_THIRDPARTY_ROOT}/stb" - "${SWA_THIRDPARTY_ROOT}/tiny-AES-c" + "${SWA_THIRDPARTY_ROOT}/stb" + "${SWA_THIRDPARTY_ROOT}/tiny-AES-c" "${SWA_THIRDPARTY_ROOT}/TinySHA1" "${SWA_THIRDPARTY_ROOT}/unordered_dense/include" - "${SWA_THIRDPARTY_ROOT}/volk" - "${SWA_THIRDPARTY_ROOT}/Vulkan-Headers/include" - "${SWA_THIRDPARTY_ROOT}/VulkanMemoryAllocator/include" - "${SWA_TOOLS_ROOT}/bc_diff" + "${SWA_THIRDPARTY_ROOT}/volk" + "${SWA_THIRDPARTY_ROOT}/Vulkan-Headers/include" + "${SWA_THIRDPARTY_ROOT}/VulkanMemoryAllocator/include" + "${SWA_TOOLS_ROOT}/bc_diff" "${SWA_TOOLS_ROOT}/ShaderRecomp/thirdparty/smol-v/source" -) - -if (SWA_D3D12) - list(APPEND SWA_THIRDPARTY_INCLUDES "${SWA_THIRDPARTY_ROOT}/D3D12MemoryAllocator/include") - list(APPEND SWA_THIRDPARTY_SOURCES "${SWA_THIRDPARTY_ROOT}/D3D12MemoryAllocator/src/D3D12MemAlloc.cpp") +) + +if (SWA_D3D12) + list(APPEND SWA_THIRDPARTY_INCLUDES "${SWA_THIRDPARTY_ROOT}/D3D12MemoryAllocator/include") + list(APPEND SWA_THIRDPARTY_SOURCES "${SWA_THIRDPARTY_ROOT}/D3D12MemoryAllocator/src/D3D12MemAlloc.cpp") endif() set_source_files_properties(${SWA_THIRDPARTY_SOURCES} PROPERTIES SKIP_PRECOMPILE_HEADERS ON) @@ -248,7 +248,7 @@ set(SWA_CXX_SOURCES ${SWA_PATCHES_CXX_SOURCES} ${SWA_UI_CXX_SOURCES} ${SWA_INSTALL_CXX_SOURCES} - ${SWA_USER_CXX_SOURCES} + ${SWA_USER_CXX_SOURCES} ${SWA_THIRDPARTY_SOURCES} ) @@ -261,7 +261,7 @@ else() add_executable(UnleashedRecomp ${SWA_CXX_SOURCES}) endif() -set_target_properties(UnleashedRecomp PROPERTIES OUTPUT_NAME ${TARGET_NAME}) +set_target_properties(UnleashedRecomp PROPERTIES OUTPUT_NAME ${TARGET_NAME}) if (SWA_FLATPAK) target_compile_definitions(UnleashedRecomp PRIVATE "GAME_INSTALL_DIRECTORY=\"/var/data\"") @@ -273,7 +273,7 @@ if (SWA_D3D12) target_compile_definitions(UnleashedRecomp PRIVATE SWA_D3D12) endif() -find_package(directx-dxc REQUIRED) +find_package(directx-dxc REQUIRED) if (SWA_D3D12) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/D3D12) @@ -289,7 +289,7 @@ if (SWA_D3D12) Microsoft::DirectX-Headers Microsoft::DirectX-Guids Microsoft::DirectX12-Agility - Microsoft::DirectXShaderCompiler + Microsoft::DirectXShaderCompiler Microsoft::DXIL dxgi ) @@ -307,7 +307,7 @@ if (WIN32) endif() target_link_libraries(UnleashedRecomp PRIVATE - fmt::fmt + fmt::fmt libzstd_static msdf-atlas-gen::msdf-atlas-gen nfd::nfd @@ -316,13 +316,12 @@ target_link_libraries(UnleashedRecomp PRIVATE SDL2::SDL2-static tomlplusplus::tomlplusplus UnleashedRecompLib - Vorbis::vorbisfile - xxHash::xxhash -) + Vorbis::vorbisfile + xxHash::xxhash ) target_include_directories(UnleashedRecomp PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} - "${CMAKE_CURRENT_SOURCE_DIR}/api" + "${CMAKE_CURRENT_SOURCE_DIR}/api" ${SWA_THIRDPARTY_INCLUDES} )