From 71c5702ee80ef5b0c37462064fad891c1b1b0b57 Mon Sep 17 00:00:00 2001 From: "Herman S." <429230+has207@users.noreply.github.com> Date: Wed, 4 Mar 2026 15:28:01 +0900 Subject: [PATCH] [Build] Convert build system to raw cmake and remove premake layer --- .github/workflows/Linux_build.yml | 13 +- .github/workflows/Windows_build.yml | 10 +- .gitmodules | 12 - CMakeLists.txt | 231 +++++++ CMakePresets.json | 55 ++ cmake/XeniaHelpers.cmake | 160 +++++ premake5.lua | 384 ------------ src/xenia/CMakeLists.txt | 49 ++ src/xenia/app/CMakeLists.txt | 115 ++++ src/xenia/app/discord/CMakeLists.txt | 9 + src/xenia/app/discord/premake5.lua | 18 - src/xenia/app/premake5.lua | 133 ---- src/xenia/apu/CMakeLists.txt | 8 + src/xenia/apu/alsa/CMakeLists.txt | 7 + src/xenia/apu/alsa/premake5.lua | 18 - src/xenia/apu/nop/CMakeLists.txt | 4 + src/xenia/apu/nop/premake5.lua | 13 - src/xenia/apu/premake5.lua | 19 - src/xenia/apu/sdl/CMakeLists.txt | 4 + src/xenia/apu/sdl/premake5.lua | 16 - src/xenia/apu/xaudio2/CMakeLists.txt | 4 + src/xenia/apu/xaudio2/premake5.lua | 13 - src/xenia/base/CMakeLists.txt | 17 + src/xenia/base/premake5.lua | 22 - src/xenia/base/testing/CMakeLists.txt | 3 + src/xenia/base/testing/premake5.lua | 9 - src/xenia/cpu/CMakeLists.txt | 17 + src/xenia/cpu/backend/x64/CMakeLists.txt | 18 + src/xenia/cpu/backend/x64/premake5.lua | 30 - src/xenia/cpu/ppc/testing/CMakeLists.txt | 37 ++ src/xenia/cpu/ppc/testing/premake5.lua | 85 --- src/xenia/cpu/premake5.lua | 27 - src/xenia/cpu/testing/CMakeLists.txt | 7 + src/xenia/cpu/testing/premake5.lua | 28 - src/xenia/debug/ui/CMakeLists.txt | 4 + src/xenia/debug/ui/premake5.lua | 15 - src/xenia/gpu/CMakeLists.txt | 30 + src/xenia/gpu/d3d12/CMakeLists.txt | 44 ++ src/xenia/gpu/d3d12/premake5.lua | 128 ---- src/xenia/gpu/null/CMakeLists.txt | 7 + src/xenia/gpu/null/premake5.lua | 19 - src/xenia/gpu/premake5.lua | 60 -- src/xenia/gpu/vulkan/CMakeLists.txt | 71 +++ src/xenia/gpu/vulkan/premake5.lua | 159 ----- src/xenia/helper/sdl/CMakeLists.txt | 4 + src/xenia/helper/sdl/premake5.lua | 13 - src/xenia/hid/CMakeLists.txt | 11 + src/xenia/hid/nop/CMakeLists.txt | 4 + src/xenia/hid/nop/premake5.lua | 13 - src/xenia/hid/premake5.lua | 16 - src/xenia/hid/sdl/CMakeLists.txt | 4 + src/xenia/hid/sdl/premake5.lua | 16 - src/xenia/hid/skylander/CMakeLists.txt | 14 + src/xenia/hid/skylander/premake5.lua | 23 - src/xenia/hid/winkey/CMakeLists.txt | 4 + src/xenia/hid/winkey/premake5.lua | 14 - src/xenia/hid/xinput/CMakeLists.txt | 4 + src/xenia/hid/xinput/premake5.lua | 13 - src/xenia/kernel/CMakeLists.txt | 23 + src/xenia/kernel/premake5.lua | 40 -- src/xenia/patcher/CMakeLists.txt | 4 + src/xenia/patcher/premake5.lua | 12 - src/xenia/premake5.lua | 16 - src/xenia/ui/CMakeLists.txt | 18 + src/xenia/ui/d3d12/CMakeLists.txt | 21 + src/xenia/ui/d3d12/premake5.lua | 39 -- src/xenia/ui/premake5.lua | 36 -- src/xenia/ui/vulkan/CMakeLists.txt | 40 ++ src/xenia/ui/vulkan/premake5.lua | 54 -- src/xenia/vfs/CMakeLists.txt | 31 + src/xenia/vfs/premake5.lua | 42 -- src/xenia/vfs/testing/CMakeLists.txt | 3 + src/xenia/vfs/testing/premake5.lua | 8 - third_party/CMakeLists.txt | 654 ++++++++++++++++++++ third_party/SDL2-static.lua | 360 ----------- third_party/SDL2.lua | 36 -- third_party/aes_128.lua | 11 - third_party/capstone.lua | 36 -- third_party/cxxopts.lua | 14 - third_party/discord-rpc.lua | 36 -- third_party/dxbc.lua | 11 - third_party/ffmpeg-xenia/premake5.lua | 42 -- third_party/fmt.lua | 13 - third_party/glslang-spirv.lua | 20 - third_party/imgui.lua | 19 - third_party/libusb.lua | 47 -- third_party/mspack.lua | 19 - third_party/pugixml.lua | 8 - third_party/snappy.lua | 23 - third_party/tomlplusplus.lua | 13 - third_party/xxhash.lua | 11 - third_party/zarchive.lua | 21 - third_party/zlib-ng.lua | 63 -- third_party/zstd.lua | 11 - tools/build/bin/premake5.exe | Bin 1318400 -> 0 bytes tools/build/premake.py | 272 -------- tools/build/premake5.lua | 9 - tools/build/scripts/build_paths.lua | 16 - tools/build/scripts/force_compile_as_c.lua | 32 - tools/build/scripts/force_compile_as_cc.lua | 32 - tools/build/scripts/pkg_config.lua | 45 -- tools/build/scripts/platform_files.lua | 71 --- tools/build/scripts/single_library.lua | 20 - tools/build/scripts/test_suite.lua | 99 --- tools/build/scripts/util.lua | 50 -- xenia-build.py | 292 +++------ 106 files changed, 1829 insertions(+), 3249 deletions(-) create mode 100644 CMakeLists.txt create mode 100644 CMakePresets.json create mode 100644 cmake/XeniaHelpers.cmake delete mode 100644 premake5.lua create mode 100644 src/xenia/CMakeLists.txt create mode 100644 src/xenia/app/CMakeLists.txt create mode 100644 src/xenia/app/discord/CMakeLists.txt delete mode 100644 src/xenia/app/discord/premake5.lua delete mode 100644 src/xenia/app/premake5.lua create mode 100644 src/xenia/apu/CMakeLists.txt create mode 100644 src/xenia/apu/alsa/CMakeLists.txt delete mode 100644 src/xenia/apu/alsa/premake5.lua create mode 100644 src/xenia/apu/nop/CMakeLists.txt delete mode 100644 src/xenia/apu/nop/premake5.lua delete mode 100644 src/xenia/apu/premake5.lua create mode 100644 src/xenia/apu/sdl/CMakeLists.txt delete mode 100644 src/xenia/apu/sdl/premake5.lua create mode 100644 src/xenia/apu/xaudio2/CMakeLists.txt delete mode 100644 src/xenia/apu/xaudio2/premake5.lua create mode 100644 src/xenia/base/CMakeLists.txt delete mode 100644 src/xenia/base/premake5.lua create mode 100644 src/xenia/base/testing/CMakeLists.txt delete mode 100644 src/xenia/base/testing/premake5.lua create mode 100644 src/xenia/cpu/CMakeLists.txt create mode 100644 src/xenia/cpu/backend/x64/CMakeLists.txt delete mode 100644 src/xenia/cpu/backend/x64/premake5.lua create mode 100644 src/xenia/cpu/ppc/testing/CMakeLists.txt delete mode 100644 src/xenia/cpu/ppc/testing/premake5.lua delete mode 100644 src/xenia/cpu/premake5.lua create mode 100644 src/xenia/cpu/testing/CMakeLists.txt delete mode 100644 src/xenia/cpu/testing/premake5.lua create mode 100644 src/xenia/debug/ui/CMakeLists.txt delete mode 100644 src/xenia/debug/ui/premake5.lua create mode 100644 src/xenia/gpu/CMakeLists.txt create mode 100644 src/xenia/gpu/d3d12/CMakeLists.txt delete mode 100644 src/xenia/gpu/d3d12/premake5.lua create mode 100644 src/xenia/gpu/null/CMakeLists.txt delete mode 100644 src/xenia/gpu/null/premake5.lua delete mode 100644 src/xenia/gpu/premake5.lua create mode 100644 src/xenia/gpu/vulkan/CMakeLists.txt delete mode 100644 src/xenia/gpu/vulkan/premake5.lua create mode 100644 src/xenia/helper/sdl/CMakeLists.txt delete mode 100644 src/xenia/helper/sdl/premake5.lua create mode 100644 src/xenia/hid/CMakeLists.txt create mode 100644 src/xenia/hid/nop/CMakeLists.txt delete mode 100644 src/xenia/hid/nop/premake5.lua delete mode 100644 src/xenia/hid/premake5.lua create mode 100644 src/xenia/hid/sdl/CMakeLists.txt delete mode 100644 src/xenia/hid/sdl/premake5.lua create mode 100644 src/xenia/hid/skylander/CMakeLists.txt delete mode 100644 src/xenia/hid/skylander/premake5.lua create mode 100644 src/xenia/hid/winkey/CMakeLists.txt delete mode 100644 src/xenia/hid/winkey/premake5.lua create mode 100644 src/xenia/hid/xinput/CMakeLists.txt delete mode 100644 src/xenia/hid/xinput/premake5.lua create mode 100644 src/xenia/kernel/CMakeLists.txt delete mode 100644 src/xenia/kernel/premake5.lua create mode 100644 src/xenia/patcher/CMakeLists.txt delete mode 100644 src/xenia/patcher/premake5.lua delete mode 100644 src/xenia/premake5.lua create mode 100644 src/xenia/ui/CMakeLists.txt create mode 100644 src/xenia/ui/d3d12/CMakeLists.txt delete mode 100644 src/xenia/ui/d3d12/premake5.lua delete mode 100644 src/xenia/ui/premake5.lua create mode 100644 src/xenia/ui/vulkan/CMakeLists.txt delete mode 100644 src/xenia/ui/vulkan/premake5.lua create mode 100644 src/xenia/vfs/CMakeLists.txt delete mode 100644 src/xenia/vfs/premake5.lua create mode 100644 src/xenia/vfs/testing/CMakeLists.txt delete mode 100644 src/xenia/vfs/testing/premake5.lua create mode 100644 third_party/CMakeLists.txt delete mode 100644 third_party/SDL2-static.lua delete mode 100644 third_party/SDL2.lua delete mode 100644 third_party/aes_128.lua delete mode 100644 third_party/capstone.lua delete mode 100644 third_party/cxxopts.lua delete mode 100644 third_party/discord-rpc.lua delete mode 100644 third_party/dxbc.lua delete mode 100644 third_party/ffmpeg-xenia/premake5.lua delete mode 100644 third_party/fmt.lua delete mode 100644 third_party/glslang-spirv.lua delete mode 100644 third_party/imgui.lua delete mode 100644 third_party/libusb.lua delete mode 100644 third_party/mspack.lua delete mode 100644 third_party/pugixml.lua delete mode 100644 third_party/snappy.lua delete mode 100644 third_party/tomlplusplus.lua delete mode 100644 third_party/xxhash.lua delete mode 100644 third_party/zarchive.lua delete mode 100644 third_party/zlib-ng.lua delete mode 100644 third_party/zstd.lua delete mode 100644 tools/build/bin/premake5.exe delete mode 100755 tools/build/premake.py delete mode 100644 tools/build/premake5.lua delete mode 100644 tools/build/scripts/build_paths.lua delete mode 100644 tools/build/scripts/force_compile_as_c.lua delete mode 100644 tools/build/scripts/force_compile_as_cc.lua delete mode 100644 tools/build/scripts/pkg_config.lua delete mode 100644 tools/build/scripts/platform_files.lua delete mode 100644 tools/build/scripts/single_library.lua delete mode 100644 tools/build/scripts/test_suite.lua delete mode 100644 tools/build/scripts/util.lua diff --git a/.github/workflows/Linux_build.yml b/.github/workflows/Linux_build.yml index 50e43fe82..86c64167a 100644 --- a/.github/workflows/Linux_build.yml +++ b/.github/workflows/Linux_build.yml @@ -77,11 +77,6 @@ jobs: - uses: actions/checkout@main with: fetch-depth: 0 - - uses: actions/cache@main - id: cache - with: - key: ${{ hashFiles('tools/build/bin/premake5.exe') }} - path: tools/build/bin/premake5 - name: Cache Vulkan SDK id: cache-vulkan-sdk-linux uses: actions/cache@v4 @@ -95,7 +90,7 @@ jobs: wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc sudo apt-add-repository "deb http://apt.llvm.org/${UBUNTU_BASE}/ llvm-toolchain-${UBUNTU_BASE}-${{ matrix.LLVM_VERSION }} main" sudo apt-get -y update - sudo apt-get -y install mesa-vulkan-drivers valgrind libc++-dev libc++abi-dev libgtk-3-dev libsdl2-dev libvulkan-dev libx11-xcb-dev clang-${{ matrix.LLVM_VERSION }} ninja-build spirv-tools + sudo apt-get -y install mesa-vulkan-drivers valgrind libc++-dev libc++abi-dev libgtk-3-dev libsdl2-dev libvulkan-dev libx11-xcb-dev clang-${{ matrix.LLVM_VERSION }} lld-${{ matrix.LLVM_VERSION }} ninja-build spirv-tools cmake # Install Vulkan SDK if [ '${{ steps.cache-vulkan-sdk-linux.outputs.cache-hit }}' != 'true' ]; then @@ -112,11 +107,7 @@ jobs: which spirv-opt && spirv-opt --version || echo "Warning: spirv-opt not found" which spirv-dis || echo "Warning: spirv-dis not found" - git submodule update --init --depth=1 -j$(getconf _NPROCESSORS_ONLN) $(grep -oP '(?<=path = )(?!third_party\/(DirectXShaderCompiler|premake-(androidndk|export-compile-commands))).+' .gitmodules) - if [ '${{ steps.cache.outputs.cache-hit }}' != 'true' ]; then - ./xenia-build.py premake - cp third_party/premake-core/bin/release/premake5 tools/build/bin - fi + git submodule update --init --depth=1 -j$(getconf _NPROCESSORS_ONLN) $(grep -oP '(?<=path = )(?!third_party\/DirectXShaderCompiler).+' .gitmodules) - name: Build env: CC: clang-${{ matrix.LLVM_VERSION }} diff --git a/.github/workflows/Windows_build.yml b/.github/workflows/Windows_build.yml index 8a2a91cbb..c64c50561 100644 --- a/.github/workflows/Windows_build.yml +++ b/.github/workflows/Windows_build.yml @@ -123,19 +123,19 @@ jobs: echo "Warning: fxc.exe not found in Windows SDK" } - git submodule update --init --depth=1 -j $env:NUMBER_OF_PROCESSORS (Select-String -CaseSensitive '(?<=path = )(?!third_party\/(premake-(androidndk|cmake|export-compile-commands))).+' .gitmodules).Matches.Value + git submodule update --init --depth=1 -j $env:NUMBER_OF_PROCESSORS (Select-String -CaseSensitive '(?<=path = ).+' .gitmodules).Matches.Value - name: Build - run: python xenia-build.py build --config=Release --target=src\xenia-app + run: python xenia-build.py build --config=Release --target=xenia-app - name: Prepare artifacts id: prepare_artifacts run: | - foreach ($file in 'build\bin\Windows\Release\xenia_canary.exe','build\bin\Windows\Release\xenia_canary.pdb') { + foreach ($file in 'build\bin\Windows\Release\xenia_canary.exe') { if ((get-item $file).Length -le 100000) { echo "::error::$file is too small." } } - robocopy . build\bin\Windows\Release LICENSE /r:0 /w:0 - robocopy build\bin\Windows\Release artifacts\xenia_canary xenia_canary.exe xenia_canary.pdb LICENSE /r:0 /w:0 + robocopy . build\bin\Windows\Release LICENSE /r:0 /w:0 + robocopy build\bin\Windows\Release artifacts\xenia_canary xenia_canary.exe LICENSE /r:0 /w:0 If ($LastExitCode -le 7) { echo "LastExitCode = $LastExitCode";$LastExitCode = 0 } - name: Upload xenia canary artifacts if: steps.prepare_artifacts.outcome == 'success' diff --git a/.gitmodules b/.gitmodules index f2de9aba9..0ee64ac52 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,16 +7,10 @@ [submodule "third_party/catch"] path = third_party/catch url = https://github.com/catchorg/Catch2.git -[submodule "third_party/premake-core"] - path = third_party/premake-core - url = https://github.com/premake/premake-core.git [submodule "third_party/snappy"] path = third_party/snappy url = https://github.com/google/snappy.git ignore = dirty -[submodule "third_party/premake-export-compile-commands"] - path = third_party/premake-export-compile-commands - url = https://github.com/xenia-project/premake-export-compile-commands.git [submodule "third_party/discord-rpc"] path = third_party/discord-rpc url = https://github.com/discordapp/discord-rpc.git @@ -50,9 +44,6 @@ [submodule "third_party/DirectXShaderCompiler"] path = third_party/DirectXShaderCompiler url = https://github.com/microsoft/DirectXShaderCompiler.git -[submodule "third_party/premake-cmake"] - path = third_party/premake-cmake - url = https://github.com/JoelLinn/premake-cmake.git [submodule "third_party/date"] path = third_party/date url = https://github.com/HowardHinnant/date.git @@ -63,9 +54,6 @@ path = third_party/FFmpeg url = https://github.com/has207/FFmpeg.git branch = xmaframes -[submodule "third_party/premake-androidndk"] - path = third_party/premake-androidndk - url = https://github.com/Triang3l/premake-androidndk.git [submodule "third_party/FidelityFX-CAS"] path = third_party/FidelityFX-CAS url = https://github.com/GPUOpen-Effects/FidelityFX-CAS.git diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000..193f6d896 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,231 @@ +cmake_minimum_required(VERSION 3.20) +project(xenia LANGUAGES C CXX) + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_C_STANDARD 17) +set(CMAKE_C_STANDARD_REQUIRED ON) + +# Options +option(XENIA_BUILD_TESTS "Build test suites" OFF) +option(XENIA_BUILD_MISC "Build misc subprojects (trace viewers, shader compiler, vfs-dump, demos)" OFF) + +# Multi-config generators (VS, Ninja Multi-Config) +get_property(_is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(_is_multi_config) + set(CMAKE_CONFIGURATION_TYPES "Checked;Debug;Release" CACHE STRING "" FORCE) +endif() + +# Custom Checked configuration (ASan + debug runtime) +set(CMAKE_C_FLAGS_CHECKED "${CMAKE_C_FLAGS_DEBUG}" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS_CHECKED "${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING "" FORCE) +set(CMAKE_EXE_LINKER_FLAGS_CHECKED "${CMAKE_EXE_LINKER_FLAGS_DEBUG}" CACHE STRING "" FORCE) +set(CMAKE_SHARED_LINKER_FLAGS_CHECKED "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" CACHE STRING "" FORCE) +set(CMAKE_STATIC_LINKER_FLAGS_CHECKED "${CMAKE_STATIC_LINKER_FLAGS_DEBUG}" CACHE STRING "" FORCE) + +# Platform name for output paths +if(WIN32) + set(XE_PLATFORM_NAME "Windows") +else() + set(XE_PLATFORM_NAME "Linux") +endif() + +# Output directories +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/${XE_PLATFORM_NAME}") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/${XE_PLATFORM_NAME}") +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/obj/${XE_PLATFORM_NAME}") + +# Create scratch/ if needed +file(MAKE_DIRECTORY "${PROJECT_SOURCE_DIR}/scratch") + +# Include helpers +include(cmake/XeniaHelpers.cmake) + +# Global include directories (these apply to all targets via directory scope) +include_directories( + ${PROJECT_SOURCE_DIR} + ${PROJECT_SOURCE_DIR}/src + ${PROJECT_SOURCE_DIR}/third_party +) + +# Global defines +add_compile_definitions( + VULKAN_HPP_NO_TO_STRING + IMGUI_DISABLE_DEFAULT_FONT + IMGUI_USE_STB_SPRINTF + USE_CPP17 # Tabulate +) + +# Static library define +add_compile_definitions(_LIB) + +# ============================================================================== +# Platform-specific global settings +# ============================================================================== + +if(MSVC) + # Global MSVC settings + add_compile_options( + /utf-8 # Build correctly on systems with non-Latin codepages + /wd4201 # Nameless struct/unions are ok + /arch:AVX # AVX vector extensions + /MP # Multi-processor compilation + ) + add_compile_definitions( + _CRT_NONSTDC_NO_DEPRECATE + _CRT_SECURE_NO_WARNINGS + WIN32 + _WIN64=1 + _AMD64=1 + UNICODE + _UNICODE + IMGUI_DISABLE_OBSOLETE_FUNCTIONS + ) + add_link_options( + /ignore:4006 # Ignores complaints about empty obj files + /ignore:4221 + ) + # Global Windows system libraries + link_libraries( + ntdll wsock32 ws2_32 xinput comctl32 shcore shlwapi dxguid bcrypt + ) + # Windows manifest for executables is handled per-target + + # --- Per-configuration MSVC flags --- + # Checked + string(APPEND CMAKE_C_FLAGS_CHECKED " /RTCsu /fsanitize=address") + string(APPEND CMAKE_CXX_FLAGS_CHECKED " /RTCsu /fsanitize=address") + string(APPEND CMAKE_EXE_LINKER_FLAGS_CHECKED " /INCREMENTAL:NO") + add_compile_definitions($<$:DEBUG>) + + # Debug: use release runtime (/MD) for heap performance, matching premake + string(REPLACE "/MDd" "/MD" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") + string(REPLACE "/MDd" "/MD" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") + add_compile_definitions($<$:DEBUG>) + add_compile_definitions($<$:_NO_DEBUG_HEAP=1>) + + # Checked or Debug: full symbols + string(APPEND CMAKE_C_FLAGS_CHECKED " /Zi") + string(APPEND CMAKE_CXX_FLAGS_CHECKED " /Zi") + # Debug already has /Zi by default + + # Release + add_compile_definitions($<$:NDEBUG>) + add_compile_definitions($<$:_NO_DEBUG_HEAP=1>) + add_compile_options($<$:/Gw>) + add_compile_options($<$:/GS->) # NoBufferSecurityCheck + # Replace /Ob2 with /Ob3 in CMake's default Release flags + string(REPLACE "/Ob2" "/Ob3" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") + string(REPLACE "/Ob2" "/Ob3" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") + # Link-time optimization (whole program optimization) + add_compile_options($<$:/GL>) + add_link_options($<$:/LTCG>) + set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG") + +else() + # GCC/Clang (Linux) + add_compile_options(-mavx) + + # Disable specific warnings for C++ + add_compile_options( + $<$:-Wno-switch> + $<$:-Wno-attributes> + ) + + # Clang-specific C++ warnings + if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + add_compile_options( + $<$:-Wno-deprecated-register> + $<$:-Wno-deprecated-volatile> + $<$:-Wno-deprecated-enum-enum-conversion> + ) + + # Check Clang version for newer warnings + if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 20) + add_compile_options( + $<$:-Wno-deprecated-literal-operator> + $<$:-Wno-nontrivial-memcall> + ) + endif() + if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 21) + add_compile_options( + $<$:-Wno-character-conversion> + ) + endif() + elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + # GCC-specific + add_compile_options( + $<$:-Wno-unused-result> + $<$:-Wno-volatile> + $<$:-Wno-template-id-cdtor> + $<$:-Wno-return-type> + $<$:-Wno-deprecated> + -fpermissive # HACK + ) + add_link_options(-fpermissive) + # GCC: do not use -Werror + endif() + + # C-specific warnings + add_compile_options( + $<$:-Wno-implicit-function-declaration> + ) + + # GTK3 via pkg-config + find_package(PkgConfig REQUIRED) + pkg_check_modules(GTK3 REQUIRED gtk+-x11-3.0) + include_directories(${GTK3_INCLUDE_DIRS}) + link_directories(${GTK3_LIBRARY_DIRS}) + add_compile_options(${GTK3_CFLAGS_OTHER}) + + # Global Linux libraries + link_libraries(stdc++fs dl lz4 pthread rt) + + # Link groups for executables (resolves circular deps) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--start-group") + set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -Wl,--end-group") + + # --- Per-configuration Linux flags --- + # Checked + string(APPEND CMAKE_C_FLAGS_CHECKED " -fsanitize=address") + string(APPEND CMAKE_CXX_FLAGS_CHECKED " -fsanitize=address") + string(APPEND CMAKE_EXE_LINKER_FLAGS_CHECKED " -fsanitize=address") + add_compile_definitions( + $<$:DEBUG> + $<$:_GLIBCXX_DEBUG> + ) + + # Debug + add_compile_definitions( + $<$:DEBUG> + $<$:_NO_DEBUG_HEAP=1> + $<$:_GLIBCXX_DEBUG> + ) + + # Release + add_compile_definitions( + $<$:NDEBUG> + $<$:_NO_DEBUG_HEAP=1> + ) + add_compile_options($<$:-O3>) + # Link-time optimization (use lld to avoid system linker LTO plugin version mismatch) + add_compile_options($<$:-flto=thin>) + add_link_options($<$:-flto=thin>) + add_link_options($<$:-fuse-ld=lld>) + # No symbols in release on non-Windows + string(REPLACE "-g" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") + string(REPLACE "-g" "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") +endif() + +# ============================================================================== +# Subdirectories +# ============================================================================== + +# Third-party libraries first (no -Werror applied to these) +add_subdirectory(third_party) + +# Xenia source modules (xe_target_defaults applies -Werror) +add_subdirectory(src/xenia) + +# Set default startup project for Visual Studio +set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT xenia-app) diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 000000000..090e39003 --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,55 @@ +{ + "version": 3, + "cmakeMinimumRequired": { + "major": 3, + "minor": 20, + "patch": 0 + }, + "configurePresets": [ + { + "name": "default", + "displayName": "Ninja Multi-Config", + "generator": "Ninja Multi-Config", + "binaryDir": "${sourceDir}/build" + }, + { + "name": "vs", + "displayName": "Visual Studio 2022", + "generator": "Visual Studio 17 2022", + "architecture": "x64", + "binaryDir": "${sourceDir}/build" + } + ], + "buildPresets": [ + { + "name": "debug", + "configurePreset": "default", + "configuration": "Debug" + }, + { + "name": "release", + "configurePreset": "default", + "configuration": "Release" + }, + { + "name": "checked", + "configurePreset": "default", + "configuration": "Checked" + }, + { + "name": "vs-debug", + "configurePreset": "vs", + "configuration": "Debug" + }, + { + "name": "vs-release", + "configurePreset": "vs", + "configuration": "Release" + }, + { + "name": "vs-checked", + "configurePreset": "vs", + "configuration": "Checked" + } + ] +} diff --git a/cmake/XeniaHelpers.cmake b/cmake/XeniaHelpers.cmake new file mode 100644 index 000000000..4390ee68b --- /dev/null +++ b/cmake/XeniaHelpers.cmake @@ -0,0 +1,160 @@ +# XeniaHelpers.cmake - Helper functions for the Xenia build system. +# Replaces tools/build/scripts/*.lua + +include(CMakeParseArguments) + +# Platform suffix lists for file filtering +set(XE_PLATFORM_SUFFIXES + _win _linux _posix _gnulinux _x11 _gtk _android _mac +) + +# xe_platform_sources(target base_path [RECURSIVE]) +# +# Adds platform-filtered source files to a target. +# Globs *.h, *.cc, *.cpp, *.c, *.inc from base_path. +# Excludes all platform suffixes, then adds back the ones matching the current platform. +# Always excludes *_main.cc and *_test.cc. +function(xe_platform_sources target base_path) + set(options RECURSIVE) + cmake_parse_arguments(ARG "${options}" "" "" ${ARGN}) + + if(ARG_RECURSIVE) + set(glob_mode GLOB_RECURSE) + set(pattern "**") + else() + set(glob_mode GLOB) + set(pattern "*") + endif() + + # Glob all source files + file(${glob_mode} _all_sources "${base_path}/*.h" + "${base_path}/*.cc" + "${base_path}/*.cpp" + "${base_path}/*.c" + "${base_path}/*.inc" + ) + + # Build exclude patterns + set(_excluded) + foreach(src ${_all_sources}) + get_filename_component(_name_we ${src} NAME_WE) + # Exclude *_main.cc, *_test.cc, and *_demo.cc + if(_name_we MATCHES "_main$" OR _name_we MATCHES "_test$" OR _name_we MATCHES "_demo$") + list(APPEND _excluded ${src}) + continue() + endif() + # Exclude all platform suffixes + foreach(suffix ${XE_PLATFORM_SUFFIXES}) + if(_name_we MATCHES "${suffix}$") + list(APPEND _excluded ${src}) + break() + endif() + endforeach() + endforeach() + + # Remove excluded files + set(_sources ${_all_sources}) + if(_excluded) + list(REMOVE_ITEM _sources ${_excluded}) + endif() + + # Add back platform-specific files + if(WIN32) + file(${glob_mode} _plat_sources "${base_path}/*_win.h" + "${base_path}/*_win.cc" + ) + elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") + file(${glob_mode} _plat_sources "${base_path}/*_posix.h" + "${base_path}/*_posix.cc" + "${base_path}/*_linux.h" + "${base_path}/*_linux.cc" + "${base_path}/*_gnulinux.h" + "${base_path}/*_gnulinux.cc" + "${base_path}/*_x11.h" + "${base_path}/*_x11.cc" + "${base_path}/*_gtk.h" + "${base_path}/*_gtk.cc" + ) + endif() + + list(APPEND _sources ${_plat_sources}) + target_sources(${target} PRIVATE ${_sources}) +endfunction() + +# xe_target_defaults(target) +# +# Applies xenia-specific compile settings to a target: +# - Fatal warnings (-Werror / /WX) +# - Common include directories +function(xe_target_defaults target) + target_include_directories(${target} PRIVATE + ${PROJECT_SOURCE_DIR} + ${PROJECT_SOURCE_DIR}/src + ${PROJECT_SOURCE_DIR}/third_party + ) + if(MSVC) + target_compile_options(${target} PRIVATE /WX) + elseif(NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + # GCC is too noisy for -Werror; only apply to Clang + target_compile_options(${target} PRIVATE -Werror) + endif() +endfunction() + +# xe_force_c(files...) +# +# Forces the given source files to compile as C. +function(xe_force_c) + set_source_files_properties(${ARGN} PROPERTIES LANGUAGE C) +endfunction() + +# xe_force_cxx(files...) +# +# Forces the given source files to compile as C++. +function(xe_force_cxx) + set_source_files_properties(${ARGN} PROPERTIES LANGUAGE CXX) +endfunction() + +# xe_test_suite(name base_path LINKS lib1 lib2 ...) +# +# Creates a Catch2 test executable from *_test.cc files in base_path. +function(xe_test_suite name base_path) + cmake_parse_arguments(ARG "" "" "LINKS" ${ARGN}) + + file(GLOB _test_sources CONFIGURE_DEPENDS "${base_path}/*_test.cc") + + if(NOT _test_sources) + return() + endif() + + add_executable(${name} + ${_test_sources} + ${PROJECT_SOURCE_DIR}/tools/build/src/test_suite_main.cc + ) + + # Add platform-specific console app main + if(WIN32) + target_sources(${name} PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/base/console_app_main_win.cc) + else() + target_sources(${name} PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/base/console_app_main_posix.cc) + endif() + + target_compile_definitions(${name} PRIVATE + "XE_TEST_SUITE_NAME=\"${name}\"" + ) + target_include_directories(${name} PRIVATE + ${PROJECT_SOURCE_DIR}/tools/build + ${PROJECT_SOURCE_DIR}/tools/build/src + ${PROJECT_SOURCE_DIR}/tools/build/third_party/catch/include + ) + if(ARG_LINKS) + target_link_libraries(${name} PRIVATE ${ARG_LINKS}) + endif() + xe_target_defaults(${name}) + + if(MSVC) + # Disable Edit and Continue - breaks Catch2 __LINE__ usage + target_compile_options(${name} PRIVATE /Zi) + endif() +endfunction() diff --git a/premake5.lua b/premake5.lua deleted file mode 100644 index 0062425fb..000000000 --- a/premake5.lua +++ /dev/null @@ -1,384 +0,0 @@ -include("tools/build") -if _ACTION == "export-compile-commands" then - require("third_party/premake-export-compile-commands/export-compile-commands") -end -if os.istarget("android") then - require("third_party/premake-androidndk/androidndk") -end -if _ACTION == "cmake" then - require("third_party/premake-cmake/cmake") -end - -location(build_root) -targetdir(build_bin) -objdir(build_obj) - --- Define variables for enabling specific submodules --- Todo: Add changing from xb command -enableTests = false -enableMiscSubprojects = false - --- Define an ARCH variable --- Only use this to enable architecture-specific functionality. -if os.istarget("linux") then - ARCH = os.outputof("uname -p") -else - ARCH = "unknown" -end - -includedirs({ - ".", - "src", - "third_party", -}) - -defines({ - "VULKAN_HPP_NO_TO_STRING", - "IMGUI_DISABLE_DEFAULT_FONT", - --"IMGUI_USE_WCHAR32", - "IMGUI_USE_STB_SPRINTF", - --"IMGUI_ENABLE_FREETYPE", - "USE_CPP17", -- Tabulate -}) - -cdialect("C17") -cppdialect("C++20") -symbols("On") -fatalwarnings("All") - --- TODO(DrChat): Find a way to disable this on other architectures. -if ARCH ~= "ppc64" then - filter("architecture:x86_64") - vectorextensions("AVX") - filter({}) -end - -filter("kind:StaticLib") - defines({ - "_LIB", - }) - -filter("configurations:Checked") - runtime("Debug") - sanitize("Address") - flags("NoIncrementalLink") - editandcontinue("Off") - staticruntime("Off") - optimize("Off") - removedefines({ - "IMGUI_USE_STB_SPRINTF", - }) - defines({ - "DEBUG", - }) - -filter({"configurations:Checked", "platforms:Windows"}) -- "toolset:msc" - buildoptions({ - "/RTCsu", -- Full Run-Time Checks. - }) - -filter({"configurations:Checked or Debug", "platforms:Linux"}) - defines({ - "_GLIBCXX_DEBUG", -- libstdc++ debug mode - }) - -filter({"configurations:Checked or Debug", "platforms:Windows"}) -- "toolset:msc" - symbols("Full") - -filter("configurations:Debug") - runtime("Release") - optimize("Off") - defines({ - "DEBUG", - "_NO_DEBUG_HEAP=1", - }) - -filter("configurations:Release") - runtime("Release") - defines({ - "NDEBUG", - "_NO_DEBUG_HEAP=1", - }) - optimize("Speed") - flags({ - "NoBufferSecurityCheck" - }) - inlining("Auto") - editandcontinue("Off") - -- Not using floatingpoint("Fast") - NaN checks are used in some places - -- (though rarely), overall preferable to avoid any functional differences - -- between debug and release builds, and to have calculations involved in GPU - -- (especially anything that may affect vertex position invariance) and CPU - -- (such as constant propagation) emulation as predictable as possible, - -- including handling of specials since games make assumptions about them. - -filter({"configurations:Release", "platforms:not Windows"}) - symbols("Off") - -filter({"configurations:Release", "platforms:Windows"}) -- "toolset:msc" - linktimeoptimization("On") - buildoptions({ - "/Gw", - "/Ob3", --- "/Qpar", -- TODO: Test this. - }) - -filter("platforms:Linux") - system("linux") - toolset("clang") - --buildoptions({ - -- "-mlzcnt", -- (don't) Assume lzcnt is supported. - --}) - pkg_config.all("gtk+-x11-3.0") - links({ - "stdc++fs", - "dl", - "lz4", - "pthread", - "rt", - }) - -filter({"platforms:Linux", "kind:*App"}) - linkgroups("On") - -filter({"language:C++", "toolset:clang or gcc"}) -- "platforms:Linux" - disablewarnings({ - "switch", - "attributes", - }) - -filter({"language:C++", "toolset:gcc"}) -- "platforms:Linux" - disablewarnings({ - "unused-result", - "volatile", - "template-id-cdtor", - "return-type", - "deprecated", - }) - -filter("toolset:gcc") -- "platforms:Linux" - removefatalwarnings("All") -- HACK - if ARCH == "ppc64" then - buildoptions({ - "-m32", - "-mpowerpc64" - }) - linkoptions({ - "-m32", - "-mpowerpc64" - }) - else - buildoptions({ - "-fpermissive", -- HACK - }) - linkoptions({ - "-fpermissive", -- HACK - }) - end - -filter({"language:C++", "toolset:clang"}) -- "platforms:Linux" - disablewarnings({ - "deprecated-register", - "deprecated-volatile", - "deprecated-enum-enum-conversion", - }) -CLANG_BIN = os.getenv("CC") or _OPTIONS["cc"] or "clang" -if os.istarget("linux") and string.contains(CLANG_BIN, "clang") then - CLANG_VER = tonumber(string.match(os.outputof(CLANG_BIN.." --version"), "version (%d%d)")) - if CLANG_VER >= 20 then - filter({"language:C++", "toolset:clang"}) -- "platforms:Linux" - disablewarnings({ - "deprecated-literal-operator", -- Needed only for tabulate - "nontrivial-memcall", - }) - end - if CLANG_VER >= 21 then - filter({"language:C++", "toolset:clang"}) -- "platforms:Linux" - disablewarnings({ - "character-conversion", -- Needed for utfcpp third-party library - }) - end -end - -filter({"language:C", "toolset:clang or gcc"}) -- "platforms:Linux" - disablewarnings({ - "implicit-function-declaration", - }) - -if os.istarget("android") then - filter("platforms:Android-*") - system("android") - systemversion("24") - cppstl("c++") - staticruntime("On") - -- Hidden visibility is needed to prevent dynamic relocations in FFmpeg - -- AArch64 Neon libavcodec assembly with PIC (accesses extern lookup tables - -- using `adrp` and `add`, without the Global Object Table, expecting that all - -- FFmpeg symbols that aren't a part of the FFmpeg API are hidden by FFmpeg's - -- original build system) by resolving those relocations at link time instead. - visibility("Hidden") - links({ - "android", - "dl", - "log", - }) -end - -filter("platforms:Windows") - system("windows") - toolset("msc") - buildoptions({ - "/utf-8", -- 'build correctly on systems with non-Latin codepages'. - -- Disable warnings - "/wd4201", -- Nameless struct/unions are ok. - }) - flags({ - "MultiProcessorCompile", -- Multiprocessor compilation. - "NoMinimalRebuild", -- Required for /MP above. - }) - - defines({ - "_CRT_NONSTDC_NO_DEPRECATE", - "_CRT_SECURE_NO_WARNINGS", - "WIN32", - "_WIN64=1", - "_AMD64=1", - "IMGUI_DISABLE_OBSOLETE_FUNCTIONS", - }) - linkoptions({ - "/ignore:4006", -- Ignores complaints about empty obj files. - "/ignore:4221", - }) - links({ - "ntdll", - "wsock32", - "ws2_32", - "xinput", - "comctl32", - "shcore", - "shlwapi", - "dxguid", - "bcrypt", - }) - --- Embed the manifest for things like dependencies and DPI awareness. -filter({"platforms:Windows", "kind:ConsoleApp or WindowedApp"}) - files({ - "src/xenia/base/app_win32.manifest" - }) - --- Create scratch/ path -if not os.isdir("scratch") then - os.mkdir("scratch") -end - -workspace("xenia") - uuid("931ef4b0-6170-4f7a-aaf2-0fece7632747") - startproject("xenia-app") - if os.istarget("android") then - platforms({"Android-ARM64", "Android-x86_64"}) - filter("platforms:Android-ARM64") - architecture("ARM64") - filter("platforms:Android-x86_64") - architecture("x86_64") - filter({}) - else - architecture("x86_64") - if os.istarget("linux") then - platforms({"Linux"}) - elseif os.istarget("macosx") then - platforms({"Mac"}) - xcodebuildsettings({ - ["ARCHS"] = "x86_64" - }) - elseif os.istarget("windows") then - platforms({"Windows"}) - -- 10.0.15063.0: ID3D12GraphicsCommandList1::SetSamplePositions. - -- 10.0.19041.0: D3D12_HEAP_FLAG_CREATE_NOT_ZEROED. - -- 10.0.22000.0: DWMWA_WINDOW_CORNER_PREFERENCE. - systemversion("latest") - filter({}) - end - end - configurations({"Checked", "Debug", "Release"}) - - include("third_party/aes_128.lua") - include("third_party/capstone.lua") - include("third_party/dxbc.lua") - include("third_party/discord-rpc.lua") - include("third_party/cxxopts.lua") - include("third_party/tomlplusplus.lua") - include("third_party/ffmpeg-xenia/premake5.lua") - include("third_party/fmt.lua") - include("third_party/glslang-spirv.lua") - include("third_party/imgui.lua") - include("third_party/mspack.lua") - include("third_party/snappy.lua") - include("third_party/xxhash.lua") - include("third_party/zarchive.lua") - include("third_party/zstd.lua") - include("third_party/zlib-ng.lua") - include("third_party/pugixml.lua") - - if os.istarget("windows") then - include("third_party/libusb.lua") - end - - if not os.istarget("android") then - -- SDL2 requires sdl2-config, and as of November 2020 isn't high-quality on - -- Android yet, most importantly in game controllers - the keycode and axis - -- enums are being ruined during conversion to SDL2 enums resulting in only - -- one controller (Nvidia Shield) being supported, digital triggers are also - -- not supported; lifecycle management (especially surface loss) is also - -- complicated. - include("third_party/SDL2.lua") - end - - -- Disable treating warnings as fatal errors for all third party projects, as - -- well as other things relevant only to Xenia itself. - for _, prj in ipairs(premake.api.scope.current.solution.projects) do - project(prj.name) - removefiles({ - "src/xenia/base/app_win32.manifest" - }) - removefatalwarnings("All") - end - - include("src/xenia") - include("src/xenia/app") - include("src/xenia/app/discord") - include("src/xenia/apu") - include("src/xenia/apu/nop") - include("src/xenia/base") - include("src/xenia/cpu") - include("src/xenia/cpu/backend/x64") - include("src/xenia/debug/ui") - include("src/xenia/gpu") - include("src/xenia/gpu/null") - include("src/xenia/gpu/vulkan") - include("src/xenia/hid") - include("src/xenia/hid/nop") - include("src/xenia/hid/skylander") - include("src/xenia/kernel") - include("src/xenia/patcher") - include("src/xenia/ui") - include("src/xenia/ui/vulkan") - include("src/xenia/vfs") - - if not os.istarget("android") then - include("src/xenia/apu/sdl") - include("src/xenia/helper/sdl") - include("src/xenia/hid/sdl") - end - - if os.istarget("linux") then - include("src/xenia/apu/alsa") - end - - if os.istarget("windows") then - include("src/xenia/apu/xaudio2") - include("src/xenia/gpu/d3d12") - include("src/xenia/hid/winkey") - include("src/xenia/hid/xinput") - include("src/xenia/ui/d3d12") - end diff --git a/src/xenia/CMakeLists.txt b/src/xenia/CMakeLists.txt new file mode 100644 index 000000000..ad6c41a2f --- /dev/null +++ b/src/xenia/CMakeLists.txt @@ -0,0 +1,49 @@ +# src/xenia/CMakeLists.txt - Master file for all xenia modules. + +# xenia-core (this directory's own sources) +add_library(xenia-core STATIC) +file(GLOB _core_sources "${CMAKE_CURRENT_SOURCE_DIR}/*.h" + "${CMAKE_CURRENT_SOURCE_DIR}/*.cc" +) +target_sources(xenia-core PRIVATE ${_core_sources}) +target_link_libraries(xenia-core PUBLIC fmt xenia-base) +xe_target_defaults(xenia-core) + +# All subdirectories +add_subdirectory(base) +add_subdirectory(cpu) +add_subdirectory(cpu/backend/x64) +add_subdirectory(apu) +add_subdirectory(apu/nop) +add_subdirectory(gpu) +add_subdirectory(gpu/null) +add_subdirectory(gpu/vulkan) +add_subdirectory(hid) +add_subdirectory(hid/nop) +add_subdirectory(hid/skylander) +add_subdirectory(kernel) +add_subdirectory(patcher) +add_subdirectory(ui) +add_subdirectory(ui/vulkan) +add_subdirectory(vfs) +add_subdirectory(debug/ui) +add_subdirectory(app/discord) +add_subdirectory(app) + +# SDL-based modules (not Android) +add_subdirectory(apu/sdl) +add_subdirectory(helper/sdl) +add_subdirectory(hid/sdl) + +# Platform-conditional modules +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + add_subdirectory(apu/alsa) +endif() + +if(WIN32) + add_subdirectory(apu/xaudio2) + add_subdirectory(gpu/d3d12) + add_subdirectory(hid/winkey) + add_subdirectory(hid/xinput) + add_subdirectory(ui/d3d12) +endif() diff --git a/src/xenia/app/CMakeLists.txt b/src/xenia/app/CMakeLists.txt new file mode 100644 index 000000000..291a2a113 --- /dev/null +++ b/src/xenia/app/CMakeLists.txt @@ -0,0 +1,115 @@ +# src/xenia/app/CMakeLists.txt - Main xenia_canary executable. + +if(WIN32) + add_executable(xenia-app WIN32) +else() + add_executable(xenia-app) +endif() + +set_target_properties(xenia-app PROPERTIES OUTPUT_NAME "xenia_canary") + +# Main source +target_sources(xenia-app PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/xenia_main.cc +) + +# Other app sources (emulator_window, profile_dialogs, etc.) +xe_platform_sources(xenia-app ${CMAKE_CURRENT_SOURCE_DIR}) + +# Platform-specific entry points +if(WIN32) + target_sources(xenia-app PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/base/main_init_win.cc + ${PROJECT_SOURCE_DIR}/src/xenia/ui/windowed_app_main_win.cc + ${CMAKE_CURRENT_SOURCE_DIR}/main_resources.rc + ${PROJECT_SOURCE_DIR}/src/xenia/base/app_win32.manifest + ) + # main_init_win.cc needs SSE2 only (not AVX) + set_source_files_properties( + ${PROJECT_SOURCE_DIR}/src/xenia/base/main_init_win.cc + PROPERTIES COMPILE_OPTIONS "/arch:SSE2" + ) +else() + target_sources(xenia-app PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/base/main_init_posix.cc + ${PROJECT_SOURCE_DIR}/src/xenia/ui/windowed_app_main_posix.cc + ) + if(NOT MSVC) + set_source_files_properties( + ${PROJECT_SOURCE_DIR}/src/xenia/base/main_init_posix.cc + PROPERTIES COMPILE_OPTIONS "-msse2;-mno-avx" + ) + endif() +endif() + +target_compile_definitions(xenia-app PRIVATE + XBYAK_NO_OP_NAMES + XBYAK_ENABLE_OMITTED_OPERAND +) + +# Core libraries (all platforms) +target_link_libraries(xenia-app PRIVATE + xenia-apu + xenia-apu-nop + xenia-base + xenia-core + xenia-cpu + xenia-gpu + xenia-gpu-null + xenia-gpu-vulkan + xenia-hid + xenia-hid-nop + xenia-kernel + xenia-patcher + xenia-ui + xenia-ui-vulkan + xenia-vfs + # Third-party + aes_128 + capstone + fmt + dxbc + discord-rpc + glslang-spirv + imgui + libavcodec + libavutil + mspack + snappy + xxhash +) + +# Non-Android specific (always true for Windows/Linux) +target_link_libraries(xenia-app PRIVATE + xenia-app-discord + xenia-apu-sdl + xenia-debug-ui + xenia-helper-sdl + xenia-hid-sdl +) + +# x64 backend +if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64") + target_link_libraries(xenia-app PRIVATE xenia-cpu-backend-x64) +endif() + +# Platform-specific libraries +if(WIN32) + target_link_libraries(xenia-app PRIVATE + xenia-apu-xaudio2 + xenia-gpu-d3d12 + xenia-hid-winkey + xenia-hid-xinput + xenia-ui-d3d12 + ) +elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") + target_link_libraries(xenia-app PRIVATE + xenia-apu-alsa + X11 + xcb + X11-xcb + SDL2 + ) +endif() + +xe_target_defaults(xenia-app) diff --git a/src/xenia/app/discord/CMakeLists.txt b/src/xenia/app/discord/CMakeLists.txt new file mode 100644 index 000000000..5f7adb86b --- /dev/null +++ b/src/xenia/app/discord/CMakeLists.txt @@ -0,0 +1,9 @@ +add_library(xenia-app-discord STATIC + ${CMAKE_CURRENT_SOURCE_DIR}/discord_presence.cc + ${CMAKE_CURRENT_SOURCE_DIR}/discord_presence.h +) +target_include_directories(xenia-app-discord PRIVATE + ${PROJECT_SOURCE_DIR}/third_party/discord-rpc/src +) +target_link_libraries(xenia-app-discord PUBLIC discord-rpc) +xe_target_defaults(xenia-app-discord) diff --git a/src/xenia/app/discord/premake5.lua b/src/xenia/app/discord/premake5.lua deleted file mode 100644 index 13e82b5f0..000000000 --- a/src/xenia/app/discord/premake5.lua +++ /dev/null @@ -1,18 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-app-discord") - uuid("d14c0885-22d2-40de-ab28-7b234ef2b949") - kind("StaticLib") - language("C++") - links({ - "discord-rpc" - }) - includedirs({ - project_root.."/third_party/discord-rpc/src" - }) - files({ - "discord_presence.cc", - "discord_presence.h" - }) diff --git a/src/xenia/app/premake5.lua b/src/xenia/app/premake5.lua deleted file mode 100644 index 2b75a4dd9..000000000 --- a/src/xenia/app/premake5.lua +++ /dev/null @@ -1,133 +0,0 @@ -project_root = "../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-app") - uuid("d7e98620-d007-4ad8-9dbd-b47c8853a17f") - language("C++") - links({ - "xenia-apu", - "xenia-apu-nop", - "xenia-base", - "xenia-core", - "xenia-cpu", - "xenia-gpu", - "xenia-gpu-null", - "xenia-gpu-vulkan", - "xenia-hid", - "xenia-hid-nop", - "xenia-kernel", - "xenia-patcher", - "xenia-ui", - "xenia-ui-vulkan", - "xenia-vfs", - }) - links({ - "aes_128", - "capstone", - "fmt", - "dxbc", - "discord-rpc", - "glslang-spirv", - "imgui", - "libavcodec", - "libavutil", - "mspack", - "snappy", - "xxhash", - }) - defines({ - "XBYAK_NO_OP_NAMES", - "XBYAK_ENABLE_OMITTED_OPERAND", - }) - local_platform_files() - files({ - "../base/main_init_"..platform_suffix..".cc", - "../ui/windowed_app_main_"..platform_suffix..".cc", - }) - - resincludedirs({ - project_root, - }) - - filter(SINGLE_LIBRARY_FILTER) - -- Unified library containing all apps as StaticLibs, not just the main - -- emulator windowed app. - kind("SharedLib") - if enableMiscSubprojects then - links({ - "xenia-gpu-vulkan-trace-viewer", - "xenia-hid-demo", - "xenia-ui-window-vulkan-demo", - }) - end - filter(NOT_SINGLE_LIBRARY_FILTER) - kind("WindowedApp") - - -- `targetname` is broken if building from Gradle, works only for toggling the - -- `lib` prefix, as Gradle uses LOCAL_MODULE_FILENAME, not a derivative of - -- LOCAL_MODULE, to specify the targets to build when executing ndk-build. - filter("platforms:not Android-*") - targetname("xenia_canary") - - filter("architecture:x86_64") - links({ - "xenia-cpu-backend-x64", - }) - - -- TODO(Triang3l): The emulator itself on Android. - filter("platforms:not Android-*") - files({ - "xenia_main.cc", - }) - - filter("platforms:Windows") - files({ - "main_resources.rc", - }) - - filter({"architecture:x86_64", "files:../base/main_init_"..platform_suffix..".cc"}) - vectorextensions("SSE2") -- Disable AVX for main_init_win.cc so our AVX check doesn't use AVX instructions. - - filter("platforms:not Android-*") - links({ - "xenia-app-discord", - "xenia-apu-sdl", - -- TODO(Triang3l): CPU debugger on Android. - "xenia-debug-ui", - "xenia-helper-sdl", - "xenia-hid-sdl", - }) - - filter("platforms:Linux") - links({ - "xenia-apu-alsa", - "X11", - "xcb", - "X11-xcb", - "SDL2", - }) - - filter("platforms:Windows") - links({ - "xenia-apu-xaudio2", - "xenia-gpu-d3d12", - "xenia-hid-winkey", - "xenia-hid-xinput", - "xenia-ui-d3d12", - }) - - if enableMiscSubprojects then - filter({"platforms:Windows", SINGLE_LIBRARY_FILTER}) - links({ - "xenia-gpu-d3d12-trace-viewer", - "xenia-ui-window-d3d12-demo", - }) - end - - filter("platforms:Windows") - -- Only create the .user file if it doesn't already exist. - local user_file = project_root.."/build/xenia-app.vcxproj.user" - if not os.isfile(user_file) then - debugdir(project_root) - end diff --git a/src/xenia/apu/CMakeLists.txt b/src/xenia/apu/CMakeLists.txt new file mode 100644 index 000000000..77eda88b9 --- /dev/null +++ b/src/xenia/apu/CMakeLists.txt @@ -0,0 +1,8 @@ +add_library(xenia-apu STATIC) +xe_platform_sources(xenia-apu ${CMAKE_CURRENT_SOURCE_DIR}) +target_include_directories(xenia-apu PRIVATE + ${PROJECT_SOURCE_DIR}/third_party/FFmpeg + ${PROJECT_SOURCE_DIR}/third_party/ffmpeg-xenia +) +target_link_libraries(xenia-apu PUBLIC libavcodec libavutil libavformat xenia-base) +xe_target_defaults(xenia-apu) diff --git a/src/xenia/apu/alsa/CMakeLists.txt b/src/xenia/apu/alsa/CMakeLists.txt new file mode 100644 index 000000000..ee4662ed8 --- /dev/null +++ b/src/xenia/apu/alsa/CMakeLists.txt @@ -0,0 +1,7 @@ +add_library(xenia-apu-alsa STATIC) +xe_platform_sources(xenia-apu-alsa ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(xenia-apu-alsa PUBLIC xenia-apu xenia-base) +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + target_link_libraries(xenia-apu-alsa PRIVATE asound pthread) +endif() +xe_target_defaults(xenia-apu-alsa) diff --git a/src/xenia/apu/alsa/premake5.lua b/src/xenia/apu/alsa/premake5.lua deleted file mode 100644 index cad0cdc61..000000000 --- a/src/xenia/apu/alsa/premake5.lua +++ /dev/null @@ -1,18 +0,0 @@ -group("src") -project("xenia-apu-alsa") - uuid("8c2e1340-f847-4f9a-8b2e-5d8c1b7a8f9e") - kind("StaticLib") - language("C++") - links({ - "xenia-apu", - "xenia-base", - }) - defines({ - }) - local_platform_files() - - filter("platforms:Linux") - links({ - "asound", - "pthread", - }) diff --git a/src/xenia/apu/nop/CMakeLists.txt b/src/xenia/apu/nop/CMakeLists.txt new file mode 100644 index 000000000..febc15c28 --- /dev/null +++ b/src/xenia/apu/nop/CMakeLists.txt @@ -0,0 +1,4 @@ +add_library(xenia-apu-nop STATIC) +xe_platform_sources(xenia-apu-nop ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(xenia-apu-nop PUBLIC xenia-base xenia-apu) +xe_target_defaults(xenia-apu-nop) diff --git a/src/xenia/apu/nop/premake5.lua b/src/xenia/apu/nop/premake5.lua deleted file mode 100644 index 2b5435229..000000000 --- a/src/xenia/apu/nop/premake5.lua +++ /dev/null @@ -1,13 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-apu-nop") - uuid("f37dbf3a-d200-4cc0-83f0-f801b1bdd862") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - "xenia-apu", - }) - local_platform_files() diff --git a/src/xenia/apu/premake5.lua b/src/xenia/apu/premake5.lua deleted file mode 100644 index 0768b19be..000000000 --- a/src/xenia/apu/premake5.lua +++ /dev/null @@ -1,19 +0,0 @@ -project_root = "../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-apu") - uuid("f4df01f0-50e4-4c67-8f54-61660696cc79") - kind("StaticLib") - language("C++") - links({ - "libavcodec", - "libavutil", - "libavformat", - "xenia-base", - }) - includedirs({ - project_root.."/third_party/FFmpeg", - project_root.."/third_party/ffmpeg-xenia", - }) - local_platform_files() diff --git a/src/xenia/apu/sdl/CMakeLists.txt b/src/xenia/apu/sdl/CMakeLists.txt new file mode 100644 index 000000000..3052fde6c --- /dev/null +++ b/src/xenia/apu/sdl/CMakeLists.txt @@ -0,0 +1,4 @@ +add_library(xenia-apu-sdl STATIC) +xe_platform_sources(xenia-apu-sdl ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(xenia-apu-sdl PUBLIC xenia-apu xenia-base xenia-helper-sdl SDL2) +xe_target_defaults(xenia-apu-sdl) diff --git a/src/xenia/apu/sdl/premake5.lua b/src/xenia/apu/sdl/premake5.lua deleted file mode 100644 index 77bf00131..000000000 --- a/src/xenia/apu/sdl/premake5.lua +++ /dev/null @@ -1,16 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-apu-sdl") - uuid("153b4e8b-813a-40e6-9366-4b51abc73c45") - kind("StaticLib") - language("C++") - links({ - "xenia-apu", - "xenia-base", - "xenia-helper-sdl", - "SDL2", - }) - local_platform_files() - sdl2_include() diff --git a/src/xenia/apu/xaudio2/CMakeLists.txt b/src/xenia/apu/xaudio2/CMakeLists.txt new file mode 100644 index 000000000..c598ccc5a --- /dev/null +++ b/src/xenia/apu/xaudio2/CMakeLists.txt @@ -0,0 +1,4 @@ +add_library(xenia-apu-xaudio2 STATIC) +xe_platform_sources(xenia-apu-xaudio2 ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(xenia-apu-xaudio2 PUBLIC xenia-base xenia-apu) +xe_target_defaults(xenia-apu-xaudio2) diff --git a/src/xenia/apu/xaudio2/premake5.lua b/src/xenia/apu/xaudio2/premake5.lua deleted file mode 100644 index 8444d05b1..000000000 --- a/src/xenia/apu/xaudio2/premake5.lua +++ /dev/null @@ -1,13 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-apu-xaudio2") - uuid("7a54a497-24d9-4c0e-a013-8507a04231f9") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - "xenia-apu", - }) - local_platform_files() diff --git a/src/xenia/base/CMakeLists.txt b/src/xenia/base/CMakeLists.txt new file mode 100644 index 000000000..0443d112b --- /dev/null +++ b/src/xenia/base/CMakeLists.txt @@ -0,0 +1,17 @@ +add_library(xenia-base STATIC) +xe_platform_sources(xenia-base ${CMAKE_CURRENT_SOURCE_DIR}) +# Exclude console_app_main and main_init files +file(GLOB _base_exclude "${CMAKE_CURRENT_SOURCE_DIR}/console_app_main_*.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/main_init_*.cc" +) +get_target_property(_base_srcs xenia-base SOURCES) +if(_base_exclude AND _base_srcs) + list(REMOVE_ITEM _base_srcs ${_base_exclude}) + set_target_properties(xenia-base PROPERTIES SOURCES "${_base_srcs}") +endif() +target_link_libraries(xenia-base PUBLIC fmt) +xe_target_defaults(xenia-base) + +if(XENIA_BUILD_TESTS) + add_subdirectory(testing) +endif() diff --git a/src/xenia/base/premake5.lua b/src/xenia/base/premake5.lua deleted file mode 100644 index a4ed45935..000000000 --- a/src/xenia/base/premake5.lua +++ /dev/null @@ -1,22 +0,0 @@ -project_root = "../../.." -include(project_root.."/tools/build") - -project("xenia-base") - uuid("aeadaf22-2b20-4941-b05f-a802d5679c11") - kind("StaticLib") - language("C++") - links({ - "fmt", - }) - local_platform_files() - removefiles({ - "console_app_main_*.cc", - "main_init_*.cc", - }) - files({ - "debug_visualizers.natvis", - }) - -if enableTests then - include("testing") -end diff --git a/src/xenia/base/testing/CMakeLists.txt b/src/xenia/base/testing/CMakeLists.txt new file mode 100644 index 000000000..674b6d148 --- /dev/null +++ b/src/xenia/base/testing/CMakeLists.txt @@ -0,0 +1,3 @@ +xe_test_suite(xenia-base-tests ${CMAKE_CURRENT_SOURCE_DIR} + LINKS fmt xenia-base +) diff --git a/src/xenia/base/testing/premake5.lua b/src/xenia/base/testing/premake5.lua deleted file mode 100644 index 74d39aa65..000000000 --- a/src/xenia/base/testing/premake5.lua +++ /dev/null @@ -1,9 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -test_suite("xenia-base-tests", project_root, ".", { - links = { - "fmt", - "xenia-base", - }, -}) diff --git a/src/xenia/cpu/CMakeLists.txt b/src/xenia/cpu/CMakeLists.txt new file mode 100644 index 000000000..6637bdad9 --- /dev/null +++ b/src/xenia/cpu/CMakeLists.txt @@ -0,0 +1,17 @@ +add_library(xenia-cpu STATIC) +xe_platform_sources(xenia-cpu ${CMAKE_CURRENT_SOURCE_DIR}) +xe_platform_sources(xenia-cpu ${CMAKE_CURRENT_SOURCE_DIR}/backend) +xe_platform_sources(xenia-cpu ${CMAKE_CURRENT_SOURCE_DIR}/compiler) +xe_platform_sources(xenia-cpu ${CMAKE_CURRENT_SOURCE_DIR}/compiler/passes) +xe_platform_sources(xenia-cpu ${CMAKE_CURRENT_SOURCE_DIR}/hir) +xe_platform_sources(xenia-cpu ${CMAKE_CURRENT_SOURCE_DIR}/ppc) +target_include_directories(xenia-cpu PRIVATE + ${PROJECT_SOURCE_DIR}/third_party/llvm/include +) +target_link_libraries(xenia-cpu PUBLIC xenia-base mspack) +xe_target_defaults(xenia-cpu) + +if(XENIA_BUILD_TESTS) + add_subdirectory(testing) + add_subdirectory(ppc/testing) +endif() diff --git a/src/xenia/cpu/backend/x64/CMakeLists.txt b/src/xenia/cpu/backend/x64/CMakeLists.txt new file mode 100644 index 000000000..b7ec45902 --- /dev/null +++ b/src/xenia/cpu/backend/x64/CMakeLists.txt @@ -0,0 +1,18 @@ +add_library(xenia-cpu-backend-x64 STATIC) +xe_platform_sources(xenia-cpu-backend-x64 ${CMAKE_CURRENT_SOURCE_DIR}) +target_compile_definitions(xenia-cpu-backend-x64 PRIVATE + CAPSTONE_X86_ATT_DISABLE + CAPSTONE_HAS_X86 + CAPSTONE_USE_SYS_DYN_MEM + XBYAK_NO_OP_NAMES + XBYAK_ENABLE_OMITTED_OPERAND +) +# Optional VTune support +if(EXISTS "${PROJECT_SOURCE_DIR}/third_party/vtune") + target_compile_definitions(xenia-cpu-backend-x64 PRIVATE ENABLE_VTUNE=1) +endif() +target_include_directories(xenia-cpu-backend-x64 PRIVATE + ${PROJECT_SOURCE_DIR}/third_party/capstone/include +) +target_link_libraries(xenia-cpu-backend-x64 PUBLIC capstone fmt xenia-base xenia-cpu) +xe_target_defaults(xenia-cpu-backend-x64) diff --git a/src/xenia/cpu/backend/x64/premake5.lua b/src/xenia/cpu/backend/x64/premake5.lua deleted file mode 100644 index ac9c7f80d..000000000 --- a/src/xenia/cpu/backend/x64/premake5.lua +++ /dev/null @@ -1,30 +0,0 @@ -project_root = "../../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-cpu-backend-x64") - uuid("7d8d5dce-4696-4197-952a-09506f725afe") - kind("StaticLib") - language("C++") - links({ - "capstone", - "fmt", - "xenia-base", - "xenia-cpu", - }) - defines({ - "CAPSTONE_X86_ATT_DISABLE", - "CAPSTONE_HAS_X86", - "CAPSTONE_USE_SYS_DYN_MEM", - "XBYAK_NO_OP_NAMES", - "XBYAK_ENABLE_OMITTED_OPERAND", - }) - -- Enable VTune, if it's installed. - if os.isdir(project_root.."/third_party/vtune") then - defines { "ENABLE_VTUNE=1" } - end - - includedirs({ - project_root.."/third_party/capstone/include", - }) - local_platform_files() diff --git a/src/xenia/cpu/ppc/testing/CMakeLists.txt b/src/xenia/cpu/ppc/testing/CMakeLists.txt new file mode 100644 index 000000000..97a726f0f --- /dev/null +++ b/src/xenia/cpu/ppc/testing/CMakeLists.txt @@ -0,0 +1,37 @@ +if(NOT XENIA_BUILD_TESTS) + return() +endif() + +add_executable(xenia-cpu-ppc-tests + ${CMAKE_CURRENT_SOURCE_DIR}/ppc_testing_main.cc +) + +# Add platform-specific console app main +if(WIN32) + target_sources(xenia-cpu-ppc-tests PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/base/console_app_main_win.cc) +else() + target_sources(xenia-cpu-ppc-tests PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/base/console_app_main_posix.cc) +endif() + +# Add .s files but exclude from build (they're test data) +file(GLOB _ppc_asm "${CMAKE_CURRENT_SOURCE_DIR}/*.s") +target_sources(xenia-cpu-ppc-tests PRIVATE ${_ppc_asm}) +set_source_files_properties(${_ppc_asm} PROPERTIES HEADER_FILE_ONLY TRUE) + +target_link_libraries(xenia-cpu-ppc-tests PRIVATE + xenia-apu xenia-apu-nop + xenia-base xenia-core xenia-cpu + xenia-gpu xenia-gpu-null + xenia-hid xenia-hid-nop + xenia-kernel xenia-patcher xenia-ui xenia-vfs + capstone fmt imgui mspack +) + +# x64 backend +if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64") + target_link_libraries(xenia-cpu-ppc-tests PRIVATE xenia-cpu-backend-x64) +endif() + +xe_target_defaults(xenia-cpu-ppc-tests) diff --git a/src/xenia/cpu/ppc/testing/premake5.lua b/src/xenia/cpu/ppc/testing/premake5.lua deleted file mode 100644 index 6db094847..000000000 --- a/src/xenia/cpu/ppc/testing/premake5.lua +++ /dev/null @@ -1,85 +0,0 @@ -project_root = "../../../../.." -include(project_root.."/tools/build") - -group("tests") -project("xenia-cpu-ppc-tests") - uuid("2a57d5ac-4024-4c49-9cd3-aa3a603c2ef8") - kind("ConsoleApp") - language("C++") - links({ - "xenia-apu", - "xenia-apu-nop", - "xenia-base", - "xenia-core", - "xenia-cpu", - "xenia-gpu", - "xenia-gpu-null", - "xenia-hid", - "xenia-hid-nop", - "xenia-kernel", - "xenia-patcher", - "xenia-ui", - "xenia-vfs", - }) - links({ - "capstone", - "fmt", - "imgui", - "mspack", - }) - files({ - "ppc_testing_main.cc", - "../../../base/console_app_main_"..platform_suffix..".cc", - }) - files({ - "*.s", - }) - filter("files:*.s") - flags({ - "ExcludeFromBuild", - }) - filter("architecture:x86_64") - links({ - "xenia-cpu-backend-x64", - }) - filter("platforms:Windows") - debugdir(project_root) - debugargs({ - "2>&1", - "1>scratch/stdout-testing.txt", - }) - - filter({}) - -if ARCH == "ppc64" or ARCH == "powerpc64" then - -project("xenia-cpu-ppc-nativetests") - uuid("E381E8EE-65CD-4D5E-9223-D9C03B2CE78C") - kind("ConsoleApp") - language("C++") - links({ - "fmt", - "xenia-base", - }) - files({ - "ppc_testing_native_main.cc", - "../../../base/console_app_main_"..platform_suffix..".cc", - }) - files({ - "instr_*.s", - "seq_*.s", - }) - filter("files:instr_*.s", "files:seq_*.s") - flags({ - "ExcludeFromBuild", - }) - filter({}) - buildoptions({ - "-Wa,-mregnames", -- Tell GAS to accept register names. - }) - - files({ - "ppc_testing_native_thunks.s", - }) - -end diff --git a/src/xenia/cpu/premake5.lua b/src/xenia/cpu/premake5.lua deleted file mode 100644 index 6c0240c9d..000000000 --- a/src/xenia/cpu/premake5.lua +++ /dev/null @@ -1,27 +0,0 @@ -project_root = "../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-cpu") - uuid("0109c91e-5a04-41ab-9168-0d5187d11298") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - "mspack", - }) - - includedirs({ - project_root.."/third_party/llvm/include", - }) - local_platform_files() - local_platform_files("backend") - local_platform_files("compiler") - local_platform_files("compiler/passes") - local_platform_files("hir") - local_platform_files("ppc") - -if enableTests then - include("testing") - include("ppc/testing") -end diff --git a/src/xenia/cpu/testing/CMakeLists.txt b/src/xenia/cpu/testing/CMakeLists.txt new file mode 100644 index 000000000..d6ebd280e --- /dev/null +++ b/src/xenia/cpu/testing/CMakeLists.txt @@ -0,0 +1,7 @@ +xe_test_suite(xenia-cpu-tests ${CMAKE_CURRENT_SOURCE_DIR} + LINKS + capstone fmt imgui + xenia-base xenia-core xenia-cpu xenia-gpu + xenia-hid-skylander xenia-kernel xenia-ui xenia-patcher + $<$:xenia-cpu-backend-x64> +) diff --git a/src/xenia/cpu/testing/premake5.lua b/src/xenia/cpu/testing/premake5.lua deleted file mode 100644 index 23c0c6fb9..000000000 --- a/src/xenia/cpu/testing/premake5.lua +++ /dev/null @@ -1,28 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -test_suite("xenia-cpu-tests", project_root, ".", { - links = { - "capstone", - "fmt", - "imgui", - "xenia-base", - "xenia-core", - "xenia-cpu", - "xenia-gpu", - "xenia-hid-skylander", - - -- TODO(benvanik): cut these dependencies? - "xenia-kernel", - "xenia-ui", -- needed by xenia-base - "xenia-patcher", - }, - filtered_links = { - { - filter = 'architecture:x86_64', - links = { - "xenia-cpu-backend-x64", - }, - } - }, -}) diff --git a/src/xenia/debug/ui/CMakeLists.txt b/src/xenia/debug/ui/CMakeLists.txt new file mode 100644 index 000000000..8038cae65 --- /dev/null +++ b/src/xenia/debug/ui/CMakeLists.txt @@ -0,0 +1,4 @@ +add_library(xenia-debug-ui STATIC) +xe_platform_sources(xenia-debug-ui ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(xenia-debug-ui PUBLIC imgui xenia-base xenia-cpu xenia-ui) +xe_target_defaults(xenia-debug-ui) diff --git a/src/xenia/debug/ui/premake5.lua b/src/xenia/debug/ui/premake5.lua deleted file mode 100644 index 19d48cc2f..000000000 --- a/src/xenia/debug/ui/premake5.lua +++ /dev/null @@ -1,15 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-debug-ui") - uuid("9193a274-f4c2-4746-bd85-93fcfc5c3e38") - kind("StaticLib") - language("C++") - links({ - "imgui", - "xenia-base", - "xenia-cpu", - "xenia-ui", - }) - local_platform_files() diff --git a/src/xenia/gpu/CMakeLists.txt b/src/xenia/gpu/CMakeLists.txt new file mode 100644 index 000000000..65dba58e0 --- /dev/null +++ b/src/xenia/gpu/CMakeLists.txt @@ -0,0 +1,30 @@ +add_library(xenia-gpu STATIC) +xe_platform_sources(xenia-gpu ${CMAKE_CURRENT_SOURCE_DIR}) +target_include_directories(xenia-gpu PRIVATE + ${PROJECT_SOURCE_DIR}/third_party/Vulkan-Headers/include + ${PROJECT_SOURCE_DIR}/third_party/glslang +) +target_link_libraries(xenia-gpu PUBLIC dxbc fmt glslang-spirv snappy xxhash xenia-base xenia-ui) +xe_target_defaults(xenia-gpu) + +if(XENIA_BUILD_MISC) + # Shader compiler tool + add_executable(xenia-gpu-shader-compiler + ${CMAKE_CURRENT_SOURCE_DIR}/shader_compiler_main.cc + ) + if(WIN32) + target_sources(xenia-gpu-shader-compiler PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/base/console_app_main_win.cc) + else() + target_sources(xenia-gpu-shader-compiler PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/base/console_app_main_posix.cc) + endif() + target_include_directories(xenia-gpu-shader-compiler PRIVATE + ${PROJECT_SOURCE_DIR}/third_party/Vulkan-Headers/include + ${PROJECT_SOURCE_DIR}/third_party/glslang + ) + target_link_libraries(xenia-gpu-shader-compiler PRIVATE + dxbc fmt glslang-spirv snappy xenia-base xenia-gpu xenia-ui xenia-ui-vulkan + ) + xe_target_defaults(xenia-gpu-shader-compiler) +endif() diff --git a/src/xenia/gpu/d3d12/CMakeLists.txt b/src/xenia/gpu/d3d12/CMakeLists.txt new file mode 100644 index 000000000..cbe9fdfba --- /dev/null +++ b/src/xenia/gpu/d3d12/CMakeLists.txt @@ -0,0 +1,44 @@ +add_library(xenia-gpu-d3d12 STATIC) +xe_platform_sources(xenia-gpu-d3d12 ${CMAKE_CURRENT_SOURCE_DIR}) +# Include shader bytecode headers +file(GLOB _d3d12_shader_headers "${CMAKE_CURRENT_SOURCE_DIR}/../shaders/bytecode/d3d12_5_1/*.h" +) +target_sources(xenia-gpu-d3d12 PRIVATE ${_d3d12_shader_headers}) +target_link_libraries(xenia-gpu-d3d12 PUBLIC + fmt xxhash xenia-base xenia-gpu xenia-ui xenia-ui-d3d12 +) +xe_target_defaults(xenia-gpu-d3d12) + +if(XENIA_BUILD_MISC) + # D3D12 trace viewer + add_executable(xenia-gpu-d3d12-trace-viewer WIN32 + ${CMAKE_CURRENT_SOURCE_DIR}/d3d12_trace_viewer_main.cc + ${PROJECT_SOURCE_DIR}/src/xenia/ui/windowed_app_main_win.cc + ) + target_link_libraries(xenia-gpu-d3d12-trace-viewer PRIVATE + xenia-apu xenia-apu-nop xenia-base xenia-core xenia-cpu + xenia-gpu xenia-gpu-d3d12 xenia-hid xenia-hid-nop xenia-hid-skylander + xenia-kernel xenia-patcher xenia-ui xenia-ui-d3d12 xenia-vfs + aes_128 capstone dxbc fmt imgui libavcodec libavutil mspack snappy xxhash + ) + if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64") + target_link_libraries(xenia-gpu-d3d12-trace-viewer PRIVATE xenia-cpu-backend-x64) + endif() + xe_target_defaults(xenia-gpu-d3d12-trace-viewer) + + # D3D12 trace dump + add_executable(xenia-gpu-d3d12-trace-dump + ${CMAKE_CURRENT_SOURCE_DIR}/d3d12_trace_dump_main.cc + ${PROJECT_SOURCE_DIR}/src/xenia/base/console_app_main_win.cc + ) + target_link_libraries(xenia-gpu-d3d12-trace-dump PRIVATE + xenia-apu xenia-apu-nop xenia-base xenia-core xenia-cpu + xenia-gpu xenia-gpu-d3d12 xenia-hid xenia-hid-nop xenia-hid-skylander + xenia-kernel xenia-patcher xenia-ui xenia-ui-d3d12 xenia-vfs + aes_128 capstone dxbc fmt imgui libavcodec libavutil mspack snappy xxhash + ) + if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64") + target_link_libraries(xenia-gpu-d3d12-trace-dump PRIVATE xenia-cpu-backend-x64) + endif() + xe_target_defaults(xenia-gpu-d3d12-trace-dump) +endif() diff --git a/src/xenia/gpu/d3d12/premake5.lua b/src/xenia/gpu/d3d12/premake5.lua deleted file mode 100644 index c79ceec02..000000000 --- a/src/xenia/gpu/d3d12/premake5.lua +++ /dev/null @@ -1,128 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-gpu-d3d12") - uuid("c057eae4-e7bb-4113-9a69-1fe07b735c49") - kind("StaticLib") - language("C++") - links({ - "fmt", - "xenia-base", - "xenia-gpu", - "xenia-ui", - "xenia-ui-d3d12", - "xxhash", - }) - local_platform_files() - files({ - "../shaders/bytecode/d3d12_5_1/*.h", - }) - -if enableMiscSubprojects then - group("src") - project("xenia-gpu-d3d12-trace-viewer") - uuid("7b5b9fcb-7bf1-43ff-a774-d4c41c8706be") - single_library_windowed_app_kind() - language("C++") - links({ - "xenia-apu", - "xenia-apu-nop", - "xenia-base", - "xenia-core", - "xenia-cpu", - "xenia-gpu", - "xenia-gpu-d3d12", - "xenia-hid", - "xenia-hid-nop", - "xenia-hid-skylander", - "xenia-kernel", - "xenia-patcher", - "xenia-ui", - "xenia-ui-d3d12", - "xenia-vfs", - }) - links({ - "aes_128", - "capstone", - "dxbc", - "fmt", - "imgui", - "libavcodec", - "libavutil", - "mspack", - "snappy", - "xxhash", - }) - files({ - "d3d12_trace_viewer_main.cc", - "../../ui/windowed_app_main_"..platform_suffix..".cc", - }) - -- Only create the .user file if it doesn't already exist. - local user_file = project_root.."/build/xenia-gpu-d3d12-trace-viewer.vcxproj.user" - if not os.isfile(user_file) then - debugdir(project_root) - debugargs({ - "2>&1", - "1>scratch/stdout-trace-viewer.txt", - }) - end - - filter("architecture:x86_64") - links({ - "xenia-cpu-backend-x64", - }) - - group("src") - project("xenia-gpu-d3d12-trace-dump") - uuid("686b859c-0046-44c4-a02c-41fc3fb75698") - kind("ConsoleApp") - language("C++") - links({ - "xenia-apu", - "xenia-apu-nop", - "xenia-base", - "xenia-core", - "xenia-cpu", - "xenia-gpu", - "xenia-gpu-d3d12", - "xenia-hid", - "xenia-hid-nop", - "xenia-hid-skylander", - "xenia-kernel", - "xenia-ui", - "xenia-ui-d3d12", - "xenia-vfs", - "xenia-patcher", - }) - links({ - "aes_128", - "capstone", - "dxbc", - "fmt", - "imgui", - "libavcodec", - "libavutil", - "mspack", - "snappy", - "xxhash", - }) - files({ - "d3d12_trace_dump_main.cc", - "../../base/console_app_main_"..platform_suffix..".cc", - }) - -- Only create the .user file if it doesn't already exist. - local user_file = project_root.."/build/xenia-gpu-d3d12-trace-dump.vcxproj.user" - if not os.isfile(user_file) then - debugdir(project_root) - debugargs({ - "2>&1", - "1>scratch/stdout-trace-dump.txt", - }) - end - - filter("architecture:x86_64") - links({ - "xenia-cpu-backend-x64", - }) -end \ No newline at end of file diff --git a/src/xenia/gpu/null/CMakeLists.txt b/src/xenia/gpu/null/CMakeLists.txt new file mode 100644 index 000000000..d295b4ce9 --- /dev/null +++ b/src/xenia/gpu/null/CMakeLists.txt @@ -0,0 +1,7 @@ +add_library(xenia-gpu-null STATIC) +xe_platform_sources(xenia-gpu-null ${CMAKE_CURRENT_SOURCE_DIR}) +target_include_directories(xenia-gpu-null PRIVATE + ${PROJECT_SOURCE_DIR}/third_party/Vulkan-Headers/include +) +target_link_libraries(xenia-gpu-null PUBLIC xenia-base xenia-gpu xenia-ui xenia-ui-vulkan xxhash) +xe_target_defaults(xenia-gpu-null) diff --git a/src/xenia/gpu/null/premake5.lua b/src/xenia/gpu/null/premake5.lua deleted file mode 100644 index 3f920eab0..000000000 --- a/src/xenia/gpu/null/premake5.lua +++ /dev/null @@ -1,19 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-gpu-null") - uuid("42FCA0B3-4C20-4532-95E9-07D297013BE4") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - "xenia-gpu", - "xenia-ui", - "xenia-ui-vulkan", - "xxhash", - }) - includedirs({ - project_root.."/third_party/Vulkan-Headers/include", - }) - local_platform_files() diff --git a/src/xenia/gpu/premake5.lua b/src/xenia/gpu/premake5.lua deleted file mode 100644 index ecf070220..000000000 --- a/src/xenia/gpu/premake5.lua +++ /dev/null @@ -1,60 +0,0 @@ -project_root = "../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-gpu") - uuid("0e8d3370-e4b1-4b05-a2e8-39ebbcdf9b17") - kind("StaticLib") - language("C++") - links({ - "dxbc", - "fmt", - "glslang-spirv", - "snappy", - "xenia-base", - "xenia-ui", - "xxhash", - }) - includedirs({ - project_root.."/third_party/Vulkan-Headers/include", - project_root.."/third_party/glslang", -- For glslang SPIRV headers - }) - local_platform_files() - -if enableMiscSubprojects then - group("src") - project("xenia-gpu-shader-compiler") - uuid("ad76d3e4-4c62-439b-a0f6-f83fcf0e83c5") - kind("ConsoleApp") - language("C++") - links({ - "dxbc", - "fmt", - "glslang-spirv", - "snappy", - "xenia-base", - "xenia-gpu", - "xenia-ui", - "xenia-ui-vulkan", - }) - includedirs({ - project_root.."/third_party/Vulkan-Headers/include", - project_root.."/third_party/glslang", -- For glslang SPIRV headers - }) - files({ - "shader_compiler_main.cc", - "../base/console_app_main_"..platform_suffix..".cc", - }) - - filter("platforms:Windows") - -- Only create the .user file if it doesn't already exist. - local user_file = project_root.."/build/xenia-gpu-shader-compiler.vcxproj.user" - if not os.isfile(user_file) then - debugdir(project_root) - debugargs({ - "2>&1", - "1>scratch/stdout-shader-compiler.txt", - }) - end - filter({}) -end diff --git a/src/xenia/gpu/vulkan/CMakeLists.txt b/src/xenia/gpu/vulkan/CMakeLists.txt new file mode 100644 index 000000000..22c8b57f6 --- /dev/null +++ b/src/xenia/gpu/vulkan/CMakeLists.txt @@ -0,0 +1,71 @@ +add_library(xenia-gpu-vulkan STATIC) +xe_platform_sources(xenia-gpu-vulkan ${CMAKE_CURRENT_SOURCE_DIR}) +# Include shader bytecode headers +file(GLOB _vk_shader_headers "${CMAKE_CURRENT_SOURCE_DIR}/../shaders/bytecode/vulkan_spirv/*.h" +) +target_sources(xenia-gpu-vulkan PRIVATE ${_vk_shader_headers}) +target_include_directories(xenia-gpu-vulkan PRIVATE + ${PROJECT_SOURCE_DIR}/third_party/Vulkan-Headers/include + ${PROJECT_SOURCE_DIR}/third_party/glslang +) +target_link_libraries(xenia-gpu-vulkan PUBLIC + fmt glslang-spirv xxhash xenia-base xenia-gpu xenia-ui xenia-ui-vulkan +) +xe_target_defaults(xenia-gpu-vulkan) + +if(XENIA_BUILD_MISC) + # Vulkan trace viewer + add_executable(xenia-gpu-vulkan-trace-viewer + ${CMAKE_CURRENT_SOURCE_DIR}/vulkan_trace_viewer_main.cc + ) + if(WIN32) + target_sources(xenia-gpu-vulkan-trace-viewer PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/ui/windowed_app_main_win.cc) + else() + target_sources(xenia-gpu-vulkan-trace-viewer PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/ui/windowed_app_main_posix.cc) + endif() + target_include_directories(xenia-gpu-vulkan-trace-viewer PRIVATE + ${PROJECT_SOURCE_DIR}/third_party/Vulkan-Headers/include + ${PROJECT_SOURCE_DIR}/third_party/glslang + ) + target_link_libraries(xenia-gpu-vulkan-trace-viewer PRIVATE + xenia-apu xenia-apu-nop xenia-base xenia-core xenia-cpu + xenia-gpu xenia-gpu-vulkan xenia-hid xenia-hid-nop xenia-hid-skylander + xenia-kernel xenia-patcher xenia-ui xenia-ui-vulkan xenia-vfs + aes_128 capstone fmt glslang-spirv imgui libavcodec libavutil mspack snappy xxhash + ) + if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64") + target_link_libraries(xenia-gpu-vulkan-trace-viewer PRIVATE xenia-cpu-backend-x64) + endif() + if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + target_link_libraries(xenia-gpu-vulkan-trace-viewer PRIVATE X11 xcb X11-xcb) + endif() + xe_target_defaults(xenia-gpu-vulkan-trace-viewer) + + # Vulkan trace dump + add_executable(xenia-gpu-vulkan-trace-dump + ${CMAKE_CURRENT_SOURCE_DIR}/vulkan_trace_dump_main.cc + ) + if(WIN32) + target_sources(xenia-gpu-vulkan-trace-dump PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/base/console_app_main_win.cc) + else() + target_sources(xenia-gpu-vulkan-trace-dump PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/base/console_app_main_posix.cc) + endif() + target_include_directories(xenia-gpu-vulkan-trace-dump PRIVATE + ${PROJECT_SOURCE_DIR}/third_party/Vulkan-Headers/include + ${PROJECT_SOURCE_DIR}/third_party/glslang + ) + target_link_libraries(xenia-gpu-vulkan-trace-dump PRIVATE + xenia-apu xenia-apu-nop xenia-base xenia-core xenia-cpu + xenia-gpu xenia-gpu-vulkan xenia-hid xenia-hid-nop xenia-hid-skylander + xenia-kernel xenia-patcher xenia-ui xenia-ui-vulkan xenia-vfs + aes_128 capstone fmt glslang-spirv imgui libavcodec libavutil mspack snappy xxhash + ) + if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64") + target_link_libraries(xenia-gpu-vulkan-trace-dump PRIVATE xenia-cpu-backend-x64) + endif() + xe_target_defaults(xenia-gpu-vulkan-trace-dump) +endif() diff --git a/src/xenia/gpu/vulkan/premake5.lua b/src/xenia/gpu/vulkan/premake5.lua deleted file mode 100644 index 5e4a4dcbb..000000000 --- a/src/xenia/gpu/vulkan/premake5.lua +++ /dev/null @@ -1,159 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-gpu-vulkan") - uuid("717590b4-f579-4162-8f23-0624e87d6cca") - kind("StaticLib") - language("C++") - links({ - "fmt", - "glslang-spirv", - "xenia-base", - "xenia-gpu", - "xenia-ui", - "xenia-ui-vulkan", - "xxhash", - }) - includedirs({ - project_root.."/third_party/Vulkan-Headers/include", - project_root.."/third_party/glslang", -- For glslang SPIRV headers - }) - local_platform_files() - files({ - "../shaders/bytecode/vulkan_spirv/*.h", - }) - -if enableMiscSubprojects then - group("src") - project("xenia-gpu-vulkan-trace-viewer") - uuid("86a1dddc-a26a-4885-8c55-cf745225d93e") - single_library_windowed_app_kind() - language("C++") - links({ - "xenia-apu", - "xenia-apu-nop", - "xenia-base", - "xenia-core", - "xenia-cpu", - "xenia-gpu", - "xenia-gpu-vulkan", - "xenia-hid", - "xenia-hid-nop", - "xenia-hid-skylander", - "xenia-kernel", - "xenia-patcher", - "xenia-ui", - "xenia-ui-vulkan", - "xenia-vfs", - }) - links({ - "aes_128", - "capstone", - "fmt", - "glslang-spirv", - "imgui", - "libavcodec", - "libavutil", - "mspack", - "snappy", - "xxhash", - }) - includedirs({ - project_root.."/third_party/Vulkan-Headers/include", - project_root.."/third_party/glslang", -- For glslang SPIRV headers - }) - files({ - "vulkan_trace_viewer_main.cc", - "../../ui/windowed_app_main_"..platform_suffix..".cc", - }) - - filter("architecture:x86_64") - links({ - "xenia-cpu-backend-x64", - }) - - filter("platforms:Linux") - links({ - "X11", - "xcb", - "X11-xcb", - }) - - filter("platforms:Windows") - -- Only create the .user file if it doesn't already exist. - local user_file = project_root.."/build/xenia-gpu-vulkan-trace-viewer.vcxproj.user" - if not os.isfile(user_file) then - debugdir(project_root) - debugargs({ - "2>&1", - "1>scratch/stdout-trace-viewer.txt", - }) - end - - group("src") - project("xenia-gpu-vulkan-trace-dump") - uuid("0dd0dd1c-b321-494d-ab9a-6c062f0c65cc") - kind("ConsoleApp") - language("C++") - links({ - "xenia-apu", - "xenia-apu-nop", - "xenia-base", - "xenia-core", - "xenia-cpu", - "xenia-gpu", - "xenia-gpu-vulkan", - "xenia-hid", - "xenia-hid-nop", - "xenia-hid-skylander", - "xenia-kernel", - "xenia-ui", - "xenia-ui-vulkan", - "xenia-vfs", - "xenia-patcher", - }) - links({ - "aes_128", - "capstone", - "fmt", - "glslang-spirv", - "imgui", - "libavcodec", - "libavutil", - "mspack", - "snappy", - "xxhash", - }) - includedirs({ - project_root.."/third_party/Vulkan-Headers/include", - project_root.."/third_party/glslang", -- For glslang SPIRV headers - }) - files({ - "vulkan_trace_dump_main.cc", - "../../base/console_app_main_"..platform_suffix..".cc", - }) - - filter("architecture:x86_64") - links({ - "xenia-cpu-backend-x64", - }) - - filter("platforms:Linux") - links({ - "X11", - "xcb", - "X11-xcb", - }) - - filter("platforms:Windows") - -- Only create the .user file if it doesn't already exist. - local user_file = project_root.."/build/xenia-gpu-vulkan-trace-dump.vcxproj.user" - if not os.isfile(user_file) then - debugdir(project_root) - debugargs({ - "2>&1", - "1>scratch/stdout-trace-dump.txt", - }) - end -end diff --git a/src/xenia/helper/sdl/CMakeLists.txt b/src/xenia/helper/sdl/CMakeLists.txt new file mode 100644 index 000000000..e072735c9 --- /dev/null +++ b/src/xenia/helper/sdl/CMakeLists.txt @@ -0,0 +1,4 @@ +add_library(xenia-helper-sdl STATIC) +xe_platform_sources(xenia-helper-sdl ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(xenia-helper-sdl PUBLIC SDL2) +xe_target_defaults(xenia-helper-sdl) diff --git a/src/xenia/helper/sdl/premake5.lua b/src/xenia/helper/sdl/premake5.lua deleted file mode 100644 index 26058f713..000000000 --- a/src/xenia/helper/sdl/premake5.lua +++ /dev/null @@ -1,13 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-helper-sdl") - uuid("84b00ad3-fba3-4561-96c9-1f9993b14c9c") - kind("StaticLib") - language("C++") - links({ - "SDL2", - }) - local_platform_files() - sdl2_include() diff --git a/src/xenia/hid/CMakeLists.txt b/src/xenia/hid/CMakeLists.txt new file mode 100644 index 000000000..8bbb1ee56 --- /dev/null +++ b/src/xenia/hid/CMakeLists.txt @@ -0,0 +1,11 @@ +add_library(xenia-hid STATIC) +xe_platform_sources(xenia-hid ${CMAKE_CURRENT_SOURCE_DIR}) +# Exclude demo files +file(GLOB _hid_demo "${CMAKE_CURRENT_SOURCE_DIR}/*_demo.cc") +get_target_property(_hid_srcs xenia-hid SOURCES) +if(_hid_demo AND _hid_srcs) + list(REMOVE_ITEM _hid_srcs ${_hid_demo}) + set_target_properties(xenia-hid PROPERTIES SOURCES "${_hid_srcs}") +endif() +target_link_libraries(xenia-hid PUBLIC xenia-base xenia-hid-skylander) +xe_target_defaults(xenia-hid) diff --git a/src/xenia/hid/nop/CMakeLists.txt b/src/xenia/hid/nop/CMakeLists.txt new file mode 100644 index 000000000..dd8985665 --- /dev/null +++ b/src/xenia/hid/nop/CMakeLists.txt @@ -0,0 +1,4 @@ +add_library(xenia-hid-nop STATIC) +xe_platform_sources(xenia-hid-nop ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(xenia-hid-nop PUBLIC xenia-base xenia-hid) +xe_target_defaults(xenia-hid-nop) diff --git a/src/xenia/hid/nop/premake5.lua b/src/xenia/hid/nop/premake5.lua deleted file mode 100644 index 4b83e2573..000000000 --- a/src/xenia/hid/nop/premake5.lua +++ /dev/null @@ -1,13 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-hid-nop") - uuid("887b6f26-b0c1-43c1-a013-a37e7b9634fd") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - "xenia-hid", - }) - local_platform_files() diff --git a/src/xenia/hid/premake5.lua b/src/xenia/hid/premake5.lua deleted file mode 100644 index dabe3402a..000000000 --- a/src/xenia/hid/premake5.lua +++ /dev/null @@ -1,16 +0,0 @@ -project_root = "../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-hid") - uuid("88a4ef38-c550-430f-8c22-8ded4e4ef601") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - "xenia-hid-skylander", - }) - local_platform_files() - removefiles({ - "*_demo.cc", - }) diff --git a/src/xenia/hid/sdl/CMakeLists.txt b/src/xenia/hid/sdl/CMakeLists.txt new file mode 100644 index 000000000..7e639d821 --- /dev/null +++ b/src/xenia/hid/sdl/CMakeLists.txt @@ -0,0 +1,4 @@ +add_library(xenia-hid-sdl STATIC) +xe_platform_sources(xenia-hid-sdl ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(xenia-hid-sdl PUBLIC xenia-base xenia-hid xenia-ui SDL2) +xe_target_defaults(xenia-hid-sdl) diff --git a/src/xenia/hid/sdl/premake5.lua b/src/xenia/hid/sdl/premake5.lua deleted file mode 100644 index 15bcf4fca..000000000 --- a/src/xenia/hid/sdl/premake5.lua +++ /dev/null @@ -1,16 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-hid-sdl") - uuid("44f5b9a1-00f8-4825-acf1-5c93f26eba9b") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - "xenia-hid", - "xenia-ui", - "SDL2", - }) - local_platform_files() - sdl2_include() diff --git a/src/xenia/hid/skylander/CMakeLists.txt b/src/xenia/hid/skylander/CMakeLists.txt new file mode 100644 index 000000000..8ae07a842 --- /dev/null +++ b/src/xenia/hid/skylander/CMakeLists.txt @@ -0,0 +1,14 @@ +add_library(xenia-hid-skylander STATIC + ${CMAKE_CURRENT_SOURCE_DIR}/skylander_portal.h + ${CMAKE_CURRENT_SOURCE_DIR}/skylander_portal.cc + ${CMAKE_CURRENT_SOURCE_DIR}/skylander_emulated.h + ${CMAKE_CURRENT_SOURCE_DIR}/skylander_emulated.cc +) +if(WIN32) + target_sources(xenia-hid-skylander PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/skylander_hardware.h + ${CMAKE_CURRENT_SOURCE_DIR}/skylander_hardware.cc + ) + target_link_libraries(xenia-hid-skylander PUBLIC libusb) +endif() +xe_target_defaults(xenia-hid-skylander) diff --git a/src/xenia/hid/skylander/premake5.lua b/src/xenia/hid/skylander/premake5.lua deleted file mode 100644 index a55c4c7c3..000000000 --- a/src/xenia/hid/skylander/premake5.lua +++ /dev/null @@ -1,23 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-hid-skylander") - uuid("ddc114da-a279-4868-8b20-53108599bd78") - kind("StaticLib") - language("C++") - files({ - "skylander_portal.h", - "skylander_portal.cc", - "skylander_emulated.h", - "skylander_emulated.cc" - }) - - filter({"platforms:Windows"}) - links({ - "libusb", - }) - files({ - "skylander_hardware.h", - "skylander_hardware.cc" - }) diff --git a/src/xenia/hid/winkey/CMakeLists.txt b/src/xenia/hid/winkey/CMakeLists.txt new file mode 100644 index 000000000..d48a1d7c7 --- /dev/null +++ b/src/xenia/hid/winkey/CMakeLists.txt @@ -0,0 +1,4 @@ +add_library(xenia-hid-winkey STATIC) +xe_platform_sources(xenia-hid-winkey ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(xenia-hid-winkey PUBLIC xenia-base xenia-hid xenia-ui) +xe_target_defaults(xenia-hid-winkey) diff --git a/src/xenia/hid/winkey/premake5.lua b/src/xenia/hid/winkey/premake5.lua deleted file mode 100644 index 819bc8f97..000000000 --- a/src/xenia/hid/winkey/premake5.lua +++ /dev/null @@ -1,14 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-hid-winkey") - uuid("fd16e19a-6219-4ab7-b95a-7c78523c50c3") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - "xenia-hid", - "xenia-ui", - }) - local_platform_files() diff --git a/src/xenia/hid/xinput/CMakeLists.txt b/src/xenia/hid/xinput/CMakeLists.txt new file mode 100644 index 000000000..3386b8985 --- /dev/null +++ b/src/xenia/hid/xinput/CMakeLists.txt @@ -0,0 +1,4 @@ +add_library(xenia-hid-xinput STATIC) +xe_platform_sources(xenia-hid-xinput ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(xenia-hid-xinput PUBLIC xenia-base xenia-hid) +xe_target_defaults(xenia-hid-xinput) diff --git a/src/xenia/hid/xinput/premake5.lua b/src/xenia/hid/xinput/premake5.lua deleted file mode 100644 index d50332af9..000000000 --- a/src/xenia/hid/xinput/premake5.lua +++ /dev/null @@ -1,13 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-hid-xinput") - uuid("3d49e251-07a7-40ae-9bc6-aae984c85568") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - "xenia-hid", - }) - local_platform_files() diff --git a/src/xenia/kernel/CMakeLists.txt b/src/xenia/kernel/CMakeLists.txt new file mode 100644 index 000000000..766ec05e1 --- /dev/null +++ b/src/xenia/kernel/CMakeLists.txt @@ -0,0 +1,23 @@ +add_library(xenia-kernel STATIC) +xe_platform_sources(xenia-kernel ${CMAKE_CURRENT_SOURCE_DIR} RECURSIVE) +target_compile_definitions(xenia-kernel PRIVATE + X86_FEATURES + X86_HAVE_XSAVE_INTRIN + X86_SSSE3 + X86_SSE42 + WITH_GZFILEOP +) +if(WIN32) + target_compile_definitions(xenia-kernel PRIVATE + X86_SSE2 + X86_AVX2 + X86_AVX512 + X86_AVX512VNNI + X86_PCLMULQDQ_CRC + X86_VPCLMULQDQ_CRC + ) +endif() +target_link_libraries(xenia-kernel PUBLIC + aes_128 fmt zlib-ng pugixml xenia-apu xenia-base xenia-cpu xenia-hid xenia-vfs +) +xe_target_defaults(xenia-kernel) diff --git a/src/xenia/kernel/premake5.lua b/src/xenia/kernel/premake5.lua deleted file mode 100644 index f478c9f22..000000000 --- a/src/xenia/kernel/premake5.lua +++ /dev/null @@ -1,40 +0,0 @@ -project_root = "../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-kernel") - uuid("ae185c4a-1c4f-4503-9892-328e549e871a") - kind("StaticLib") - language("C++") - links({ - "aes_128", - "fmt", - "zlib-ng", - "pugixml", - "xenia-apu", - "xenia-base", - "xenia-cpu", - "xenia-hid", - "xenia-vfs", - }) - defines({ - "X86_FEATURES", - "X86_HAVE_XSAVE_INTRIN", - "X86_SSSE3", - "X86_SSE42", - "WITH_GZFILEOP", - }) - if os.istarget("windows") then - defines({ - "X86_SSE2", - "X86_AVX2", - "X86_AVX512", - "X86_AVX512VNNI", - "X86_PCLMULQDQ_CRC", - "X86_VPCLMULQDQ_CRC", - }) - end - recursive_platform_files() - files({ - "debug_visualizers.natvis", - }) diff --git a/src/xenia/patcher/CMakeLists.txt b/src/xenia/patcher/CMakeLists.txt new file mode 100644 index 000000000..078a6624a --- /dev/null +++ b/src/xenia/patcher/CMakeLists.txt @@ -0,0 +1,4 @@ +add_library(xenia-patcher STATIC) +xe_platform_sources(xenia-patcher ${CMAKE_CURRENT_SOURCE_DIR} RECURSIVE) +target_link_libraries(xenia-patcher PUBLIC xenia-base) +xe_target_defaults(xenia-patcher) diff --git a/src/xenia/patcher/premake5.lua b/src/xenia/patcher/premake5.lua deleted file mode 100644 index c41265f0b..000000000 --- a/src/xenia/patcher/premake5.lua +++ /dev/null @@ -1,12 +0,0 @@ -project_root = "../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-patcher") - uuid("e1c75f76-9e7b-48f6-b17e-dbd20f7a1592") - kind("StaticLib") - language("C++") - links({ - "xenia-base" - }) - recursive_platform_files() diff --git a/src/xenia/premake5.lua b/src/xenia/premake5.lua deleted file mode 100644 index 98846361e..000000000 --- a/src/xenia/premake5.lua +++ /dev/null @@ -1,16 +0,0 @@ -project_root = "../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-core") - uuid("970f7892-f19a-4bf5-8795-478c51757bec") - kind("StaticLib") - language("C++") - links({ - "fmt", - "xenia-base", - }) - files({ - "*.h", - "*.cc", - }) diff --git a/src/xenia/ui/CMakeLists.txt b/src/xenia/ui/CMakeLists.txt new file mode 100644 index 000000000..fc0d69f85 --- /dev/null +++ b/src/xenia/ui/CMakeLists.txt @@ -0,0 +1,18 @@ +add_library(xenia-ui STATIC) +xe_platform_sources(xenia-ui ${CMAKE_CURRENT_SOURCE_DIR}) +# Exclude demo and windowed_app_main files +file(GLOB _ui_exclude "${CMAKE_CURRENT_SOURCE_DIR}/*_demo.cc" + "${CMAKE_CURRENT_SOURCE_DIR}/windowed_app_main_*.cc" +) +get_target_property(_ui_srcs xenia-ui SOURCES) +if(_ui_exclude AND _ui_srcs) + list(REMOVE_ITEM _ui_srcs ${_ui_exclude}) + set_target_properties(xenia-ui PROPERTIES SOURCES "${_ui_srcs}") +endif() +target_link_libraries(xenia-ui PUBLIC xenia-base) +if(WIN32) + target_link_libraries(xenia-ui PRIVATE dwmapi dxgi winmm) +elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") + target_link_libraries(xenia-ui PRIVATE xcb X11 X11-xcb fontconfig ${GTK3_LIBRARIES}) +endif() +xe_target_defaults(xenia-ui) diff --git a/src/xenia/ui/d3d12/CMakeLists.txt b/src/xenia/ui/d3d12/CMakeLists.txt new file mode 100644 index 000000000..d214c403a --- /dev/null +++ b/src/xenia/ui/d3d12/CMakeLists.txt @@ -0,0 +1,21 @@ +add_library(xenia-ui-d3d12 STATIC) +xe_platform_sources(xenia-ui-d3d12 ${CMAKE_CURRENT_SOURCE_DIR}) +# Include shader bytecode headers +file(GLOB _d3d12_ui_shader_headers "${CMAKE_CURRENT_SOURCE_DIR}/../shaders/bytecode/d3d12_5_1/*.h" +) +target_sources(xenia-ui-d3d12 PRIVATE ${_d3d12_ui_shader_headers}) +target_link_libraries(xenia-ui-d3d12 PUBLIC xenia-base xenia-ui) +xe_target_defaults(xenia-ui-d3d12) + +if(XENIA_BUILD_MISC) + # D3D12 window demo + add_executable(xenia-ui-window-d3d12-demo WIN32 + ${CMAKE_CURRENT_SOURCE_DIR}/../window_demo.cc + ${CMAKE_CURRENT_SOURCE_DIR}/d3d12_window_demo.cc + ${PROJECT_SOURCE_DIR}/src/xenia/ui/windowed_app_main_win.cc + ) + target_link_libraries(xenia-ui-window-d3d12-demo PRIVATE + fmt imgui xenia-base xenia-ui xenia-ui-d3d12 + ) + xe_target_defaults(xenia-ui-window-d3d12-demo) +endif() diff --git a/src/xenia/ui/d3d12/premake5.lua b/src/xenia/ui/d3d12/premake5.lua deleted file mode 100644 index fdbdf73bf..000000000 --- a/src/xenia/ui/d3d12/premake5.lua +++ /dev/null @@ -1,39 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-ui-d3d12") - uuid("f93dc1a8-600f-43e7-b0fc-ae3eefbe836b") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - "xenia-ui", - }) - local_platform_files() - files({ - "../shaders/bytecode/d3d12_5_1/*.h", - }) - -if enableMiscSubprojects then - group("demos") - project("xenia-ui-window-d3d12-demo") - uuid("3b9686a7-0f04-4e17-8b00-aeb78ae1107c") - single_library_windowed_app_kind() - language("C++") - links({ - "fmt", - "imgui", - "xenia-base", - "xenia-ui", - "xenia-ui-d3d12", - }) - files({ - "../window_demo.cc", - "d3d12_window_demo.cc", - project_root.."/src/xenia/ui/windowed_app_main_"..platform_suffix..".cc", - }) - resincludedirs({ - project_root, - }) -end \ No newline at end of file diff --git a/src/xenia/ui/premake5.lua b/src/xenia/ui/premake5.lua deleted file mode 100644 index 6380b65cc..000000000 --- a/src/xenia/ui/premake5.lua +++ /dev/null @@ -1,36 +0,0 @@ -project_root = "../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-ui") - uuid("d0407c25-b0ea-40dc-846c-82c46fbd9fa2") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - }) - local_platform_files() - removefiles({ - "*_demo.cc", - "windowed_app_main_*.cc", - }) - if os.istarget("android") then - filter("platforms:Android-*") - -- Exports JNI functions. - wholelib("On") - end - - filter("platforms:Windows") - links({ - "dwmapi", - "dxgi", - "winmm", - }) - - filter("platforms:Linux") - links({ - "xcb", - "X11", - "X11-xcb", - "fontconfig" - }) diff --git a/src/xenia/ui/vulkan/CMakeLists.txt b/src/xenia/ui/vulkan/CMakeLists.txt new file mode 100644 index 000000000..b6af414bb --- /dev/null +++ b/src/xenia/ui/vulkan/CMakeLists.txt @@ -0,0 +1,40 @@ +add_library(xenia-ui-vulkan STATIC) +xe_platform_sources(xenia-ui-vulkan ${CMAKE_CURRENT_SOURCE_DIR}) +xe_platform_sources(xenia-ui-vulkan ${CMAKE_CURRENT_SOURCE_DIR}/functions) +# Include shader bytecode headers +file(GLOB _vk_ui_shader_headers "${CMAKE_CURRENT_SOURCE_DIR}/../shaders/bytecode/vulkan_spirv/*.h" +) +target_sources(xenia-ui-vulkan PRIVATE ${_vk_ui_shader_headers}) +target_include_directories(xenia-ui-vulkan PRIVATE + ${PROJECT_SOURCE_DIR}/third_party/Vulkan-Headers/include + ${PROJECT_SOURCE_DIR}/third_party/glslang +) +target_link_libraries(xenia-ui-vulkan PUBLIC xenia-base xenia-ui) +xe_target_defaults(xenia-ui-vulkan) + +if(XENIA_BUILD_MISC) + # Vulkan window demo + add_executable(xenia-ui-window-vulkan-demo) + if(WIN32) + set_target_properties(xenia-ui-window-vulkan-demo PROPERTIES WIN32_EXECUTABLE TRUE) + target_sources(xenia-ui-window-vulkan-demo PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/ui/windowed_app_main_win.cc) + else() + target_sources(xenia-ui-window-vulkan-demo PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/ui/windowed_app_main_posix.cc) + endif() + target_sources(xenia-ui-window-vulkan-demo PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../window_demo.cc + ${CMAKE_CURRENT_SOURCE_DIR}/vulkan_window_demo.cc + ) + target_include_directories(xenia-ui-window-vulkan-demo PRIVATE + ${PROJECT_SOURCE_DIR}/third_party/Vulkan-Headers/include + ) + target_link_libraries(xenia-ui-window-vulkan-demo PRIVATE + fmt imgui xenia-base xenia-ui xenia-ui-vulkan + ) + if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + target_link_libraries(xenia-ui-window-vulkan-demo PRIVATE X11 xcb X11-xcb) + endif() + xe_target_defaults(xenia-ui-window-vulkan-demo) +endif() diff --git a/src/xenia/ui/vulkan/premake5.lua b/src/xenia/ui/vulkan/premake5.lua deleted file mode 100644 index 9c528e3fa..000000000 --- a/src/xenia/ui/vulkan/premake5.lua +++ /dev/null @@ -1,54 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-ui-vulkan") - uuid("4933d81e-1c2c-4d5d-b104-3c0eb9dc2f00") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - "xenia-ui", - }) - includedirs({ - project_root.."/third_party/Vulkan-Headers/include", - project_root.."/third_party/glslang", -- For glslang SPIRV headers - }) - local_platform_files() - local_platform_files("functions") - files({ - "../shaders/bytecode/vulkan_spirv/*.h", - }) - -if enableMiscSubprojects then - group("demos") - project("xenia-ui-window-vulkan-demo") - uuid("97598f13-3177-454c-8e58-c59e2b6ede27") - single_library_windowed_app_kind() - language("C++") - links({ - "fmt", - "imgui", - "xenia-base", - "xenia-ui", - "xenia-ui-vulkan", - }) - includedirs({ - project_root.."/third_party/Vulkan-Headers/include", - }) - files({ - "../window_demo.cc", - "vulkan_window_demo.cc", - project_root.."/src/xenia/ui/windowed_app_main_"..platform_suffix..".cc", - }) - resincludedirs({ - project_root, - }) - - filter("platforms:Linux") - links({ - "X11", - "xcb", - "X11-xcb", - }) -end \ No newline at end of file diff --git a/src/xenia/vfs/CMakeLists.txt b/src/xenia/vfs/CMakeLists.txt new file mode 100644 index 000000000..6fb0ee6fb --- /dev/null +++ b/src/xenia/vfs/CMakeLists.txt @@ -0,0 +1,31 @@ +add_library(xenia-vfs STATIC) +xe_platform_sources(xenia-vfs ${CMAKE_CURRENT_SOURCE_DIR} RECURSIVE) +# Exclude vfs_dump.cc +file(GLOB _vfs_dump "${CMAKE_CURRENT_SOURCE_DIR}/vfs_dump.cc") +get_target_property(_vfs_srcs xenia-vfs SOURCES) +if(_vfs_dump AND _vfs_srcs) + list(REMOVE_ITEM _vfs_srcs ${_vfs_dump}) + set_target_properties(xenia-vfs PROPERTIES SOURCES "${_vfs_srcs}") +endif() +target_link_libraries(xenia-vfs PUBLIC xenia-base zstd zarchive) +xe_target_defaults(xenia-vfs) + +if(XENIA_BUILD_MISC) + # VFS dump tool + add_executable(xenia-vfs-dump + ${CMAKE_CURRENT_SOURCE_DIR}/vfs_dump.cc + ) + if(WIN32) + target_sources(xenia-vfs-dump PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/base/console_app_main_win.cc) + else() + target_sources(xenia-vfs-dump PRIVATE + ${PROJECT_SOURCE_DIR}/src/xenia/base/console_app_main_posix.cc) + endif() + target_link_libraries(xenia-vfs-dump PRIVATE fmt xenia-base xenia-vfs) + xe_target_defaults(xenia-vfs-dump) +endif() + +if(XENIA_BUILD_TESTS) + add_subdirectory(testing) +endif() diff --git a/src/xenia/vfs/premake5.lua b/src/xenia/vfs/premake5.lua deleted file mode 100644 index f857da693..000000000 --- a/src/xenia/vfs/premake5.lua +++ /dev/null @@ -1,42 +0,0 @@ -project_root = "../../.." -include(project_root.."/tools/build") - -group("src") -project("xenia-vfs") - uuid("395c8abd-4dc9-46ed-af7a-c2b9b68a3a98") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - "zstd", - "zarchive" - }) - - recursive_platform_files() - removefiles({ - "vfs_dump.cc", - }) - -if enableMiscSubprojects then - project("xenia-vfs-dump") - uuid("2EF270C7-41A8-4D0E-ACC5-59693A9CCE32") - kind("ConsoleApp") - language("C++") - links({ - "fmt", - "xenia-base", - "xenia-vfs", - }) - - files({ - "vfs_dump.cc", - project_root.."/src/xenia/base/console_app_main_"..platform_suffix..".cc", - }) - resincludedirs({ - project_root, - }) -end - -if enableTests then - include("testing") -end diff --git a/src/xenia/vfs/testing/CMakeLists.txt b/src/xenia/vfs/testing/CMakeLists.txt new file mode 100644 index 000000000..31ac711f3 --- /dev/null +++ b/src/xenia/vfs/testing/CMakeLists.txt @@ -0,0 +1,3 @@ +xe_test_suite(xenia-vfs-tests ${CMAKE_CURRENT_SOURCE_DIR} + LINKS xenia-vfs +) diff --git a/src/xenia/vfs/testing/premake5.lua b/src/xenia/vfs/testing/premake5.lua deleted file mode 100644 index d9cd89626..000000000 --- a/src/xenia/vfs/testing/premake5.lua +++ /dev/null @@ -1,8 +0,0 @@ -project_root = "../../../.." -include(project_root.."/tools/build") - -test_suite("xenia-vfs-tests", project_root, ".", { - links = { - "xenia-vfs", - }, -}) diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt new file mode 100644 index 000000000..2b24479ae --- /dev/null +++ b/third_party/CMakeLists.txt @@ -0,0 +1,654 @@ +# third_party/CMakeLists.txt - All third-party library targets. + +# Suppress warnings for all third-party code. +if(MSVC) + add_compile_options(/W0) +else() + add_compile_options(-w) +endif() + +# ============================================================================== +# aes_128 +# ============================================================================== +add_library(aes_128 STATIC + aes_128/unroll/aes.c +) +target_include_directories(aes_128 PUBLIC aes_128) + +# ============================================================================== +# capstone +# ============================================================================== +add_library(capstone STATIC + capstone/cs.c + capstone/MCInst.c + capstone/MCInstrDesc.c + capstone/MCRegisterInfo.c + capstone/SStream.c + capstone/utils.c + capstone/Mapping.c +) +# Glob X86 arch files +file(GLOB _capstone_x86_c "capstone/arch/X86/*.c") +file(GLOB _capstone_x86_h "capstone/arch/X86/*.h") +file(GLOB _capstone_x86_inc "capstone/arch/X86/*.inc") +# Remove excluded files +list(FILTER _capstone_x86_c EXCLUDE REGEX "X86ATTInstPrinter\\.c$") +list(FILTER _capstone_x86_inc EXCLUDE REGEX "reduce\\.inc$") +target_sources(capstone PRIVATE ${_capstone_x86_c} ${_capstone_x86_h} ${_capstone_x86_inc}) +target_compile_definitions(capstone PRIVATE + CAPSTONE_X86_ATT_DISABLE + CAPSTONE_HAS_X86 + CAPSTONE_USE_SYS_DYN_MEM +) +target_include_directories(capstone PUBLIC capstone/include PRIVATE capstone) +# Force all capstone sources to compile as C +file(GLOB_RECURSE _capstone_all_c "capstone/*.c") +set_source_files_properties(${_capstone_all_c} PROPERTIES LANGUAGE C) + +# ============================================================================== +# cxxopts (header-only) +# ============================================================================== +add_library(cxxopts INTERFACE) +target_include_directories(cxxopts INTERFACE cxxopts/include) + +# ============================================================================== +# tomlplusplus (header-only) +# ============================================================================== +add_library(tomlplusplus INTERFACE) +target_include_directories(tomlplusplus INTERFACE tomlplusplus/include) + +# ============================================================================== +# dxbc +# ============================================================================== +add_library(dxbc STATIC + dxbc/DXBCChecksum.cpp +) +target_include_directories(dxbc PUBLIC dxbc) + +# ============================================================================== +# discord-rpc +# ============================================================================== +add_library(discord-rpc STATIC + discord-rpc/src/connection.h + discord-rpc/src/discord_rpc.cpp + discord-rpc/src/msg_queue.h + discord-rpc/src/rpc_connection.cpp + discord-rpc/src/rpc_connection.h + discord-rpc/src/serialization.cpp + discord-rpc/src/serialization.h +) +target_compile_definitions(discord-rpc PRIVATE RAPIDJSON_SSE42) +target_include_directories(discord-rpc PUBLIC discord-rpc/include PRIVATE rapidjson/include) +if(WIN32) + target_sources(discord-rpc PRIVATE + discord-rpc/src/connection_win.cpp + discord-rpc/src/discord_register_win.cpp + ) +elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") + target_sources(discord-rpc PRIVATE + discord-rpc/src/connection_unix.cpp + discord-rpc/src/discord_register_linux.cpp + ) +endif() + +# ============================================================================== +# fmt +# ============================================================================== +add_library(fmt STATIC + fmt/src/format.cc + fmt/src/os.cc +) +target_include_directories(fmt PUBLIC fmt/include) + +# ============================================================================== +# glslang-spirv +# ============================================================================== +file(GLOB _glslang_spirv_cpp "glslang/SPIRV/*.cpp") +file(GLOB _glslang_spirv_h "glslang/SPIRV/*.h") +file(GLOB _glslang_spirv_hpp "glslang/SPIRV/*.hpp11") +list(FILTER _glslang_spirv_cpp EXCLUDE REGEX "GlslangToSpv\\.cpp$") +add_library(glslang-spirv STATIC + ${_glslang_spirv_cpp} + ${_glslang_spirv_h} + ${_glslang_spirv_hpp} + glslang/glslang/Include/visibility.h +) +target_include_directories(glslang-spirv PUBLIC glslang) + +# ============================================================================== +# imgui +# ============================================================================== +add_library(imgui STATIC + imgui/imgui.cpp + imgui/imgui_demo.cpp + imgui/imgui_draw.cpp + imgui/imgui_tables.cpp + imgui/imgui_widgets.cpp +) +target_include_directories(imgui PUBLIC imgui PRIVATE stb) + +# ============================================================================== +# mspack +# ============================================================================== +add_library(mspack STATIC + mspack/logging.cc + mspack/lzxd.c + mspack/system.c +) +target_compile_definitions(mspack PRIVATE HAVE_CONFIG_H) +target_include_directories(mspack PUBLIC mspack) +target_link_libraries(mspack PUBLIC xenia-base) + +# ============================================================================== +# pugixml +# ============================================================================== +add_library(pugixml STATIC + pugixml/src/pugixml.cpp +) +target_include_directories(pugixml PUBLIC pugixml/src) + +# ============================================================================== +# snappy +# ============================================================================== +# Generate snappy-stubs-public.h if missing +if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/snappy/snappy-stubs-public.h") + execute_process( + COMMAND ${CMAKE_COMMAND} + -DSNAPPY_BUILD_TESTS=OFF + -DSNAPPY_BUILD_BENCHMARKS=OFF + -DSNAPPY_REQUIRE_AVX=ON + ${CMAKE_CURRENT_SOURCE_DIR}/snappy + -B${CMAKE_CURRENT_SOURCE_DIR}/snappy + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) +endif() +add_library(snappy STATIC + snappy/snappy-internal.h + snappy/snappy-sinksource.cc + snappy/snappy-sinksource.h + snappy/snappy-stubs-internal.cc + snappy/snappy-stubs-internal.h + snappy/snappy-stubs-public.h + snappy/snappy.cc + snappy/snappy.h +) +target_include_directories(snappy PUBLIC snappy) + +# ============================================================================== +# xxhash +# ============================================================================== +add_library(xxhash STATIC + xxhash/xxhash.c +) +target_include_directories(xxhash PUBLIC xxhash) + +# ============================================================================== +# zstd +# ============================================================================== +file(GLOB_RECURSE _zstd_common "zstd/lib/common/*.c" "zstd/lib/common/*.h") +file(GLOB_RECURSE _zstd_compress "zstd/lib/compress/*.c" "zstd/lib/compress/*.h") +file(GLOB_RECURSE _zstd_decompress "zstd/lib/decompress/*.c" "zstd/lib/decompress/*.h") +add_library(zstd STATIC + zstd/lib/zstd.h + ${_zstd_common} + ${_zstd_compress} + ${_zstd_decompress} +) +target_include_directories(zstd PUBLIC zstd/lib PRIVATE zstd/lib/common) +target_compile_definitions(zstd PRIVATE + XXH_NAMESPACE=ZSTD_ + ZSTD_LEGACY_SUPPORT=0 +) +if(NOT MSVC) + target_compile_definitions(zstd PRIVATE ZSTD_DISABLE_ASM) +endif() + +# ============================================================================== +# zarchive +# ============================================================================== +add_library(zarchive STATIC + zarchive/include/zarchive/zarchivecommon.h + zarchive/include/zarchive/zarchivereader.h + zarchive/include/zarchive/zarchivewriter.h + zarchive/src/zarchivereader.cpp + zarchive/src/zarchivewriter.cpp + zarchive/src/sha_256.c + zarchive/src/sha_256.h +) +target_include_directories(zarchive PUBLIC zarchive/include PRIVATE zstd/lib) +target_link_libraries(zarchive PUBLIC zstd) + +# ============================================================================== +# zlib-ng +# ============================================================================== +# Generate headers if missing +set(_zlibng_needs_configure FALSE) +foreach(_hdr zlib-ng.h zconf-ng.h zlib_name_mangling-ng.h gzread.c) + if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/zlib-ng/${_hdr}") + set(_zlibng_needs_configure TRUE) + break() + endif() +endforeach() +if(_zlibng_needs_configure) + execute_process( + COMMAND ${CMAKE_COMMAND} + -DZLIB_ENABLE_TESTS=OFF + -DWITH_GTEST=OFF + ${CMAKE_CURRENT_SOURCE_DIR}/zlib-ng + -B${CMAKE_CURRENT_SOURCE_DIR}/zlib-ng + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) +endif() +file(GLOB _zlibng_c "zlib-ng/*.c") +file(GLOB _zlibng_x86 "zlib-ng/arch/x86/*.c") +file(GLOB _zlibng_generic "zlib-ng/arch/generic/*.c") +add_library(zlib-ng STATIC + ${_zlibng_c} + ${_zlibng_x86} + ${_zlibng_generic} +) +target_compile_definitions(zlib-ng PRIVATE + X86_FEATURES + X86_HAVE_XSAVE_INTRIN + X86_SSSE3 + X86_SSE42 + WITH_GZFILEOP +) +if(WIN32) + target_compile_definitions(zlib-ng PRIVATE + X86_SSE2 + X86_AVX2 + X86_AVX512 + X86_AVX512VNNI + X86_PCLMULQDQ_CRC + X86_VPCLMULQDQ_CRC + ) +else() + # Remove AVX2/AVX512 files on non-Windows + set(_zlibng_exclude_patterns + "adler32_avx2" "adler32_avx512" "adler32_avx512_vnni" + "chunkset_avx2" "compare256_avx2" + "crc32_pclmulqdq" "crc32_vpclmulqdq" + "slide_hash_avx2" + ) + foreach(_pat ${_zlibng_exclude_patterns}) + list(FILTER _zlibng_x86 EXCLUDE REGEX "${_pat}") + endforeach() + # Re-set sources without excluded files + get_target_property(_zlibng_srcs zlib-ng SOURCES) + set_target_properties(zlib-ng PROPERTIES SOURCES "") + target_sources(zlib-ng PRIVATE ${_zlibng_c} ${_zlibng_x86} ${_zlibng_generic}) +endif() +target_include_directories(zlib-ng PUBLIC zlib-ng) + +# ============================================================================== +# libusb (Windows only) +# ============================================================================== +if(WIN32) + add_library(libusb STATIC + libusb/libusb/core.c + libusb/libusb/descriptor.c + libusb/libusb/hotplug.c + libusb/libusb/io.c + libusb/libusb/strerror.c + libusb/libusb/sync.c + libusb/libusb/os/events_windows.c + libusb/libusb/os/events_windows.h + libusb/libusb/os/threads_windows.c + libusb/libusb/os/threads_windows.h + libusb/libusb/os/windows_common.c + libusb/libusb/os/windows_common.h + libusb/libusb/os/windows_usbdk.c + libusb/libusb/os/windows_usbdk.h + libusb/libusb/os/windows_winusb.c + libusb/libusb/os/windows_winusb.h + ) + target_include_directories(libusb PUBLIC libusb/libusb PRIVATE libusb/msvc) +endif() + +# ============================================================================== +# SDL2 +# ============================================================================== +if(WIN32) + # Build SDL2 from source on Windows + file(GLOB _sdl2_sources + "SDL2/src/*.c" + "SDL2/src/atomic/*.c" + "SDL2/src/audio/*.c" + "SDL2/src/audio/directsound/*.c" + "SDL2/src/audio/disk/*.c" + "SDL2/src/audio/dummy/*.c" + "SDL2/src/audio/wasapi/*.c" + "SDL2/src/audio/winmm/*.c" + "SDL2/src/core/windows/*.c" + "SDL2/src/cpuinfo/*.c" + "SDL2/src/dynapi/*.c" + "SDL2/src/events/*.c" + "SDL2/src/file/*.c" + "SDL2/src/filesystem/windows/*.c" + "SDL2/src/haptic/*.c" + "SDL2/src/haptic/dummy/*.c" + "SDL2/src/haptic/windows/*.c" + "SDL2/src/hidapi/*.c" + "SDL2/src/joystick/*.c" + "SDL2/src/joystick/dummy/*.c" + "SDL2/src/joystick/hidapi/*.c" + "SDL2/src/joystick/virtual/*.c" + "SDL2/src/joystick/windows/*.c" + "SDL2/src/libm/*.c" + "SDL2/src/loadso/windows/*.c" + "SDL2/src/locale/*.c" + "SDL2/src/locale/windows/*.c" + "SDL2/src/misc/*.c" + "SDL2/src/misc/windows/*.c" + "SDL2/src/power/*.c" + "SDL2/src/power/windows/*.c" + "SDL2/src/render/*.c" + "SDL2/src/render/direct3d/*.c" + "SDL2/src/render/direct3d11/*.c" + "SDL2/src/render/direct3d12/*.c" + "SDL2/src/render/opengl/*.c" + "SDL2/src/render/opengles2/*.c" + "SDL2/src/render/software/*.c" + "SDL2/src/sensor/*.c" + "SDL2/src/sensor/dummy/*.c" + "SDL2/src/sensor/windows/*.c" + "SDL2/src/stdlib/*.c" + "SDL2/src/thread/*.c" + "SDL2/src/thread/generic/SDL_syscond.c" + "SDL2/src/thread/windows/*.c" + "SDL2/src/timer/*.c" + "SDL2/src/timer/windows/*.c" + "SDL2/src/video/*.c" + "SDL2/src/video/dummy/*.c" + "SDL2/src/video/windows/*.c" + "SDL2/src/video/yuv2rgb/*.c" + ) + add_library(SDL2 STATIC ${_sdl2_sources}) + target_compile_definitions(SDL2 PRIVATE + HAVE_LIBC + SDL_LEAN_AND_MEAN + SDL_RENDER_DISABLED + ) + target_include_directories(SDL2 PUBLIC SDL2/include) + target_link_libraries(SDL2 PRIVATE setupapi winmm imm32 version) +else() + # Use system SDL2 on Linux + add_library(SDL2 INTERFACE) + find_package(PkgConfig REQUIRED) + pkg_check_modules(SDL2_PKG REQUIRED sdl2) + target_include_directories(SDL2 INTERFACE ${SDL2_PKG_INCLUDE_DIRS}) + target_link_libraries(SDL2 INTERFACE ${SDL2_PKG_LDFLAGS}) + target_compile_options(SDL2 INTERFACE ${SDL2_PKG_CFLAGS_OTHER}) +endif() + +# ============================================================================== +# FFmpeg (source in FFmpeg submodule, config overlay in ffmpeg-xenia) +# ============================================================================== + +# Common function to apply shared FFmpeg settings to a target. +function(ffmpeg_common target) + target_compile_definitions(${target} PRIVATE + HAVE_AV_CONFIG_H + _USE_MATH_DEFINES + ) + target_include_directories(${target} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/ffmpeg-xenia + ${CMAKE_CURRENT_SOURCE_DIR}/FFmpeg + ) + + if(WIN32) + target_include_directories(${target} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/FFmpeg/compat/atomics/win32 + ) + target_link_libraries(${target} PRIVATE bcrypt) + # Size optimization on Debug/Checked (dead code elimination is mandatory) + target_compile_options(${target} PRIVATE + $<$:/Os> + $<$:/Os> + ) + else() + target_include_directories(${target} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/FFmpeg/compat/atomics/gcc + ) + endif() + + # Suppress all warnings for FFmpeg code + if(MSVC) + target_compile_options(${target} PRIVATE /w) + else() + target_compile_options(${target} PRIVATE -w) + endif() + + # All FFmpeg source is C + set_target_properties(${target} PROPERTIES LINKER_LANGUAGE C) +endfunction() + +# --- libavutil --- +add_library(libavutil STATIC + FFmpeg/libavutil/adler32.c + FFmpeg/libavutil/aes.c + FFmpeg/libavutil/aes_ctr.c + FFmpeg/libavutil/audio_fifo.c + FFmpeg/libavutil/avstring.c + FFmpeg/libavutil/avsscanf.c + FFmpeg/libavutil/base64.c + FFmpeg/libavutil/blowfish.c + FFmpeg/libavutil/bprint.c + FFmpeg/libavutil/buffer.c + FFmpeg/libavutil/cast5.c + FFmpeg/libavutil/camellia.c + FFmpeg/libavutil/channel_layout.c + FFmpeg/libavutil/csp.c + FFmpeg/libavutil/cpu.c + FFmpeg/libavutil/crc.c + FFmpeg/libavutil/des.c + FFmpeg/libavutil/dict.c + FFmpeg/libavutil/display.c + FFmpeg/libavutil/dovi_meta.c + FFmpeg/libavutil/downmix_info.c + FFmpeg/libavutil/encryption_info.c + FFmpeg/libavutil/error.c + FFmpeg/libavutil/eval.c + FFmpeg/libavutil/fifo.c + FFmpeg/libavutil/file.c + FFmpeg/libavutil/file_open.c + FFmpeg/libavutil/float_dsp.c + FFmpeg/libavutil/fixed_dsp.c + FFmpeg/libavutil/frame.c + FFmpeg/libavutil/hash.c + FFmpeg/libavutil/hdr_dynamic_metadata.c + FFmpeg/libavutil/hmac.c + FFmpeg/libavutil/hwcontext.c + FFmpeg/libavutil/imgutils.c + FFmpeg/libavutil/integer.c + FFmpeg/libavutil/intmath.c + FFmpeg/libavutil/lfg.c + FFmpeg/libavutil/lls.c + FFmpeg/libavutil/log.c + FFmpeg/libavutil/log2_tab.c + FFmpeg/libavutil/mathematics.c + FFmpeg/libavutil/mastering_display_metadata.c + FFmpeg/libavutil/md5.c + FFmpeg/libavutil/mem.c + FFmpeg/libavutil/murmur3.c + FFmpeg/libavutil/opt.c + FFmpeg/libavutil/parseutils.c + FFmpeg/libavutil/pixdesc.c + FFmpeg/libavutil/pixelutils.c + FFmpeg/libavutil/random_seed.c + FFmpeg/libavutil/rational.c + FFmpeg/libavutil/reverse.c + FFmpeg/libavutil/rc4.c + FFmpeg/libavutil/ripemd.c + FFmpeg/libavutil/samplefmt.c + FFmpeg/libavutil/sha.c + FFmpeg/libavutil/sha512.c + FFmpeg/libavutil/slicethread.c + FFmpeg/libavutil/spherical.c + FFmpeg/libavutil/stereo3d.c + FFmpeg/libavutil/threadmessage.c + FFmpeg/libavutil/time.c + FFmpeg/libavutil/timecode.c + FFmpeg/libavutil/tree.c + FFmpeg/libavutil/twofish.c + FFmpeg/libavutil/utils.c + FFmpeg/libavutil/xga_font_data.c + FFmpeg/libavutil/xtea.c + FFmpeg/libavutil/tea.c + FFmpeg/libavutil/tx.c + FFmpeg/libavutil/tx_float.c + FFmpeg/libavutil/tx_double.c + FFmpeg/libavutil/tx_int32.c + FFmpeg/libavutil/video_enc_params.c + FFmpeg/libavutil/film_grain_params.c + FFmpeg/libavutil/side_data.c + FFmpeg/libavutil/refstruct.c + FFmpeg/libavutil/container_fifo.c + FFmpeg/libavutil/float_scalarproduct.c + FFmpeg/libavutil/timecode_internal.c + FFmpeg/libavutil/iamf.c + FFmpeg/libavutil/timestamp.c +) +# x86 platform files +if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64|ARM64") + target_sources(libavutil PRIVATE + FFmpeg/libavutil/x86/cpu.c + FFmpeg/libavutil/x86/fixed_dsp_init.c + FFmpeg/libavutil/x86/float_dsp_init.c + FFmpeg/libavutil/x86/imgutils_init.c + FFmpeg/libavutil/x86/lls_init.c + FFmpeg/libavutil/x86/tx_float_init.c + ) +endif() +ffmpeg_common(libavutil) + +# --- libavcodec --- +add_library(libavcodec STATIC + FFmpeg/libavcodec/ac3_parser.c + FFmpeg/libavcodec/adts_parser.c + FFmpeg/libavcodec/allcodecs.c + FFmpeg/libavcodec/avcodec.c + FFmpeg/libavcodec/avdct.c + FFmpeg/libavcodec/packet.c + FFmpeg/libavcodec/bitstream.c + FFmpeg/libavcodec/bitstream_filters.c + FFmpeg/libavcodec/bsf.c + FFmpeg/libavcodec/codec_desc.c + FFmpeg/libavcodec/codec_par.c + FFmpeg/libavcodec/d3d11va.c + FFmpeg/libavcodec/decode.c + FFmpeg/libavcodec/dirac.c + FFmpeg/libavcodec/dv_profile.c + FFmpeg/libavcodec/encode.c + FFmpeg/libavcodec/imgconvert.c + FFmpeg/libavcodec/jni.c + FFmpeg/libavcodec/mathtables.c + FFmpeg/libavcodec/mediacodec.c + FFmpeg/libavcodec/mpeg12framerate.c + FFmpeg/libavcodec/options.c + FFmpeg/libavcodec/parser.c + FFmpeg/libavcodec/parsers.c + FFmpeg/libavcodec/profiles.c + FFmpeg/libavcodec/qsv_api.c + FFmpeg/libavcodec/raw.c + FFmpeg/libavcodec/utils.c + FFmpeg/libavcodec/vorbis_parser.c + FFmpeg/libavcodec/xiph.c + FFmpeg/libavcodec/dct32_fixed.c + FFmpeg/libavcodec/dct32_float.c + FFmpeg/libavcodec/faandct.c + FFmpeg/libavcodec/faanidct.c + FFmpeg/libavcodec/fdctdsp.c + FFmpeg/libavcodec/jfdctfst.c + FFmpeg/libavcodec/jfdctint.c + FFmpeg/libavcodec/idctdsp.c + FFmpeg/libavcodec/simple_idct.c + FFmpeg/libavcodec/jrevdct.c + FFmpeg/libavcodec/mpegaudio.c + FFmpeg/libavcodec/mpegaudiodec_common.c + FFmpeg/libavcodec/mpegaudiodsp.c + FFmpeg/libavcodec/mpegaudiodsp_data.c + FFmpeg/libavcodec/mpegaudiodsp_fixed.c + FFmpeg/libavcodec/mpegaudiodsp_float.c + FFmpeg/libavcodec/mpegaudiodecheader.c + FFmpeg/libavcodec/mpegaudiodata.c + FFmpeg/libavcodec/sinewin.c + FFmpeg/libavcodec/wma_freqs.c + FFmpeg/libavcodec/mpegaudiodec_fixed.c + FFmpeg/libavcodec/mpegaudiodec_float.c + FFmpeg/libavcodec/wmaprodec.c + FFmpeg/libavcodec/wma.c + FFmpeg/libavcodec/wma_common.c + FFmpeg/libavcodec/wmadec.c + FFmpeg/libavcodec/aactab.c + FFmpeg/libavcodec/mpegaudio_parser.c + FFmpeg/libavcodec/pthread.c + FFmpeg/libavcodec/pthread_slice.c + FFmpeg/libavcodec/pthread_frame.c + FFmpeg/libavcodec/get_buffer.c + FFmpeg/libavcodec/vlc.c + FFmpeg/libavcodec/threadprogress.c + FFmpeg/libavcodec/bsf/null.c + FFmpeg/libavcodec/exif.c + FFmpeg/libavcodec/mpegaudiotabs.c + FFmpeg/libavcodec/tiff_common.c +) +if(WIN32) + target_sources(libavcodec PRIVATE FFmpeg/libavcodec/file_open.c) +endif() +# x86 platform files +if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64|ARM64") + target_sources(libavcodec PRIVATE + FFmpeg/libavcodec/x86/constants.c + FFmpeg/libavcodec/x86/fdctdsp_init.c + FFmpeg/libavcodec/x86/idctdsp_init.c + FFmpeg/libavcodec/x86/mpegaudiodsp.c + FFmpeg/libavcodec/x86/fdct.c + ) +endif() +target_include_directories(libavcodec PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/FFmpeg/libavcodec +) +target_link_libraries(libavcodec PRIVATE libavutil) +ffmpeg_common(libavcodec) + +# --- libavformat --- +add_library(libavformat STATIC + FFmpeg/libavformat/allformats.c + FFmpeg/libavformat/avio.c + FFmpeg/libavformat/aviobuf.c + FFmpeg/libavformat/dump.c + FFmpeg/libavformat/format.c + FFmpeg/libavformat/id3v1.c + FFmpeg/libavformat/id3v2.c + FFmpeg/libavformat/metadata.c + FFmpeg/libavformat/mux.c + FFmpeg/libavformat/options.c + FFmpeg/libavformat/os_support.c + FFmpeg/libavformat/protocols.c + FFmpeg/libavformat/riff.c + FFmpeg/libavformat/sdp.c + FFmpeg/libavformat/url.c + FFmpeg/libavformat/utils.c + FFmpeg/libavformat/riffdec.c + FFmpeg/libavformat/asfdec_f.c + FFmpeg/libavformat/asf.c + FFmpeg/libavformat/asfcrypt.c + FFmpeg/libavformat/avlanguage.c + FFmpeg/libavformat/mp3dec.c + FFmpeg/libavformat/replaygain.c + FFmpeg/libavformat/file.c + FFmpeg/libavformat/demux.c + FFmpeg/libavformat/avformat.c + FFmpeg/libavformat/seek.c + FFmpeg/libavformat/demux_utils.c + FFmpeg/libavformat/urldecode.c + FFmpeg/libavformat/asf_tags.c + FFmpeg/libavformat/to_upper4.c +) +if(WIN32) + target_sources(libavformat PRIVATE FFmpeg/libavformat/file_open.c) +endif() +target_link_libraries(libavformat PRIVATE libavutil libavcodec) +ffmpeg_common(libavformat) diff --git a/third_party/SDL2-static.lua b/third_party/SDL2-static.lua deleted file mode 100644 index 2598b90a9..000000000 --- a/third_party/SDL2-static.lua +++ /dev/null @@ -1,360 +0,0 @@ --- This project resembles the build configuration on Windows only. -group("third_party") -project("SDL2") - uuid("65878768-95A1-4E7B-8DFB-B23A09E0DE7C") - kind("StaticLib") - language("C") - - defines({ - "HAVE_LIBC", - "SDL_LEAN_AND_MEAN", - "SDL_RENDER_DISABLED", - }) - links({ - "setupapi.lib", - "winmm.lib", - "imm32.lib", - "version.lib", - }) - includedirs({ - "SDL2/include", - }) - files({ - -- 1:1 from SDL2/VisualC/SDL/SDL.vcxproj file - "SDL2/src/audio/directsound/SDL_directsound.h", - "SDL2/src/audio/disk/SDL_diskaudio.h", - "SDL2/src/audio/dummy/SDL_dummyaudio.h", - "SDL2/src/audio/SDL_audio_c.h", - "SDL2/src/audio/SDL_audiodev_c.h", - "SDL2/src/audio/SDL_sysaudio.h", - "SDL2/src/audio/SDL_wave.h", - "SDL2/src/audio/wasapi/SDL_wasapi.h", - "SDL2/src/audio/winmm/SDL_winmm.h", - "SDL2/src/core/windows/SDL_directx.h", - "SDL2/src/core/windows/SDL_hid.h", - "SDL2/src/core/windows/SDL_immdevice.h", - "SDL2/src/core/windows/SDL_windows.h", - "SDL2/src/core/windows/SDL_xinput.h", - "SDL2/src/dynapi/SDL_dynapi.h", - "SDL2/src/dynapi/SDL_dynapi_overrides.h", - "SDL2/src/dynapi/SDL_dynapi_procs.h", - "SDL2/src/events/blank_cursor.h", - "SDL2/src/events/default_cursor.h", - "SDL2/src/events/scancodes_windows.h", - "SDL2/src/events/SDL_clipboardevents_c.h", - "SDL2/src/events/SDL_displayevents_c.h", - "SDL2/src/events/SDL_dropevents_c.h", - "SDL2/src/events/SDL_events_c.h", - "SDL2/src/events/SDL_gesture_c.h", - "SDL2/src/events/SDL_keyboard_c.h", - "SDL2/src/events/SDL_mouse_c.h", - "SDL2/src/events/SDL_touch_c.h", - "SDL2/src/events/SDL_windowevents_c.h", - "SDL2/src/haptic/SDL_haptic_c.h", - "SDL2/src/haptic/SDL_syshaptic.h", - "SDL2/src/haptic/windows/SDL_dinputhaptic_c.h", - "SDL2/src/haptic/windows/SDL_windowshaptic_c.h", - "SDL2/src/haptic/windows/SDL_xinputhaptic_c.h", - "SDL2/src/hidapi/hidapi/hidapi.h", - "SDL2/src/hidapi/SDL_hidapi_c.h", - "SDL2/src/joystick/controller_type.h", - "SDL2/src/joystick/hidapi/SDL_hidapijoystick_c.h", - "SDL2/src/joystick/hidapi/SDL_hidapi_rumble.h", - "SDL2/src/joystick/SDL_gamecontrollerdb.h", - "SDL2/src/joystick/SDL_joystick_c.h", - "SDL2/src/joystick/SDL_steam_virtual_gamepad.h", - "SDL2/src/joystick/SDL_sysjoystick.h", - "SDL2/src/joystick/usb_ids.h", - "SDL2/src/joystick/virtual/SDL_virtualjoystick_c.h", - "SDL2/src/joystick/windows/SDL_dinputjoystick_c.h", - "SDL2/src/joystick/windows/SDL_rawinputjoystick_c.h", - "SDL2/src/joystick/windows/SDL_windowsjoystick_c.h", - "SDL2/src/joystick/windows/SDL_xinputjoystick_c.h", - "SDL2/src/libm/math_libm.h", - "SDL2/src/libm/math_private.h", - "SDL2/src/locale/SDL_syslocale.h", - "SDL2/src/misc/SDL_sysurl.h", - "SDL2/src/power/SDL_syspower.h", - "SDL2/src/render/direct3d11/SDL_shaders_d3d11.h", - "SDL2/src/render/direct3d12/SDL_shaders_d3d12.h", - "SDL2/src/render/direct3d/SDL_shaders_d3d.h", - "SDL2/src/render/opengles2/SDL_gles2funcs.h", - "SDL2/src/render/opengles2/SDL_shaders_gles2.h", - "SDL2/src/render/opengl/SDL_glfuncs.h", - "SDL2/src/render/opengl/SDL_shaders_gl.h", - "SDL2/src/render/SDL_d3dmath.h", - "SDL2/src/render/SDL_sysrender.h", - "SDL2/src/render/SDL_yuv_sw_c.h", - "SDL2/src/render/software/SDL_blendfillrect.h", - "SDL2/src/render/software/SDL_blendline.h", - "SDL2/src/render/software/SDL_blendpoint.h", - "SDL2/src/render/software/SDL_draw.h", - "SDL2/src/render/software/SDL_drawline.h", - "SDL2/src/render/software/SDL_drawpoint.h", - "SDL2/src/render/software/SDL_render_sw_c.h", - "SDL2/src/render/software/SDL_rotate.h", - "SDL2/src/render/software/SDL_triangle.h", - "SDL2/src/SDL_assert_c.h", - "SDL2/src/SDL_dataqueue.h", - "SDL2/src/SDL_error_c.h", - "SDL2/src/SDL_guid.c", - "SDL2/src/SDL_hints_c.h", - "SDL2/src/SDL_internal.h", - "SDL2/src/SDL_list.h", - "SDL2/src/SDL_log_c.h", - "SDL2/src/sensor/dummy/SDL_dummysensor.h", - "SDL2/src/sensor/SDL_sensor_c.h", - "SDL2/src/sensor/SDL_syssensor.h", - "SDL2/src/sensor/windows/SDL_windowssensor.h", - "SDL2/src/thread/SDL_systhread.h", - "SDL2/src/thread/SDL_thread_c.h", - "SDL2/src/thread/generic/SDL_syscond_c.h", - "SDL2/src/thread/windows/SDL_sysmutex_c.h", - "SDL2/src/thread/windows/SDL_systhread_c.h", - "SDL2/src/timer/SDL_timer_c.h", - "SDL2/src/video/dummy/SDL_nullevents_c.h", - "SDL2/src/video/dummy/SDL_nullframebuffer_c.h", - "SDL2/src/video/dummy/SDL_nullvideo.h", - "SDL2/src/video/khronos/vulkan/vk_icd.h", - "SDL2/src/video/khronos/vulkan/vk_layer.h", - "SDL2/src/video/khronos/vulkan/vk_platform.h", - "SDL2/src/video/khronos/vulkan/vk_sdk_platform.h", - "SDL2/src/video/khronos/vulkan/vulkan.h", - "SDL2/src/video/khronos/vulkan/vulkan_android.h", - "SDL2/src/video/khronos/vulkan/vulkan_beta.h", - "SDL2/src/video/khronos/vulkan/vulkan_core.h", - "SDL2/src/video/khronos/vulkan/vulkan_directfb.h", - "SDL2/src/video/khronos/vulkan/vulkan_fuchsia.h", - "SDL2/src/video/khronos/vulkan/vulkan_ggp.h", - "SDL2/src/video/khronos/vulkan/vulkan_ios.h", - "SDL2/src/video/khronos/vulkan/vulkan_macos.h", - "SDL2/src/video/khronos/vulkan/vulkan_metal.h", - "SDL2/src/video/khronos/vulkan/vulkan_vi.h", - "SDL2/src/video/khronos/vulkan/vulkan_wayland.h", - "SDL2/src/video/khronos/vulkan/vulkan_win32.h", - "SDL2/src/video/khronos/vulkan/vulkan_xcb.h", - "SDL2/src/video/khronos/vulkan/vulkan_xlib.h", - "SDL2/src/video/khronos/vulkan/vulkan_xlib_xrandr.h", - "SDL2/src/video/SDL_blit.h", - "SDL2/src/video/SDL_blit_auto.h", - "SDL2/src/video/SDL_blit_copy.h", - "SDL2/src/video/SDL_blit_slow.h", - "SDL2/src/video/SDL_egl_c.h", - "SDL2/src/video/SDL_pixels_c.h", - "SDL2/src/video/SDL_rect_c.h", - "SDL2/src/video/SDL_RLEaccel_c.h", - "SDL2/src/video/SDL_shape_internals.h", - "SDL2/src/video/SDL_sysvideo.h", - "SDL2/src/video/SDL_vulkan_internal.h", - "SDL2/src/video/SDL_yuv_c.h", - "SDL2/src/video/windows/SDL_msctf.h", - "SDL2/src/video/windows/SDL_vkeys.h", - "SDL2/src/video/windows/SDL_windowsclipboard.h", - "SDL2/src/video/windows/SDL_windowsevents.h", - "SDL2/src/video/windows/SDL_windowsframebuffer.h", - "SDL2/src/video/windows/SDL_windowskeyboard.h", - "SDL2/src/video/windows/SDL_windowsmessagebox.h", - "SDL2/src/video/windows/SDL_windowsmodes.h", - "SDL2/src/video/windows/SDL_windowsmouse.h", - "SDL2/src/video/windows/SDL_windowsopengl.h", - "SDL2/src/video/windows/SDL_windowsopengles.h", - "SDL2/src/video/windows/SDL_windowsshape.h", - "SDL2/src/video/windows/SDL_windowsvideo.h", - "SDL2/src/video/windows/SDL_windowsvulkan.h", - "SDL2/src/video/windows/SDL_windowswindow.h", - "SDL2/src/video/windows/wmmsg.h", - "SDL2/src/video/yuv2rgb/yuv_rgb.h", - "SDL2/src/video/yuv2rgb/yuv_rgb_common.h", - "SDL2/src/video/yuv2rgb/yuv_rgb_internal.h", - "SDL2/src/video/yuv2rgb/yuv_rgb_lsx.h", - "SDL2/src/video/yuv2rgb/yuv_rgb_lsx_func.h", - "SDL2/src/video/yuv2rgb/yuv_rgb_sse.h", - "SDL2/src/video/yuv2rgb/yuv_rgb_sse_func.h", - "SDL2/src/video/yuv2rgb/yuv_rgb_std.h", - "SDL2/src/video/yuv2rgb/yuv_rgb_std_func.h", - - "SDL2/src/atomic/SDL_atomic.c", - "SDL2/src/atomic/SDL_spinlock.c", - "SDL2/src/audio/directsound/SDL_directsound.c", - "SDL2/src/audio/disk/SDL_diskaudio.c", - "SDL2/src/audio/dummy/SDL_dummyaudio.c", - "SDL2/src/audio/SDL_audio.c", - "SDL2/src/audio/SDL_audiocvt.c", - "SDL2/src/audio/SDL_audiodev.c", - "SDL2/src/audio/SDL_audiotypecvt.c", - "SDL2/src/audio/SDL_mixer.c", - "SDL2/src/audio/SDL_wave.c", - "SDL2/src/audio/winmm/SDL_winmm.c", - "SDL2/src/audio/wasapi/SDL_wasapi.c", - "SDL2/src/audio/wasapi/SDL_wasapi_win32.c", - "SDL2/src/core/windows/SDL_hid.c", - "SDL2/src/core/windows/SDL_immdevice.c", - "SDL2/src/core/windows/SDL_windows.c", - "SDL2/src/core/windows/SDL_xinput.c", - "SDL2/src/cpuinfo/SDL_cpuinfo.c", - "SDL2/src/dynapi/SDL_dynapi.c", - "SDL2/src/events/SDL_clipboardevents.c", - "SDL2/src/events/SDL_displayevents.c", - "SDL2/src/events/SDL_dropevents.c", - "SDL2/src/events/SDL_events.c", - "SDL2/src/events/SDL_gesture.c", - "SDL2/src/events/SDL_keyboard.c", - "SDL2/src/events/SDL_mouse.c", - "SDL2/src/events/SDL_quit.c", - "SDL2/src/events/SDL_touch.c", - "SDL2/src/events/SDL_windowevents.c", - "SDL2/src/file/SDL_rwops.c", - "SDL2/src/filesystem/windows/SDL_sysfilesystem.c", - "SDL2/src/haptic/dummy/SDL_syshaptic.c", - "SDL2/src/haptic/SDL_haptic.c", - "SDL2/src/haptic/windows/SDL_dinputhaptic.c", - "SDL2/src/haptic/windows/SDL_windowshaptic.c", - "SDL2/src/haptic/windows/SDL_xinputhaptic.c", - "SDL2/src/hidapi/SDL_hidapi.c", - "SDL2/src/joystick/controller_type.c", - "SDL2/src/joystick/dummy/SDL_sysjoystick.c", - "SDL2/src/joystick/hidapi/SDL_hidapijoystick.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_combined.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_gamecube.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_luna.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_ps3.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_ps4.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_ps5.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_rumble.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_shield.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_stadia.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_steam.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_steamdeck.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_switch.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_wii.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_xbox360.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_xbox360w.c", - "SDL2/src/joystick/hidapi/SDL_hidapi_xboxone.c", - "SDL2/src/joystick/SDL_gamecontroller.c", - "SDL2/src/joystick/SDL_joystick.c", - "SDL2/src/joystick/SDL_steam_virtual_gamepad.c", - "SDL2/src/joystick/virtual/SDL_virtualjoystick.c", - "SDL2/src/joystick/windows/SDL_dinputjoystick.c", - "SDL2/src/joystick/windows/SDL_rawinputjoystick.c", - "SDL2/src/joystick/windows/SDL_windowsjoystick.c", - "SDL2/src/joystick/windows/SDL_windows_gaming_input.c", - "SDL2/src/joystick/windows/SDL_xinputjoystick.c", - "SDL2/src/libm/e_atan2.c", - "SDL2/src/libm/e_exp.c", - "SDL2/src/libm/e_fmod.c", - "SDL2/src/libm/e_log.c", - "SDL2/src/libm/e_log10.c", - "SDL2/src/libm/e_pow.c", - "SDL2/src/libm/e_rem_pio2.c", - "SDL2/src/libm/e_sqrt.c", - "SDL2/src/libm/k_cos.c", - "SDL2/src/libm/k_rem_pio2.c", - "SDL2/src/libm/k_sin.c", - "SDL2/src/libm/k_tan.c", - "SDL2/src/libm/s_atan.c", - "SDL2/src/libm/s_copysign.c", - "SDL2/src/libm/s_cos.c", - "SDL2/src/libm/s_fabs.c", - "SDL2/src/libm/s_floor.c", - "SDL2/src/libm/s_scalbn.c", - "SDL2/src/libm/s_sin.c", - "SDL2/src/libm/s_tan.c", - "SDL2/src/loadso/windows/SDL_sysloadso.c", - "SDL2/src/locale/SDL_locale.c", - "SDL2/src/locale/windows/SDL_syslocale.c", - "SDL2/src/misc/SDL_url.c", - "SDL2/src/misc/windows/SDL_sysurl.c", - "SDL2/src/power/SDL_power.c", - "SDL2/src/power/windows/SDL_syspower.c", - "SDL2/src/render/direct3d11/SDL_shaders_d3d11.c", - "SDL2/src/render/direct3d12/SDL_render_d3d12.c", - "SDL2/src/render/direct3d12/SDL_shaders_d3d12.c", - "SDL2/src/render/direct3d/SDL_render_d3d.c", - "SDL2/src/render/direct3d11/SDL_render_d3d11.c", - "SDL2/src/render/direct3d/SDL_shaders_d3d.c", - "SDL2/src/render/opengl/SDL_render_gl.c", - "SDL2/src/render/opengl/SDL_shaders_gl.c", - "SDL2/src/render/opengles2/SDL_render_gles2.c", - "SDL2/src/render/opengles2/SDL_shaders_gles2.c", - "SDL2/src/render/SDL_d3dmath.c", - "SDL2/src/render/SDL_render.c", - "SDL2/src/render/SDL_yuv_sw.c", - "SDL2/src/render/software/SDL_blendfillrect.c", - "SDL2/src/render/software/SDL_blendline.c", - "SDL2/src/render/software/SDL_blendpoint.c", - "SDL2/src/render/software/SDL_drawline.c", - "SDL2/src/render/software/SDL_drawpoint.c", - "SDL2/src/render/software/SDL_render_sw.c", - "SDL2/src/render/software/SDL_rotate.c", - "SDL2/src/render/software/SDL_triangle.c", - "SDL2/src/SDL.c", - "SDL2/src/SDL_assert.c", - "SDL2/src/SDL_dataqueue.c", - "SDL2/src/SDL_list.c", - "SDL2/src/SDL_error.c", - "SDL2/src/SDL_hints.c", - "SDL2/src/SDL_log.c", - "SDL2/src/SDL_utils.c", - "SDL2/src/sensor/dummy/SDL_dummysensor.c", - "SDL2/src/sensor/SDL_sensor.c", - "SDL2/src/sensor/windows/SDL_windowssensor.c", - "SDL2/src/stdlib/SDL_crc16.c", - "SDL2/src/stdlib/SDL_crc32.c", - "SDL2/src/stdlib/SDL_getenv.c", - "SDL2/src/stdlib/SDL_iconv.c", - "SDL2/src/stdlib/SDL_malloc.c", - "SDL2/src/stdlib/SDL_mslibc.c", - "SDL2/src/stdlib/SDL_qsort.c", - "SDL2/src/stdlib/SDL_stdlib.c", - "SDL2/src/stdlib/SDL_string.c", - "SDL2/src/stdlib/SDL_strtokr.c", - "SDL2/src/thread/generic/SDL_syscond.c", - "SDL2/src/thread/SDL_thread.c", - "SDL2/src/thread/windows/SDL_syscond_cv.c", - "SDL2/src/thread/windows/SDL_sysmutex.c", - "SDL2/src/thread/windows/SDL_syssem.c", - "SDL2/src/thread/windows/SDL_systhread.c", - "SDL2/src/thread/windows/SDL_systls.c", - "SDL2/src/timer/SDL_timer.c", - "SDL2/src/timer/windows/SDL_systimer.c", - "SDL2/src/video/dummy/SDL_nullevents.c", - "SDL2/src/video/dummy/SDL_nullframebuffer.c", - "SDL2/src/video/dummy/SDL_nullvideo.c", - "SDL2/src/video/SDL_blit.c", - "SDL2/src/video/SDL_blit_0.c", - "SDL2/src/video/SDL_blit_1.c", - "SDL2/src/video/SDL_blit_A.c", - "SDL2/src/video/SDL_blit_auto.c", - "SDL2/src/video/SDL_blit_copy.c", - "SDL2/src/video/SDL_blit_N.c", - "SDL2/src/video/SDL_blit_slow.c", - "SDL2/src/video/SDL_bmp.c", - "SDL2/src/video/SDL_clipboard.c", - "SDL2/src/video/SDL_egl.c", - "SDL2/src/video/SDL_fillrect.c", - "SDL2/src/video/SDL_pixels.c", - "SDL2/src/video/SDL_rect.c", - "SDL2/src/video/SDL_RLEaccel.c", - "SDL2/src/video/SDL_shape.c", - "SDL2/src/video/SDL_stretch.c", - "SDL2/src/video/SDL_surface.c", - "SDL2/src/video/SDL_video.c", - "SDL2/src/video/SDL_vulkan_utils.c", - "SDL2/src/video/SDL_yuv.c", - "SDL2/src/video/windows/SDL_windowsclipboard.c", - "SDL2/src/video/windows/SDL_windowsevents.c", - "SDL2/src/video/windows/SDL_windowsframebuffer.c", - "SDL2/src/video/windows/SDL_windowskeyboard.c", - "SDL2/src/video/windows/SDL_windowsmessagebox.c", - "SDL2/src/video/windows/SDL_windowsmodes.c", - "SDL2/src/video/windows/SDL_windowsmouse.c", - "SDL2/src/video/windows/SDL_windowsopengl.c", - "SDL2/src/video/windows/SDL_windowsopengles.c", - "SDL2/src/video/windows/SDL_windowsshape.c", - "SDL2/src/video/windows/SDL_windowsvideo.c", - "SDL2/src/video/windows/SDL_windowsvulkan.c", - "SDL2/src/video/windows/SDL_windowswindow.c", - "SDL2/src/video/yuv2rgb/yuv_rgb_lsx.c", - "SDL2/src/video/yuv2rgb/yuv_rgb_sse.c", - "SDL2/src/video/yuv2rgb/yuv_rgb_std.c", - }) diff --git a/third_party/SDL2.lua b/third_party/SDL2.lua deleted file mode 100644 index 972aa1aa7..000000000 --- a/third_party/SDL2.lua +++ /dev/null @@ -1,36 +0,0 @@ --- --- On Linux we build against the system version (libsdl2-dev for building), --- since SDL2 is our robust API there like DirectX is on Windows. --- - -local sdl2_sys_includedirs = {} -local third_party_path = os.getcwd() - -if os.istarget("windows") then - -- build ourselves - include("SDL2-static.lua") -else - -- use system libraries - local result, code, what = os.outputof("sdl2-config --cflags") - if result then - for inc in string.gmatch(result, "-I([%S]+)") do - table.insert(sdl2_sys_includedirs, inc) - end - else - error("Failed to run 'sdl2-config'. Are libsdl2 development files installed?") - end -end - - --- --- Call this function in project scope to include the SDL2 headers. --- -function sdl2_include() - filter("platforms:Windows") - includedirs({ - path.getrelative(".", third_party_path) .. "/SDL2/include", - }) - filter("platforms:Linux or platforms:Mac") - includedirs(sdl2_sys_includedirs) - filter({}) -end diff --git a/third_party/aes_128.lua b/third_party/aes_128.lua deleted file mode 100644 index d53f66eaa..000000000 --- a/third_party/aes_128.lua +++ /dev/null @@ -1,11 +0,0 @@ -group("third_party") -project("aes_128") - uuid("b50458bf-dd83-4c1a-8cad-61f5fbbfd720") - kind("StaticLib") - language("C") - includedirs({ - "aes_128", - }) - files({ - "aes_128/unroll/aes.c", - }) diff --git a/third_party/capstone.lua b/third_party/capstone.lua deleted file mode 100644 index ee8aea191..000000000 --- a/third_party/capstone.lua +++ /dev/null @@ -1,36 +0,0 @@ -group("third_party") -project("capstone") - uuid("b3a89f7e-bb02-4945-ae75-219caed6afa2") - kind("StaticLib") - language("C") - defines({ - "CAPSTONE_X86_ATT_DISABLE", - "CAPSTONE_HAS_X86", - "CAPSTONE_USE_SYS_DYN_MEM", - }) - - includedirs({ - "capstone", - "capstone/include", - }) - files({ - "capstone/cs.c", - "capstone/MCInst.c", - "capstone/MCInstrDesc.c", - "capstone/MCRegisterInfo.c", - "capstone/SStream.c", - "capstone/utils.c", - "capstone/Mapping.c", - - "capstone/arch/X86/*.c", - "capstone/arch/X86/*.h", - "capstone/arch/X86/*.inc", - }) - force_compile_as_c({ - "capstone/**.c", - "capstone/arch/X86/**.c", - }) - removefiles({ - "capstone/arch/X86/X86ATTInstPrinter.c", - "capstone/arch/X86/*reduce.inc", - }) diff --git a/third_party/cxxopts.lua b/third_party/cxxopts.lua deleted file mode 100644 index a54899457..000000000 --- a/third_party/cxxopts.lua +++ /dev/null @@ -1,14 +0,0 @@ -group("third_party") -project("cxxopts") - uuid("8b68cbe8-2da4-4f28-be14-9352eafa3168") - if os.istarget("android") then - -- ndk-build only supports StaticLib and SharedLib. - kind("StaticLib") - else - kind("Utility") - end - language("C++") - files({ - "cxxopts/include/cxxopts.hpp", - }) - warnings("Off") diff --git a/third_party/discord-rpc.lua b/third_party/discord-rpc.lua deleted file mode 100644 index 52776718b..000000000 --- a/third_party/discord-rpc.lua +++ /dev/null @@ -1,36 +0,0 @@ -group("third_party") -project("discord-rpc") - uuid("012f6131-efc0-4abd-852d-a33640732d4c") - kind("StaticLib") - language("C++") - defines({ - "RAPIDJSON_SSE42", - -- "RAPIDJSON_NEON", - }) - includedirs({ - "discord-rpc/include", - "rapidjson/include" - }) - files({ - "discord-rpc/src/connection.h", - "discord-rpc/src/discord_rpc.cpp", - "discord-rpc/src/msg_queue.h", - "discord-rpc/src/rpc_connection.cpp", - "discord-rpc/src/rpc_connection.h", - "discord-rpc/src/serialization.cpp", - "discord-rpc/src/serialization.h" - }) - filter("platforms:Linux") - files({ - "discord-rpc/src/connection_unix.cpp", - "discord-rpc/src/discord_register_linux.cpp" - }) - filter("platforms:Mac") - files({ - "discord-rpc/src/discord_register_osx.m" - }) - filter("platforms:Windows") - files({ - "discord-rpc/src/connection_win.cpp", - "discord-rpc/src/discord_register_win.cpp" - }) diff --git a/third_party/dxbc.lua b/third_party/dxbc.lua deleted file mode 100644 index 83f48eb1a..000000000 --- a/third_party/dxbc.lua +++ /dev/null @@ -1,11 +0,0 @@ -group("third_party") -project("dxbc") - uuid("c96688ca-51ca-406e-aeef-068734a67abe") - kind("StaticLib") - language("C++") - includedirs({ - "dxbc", - }) - files({ - "dxbc/DXBCChecksum.cpp", - }) diff --git a/third_party/ffmpeg-xenia/premake5.lua b/third_party/ffmpeg-xenia/premake5.lua deleted file mode 100644 index dd5c773bb..000000000 --- a/third_party/ffmpeg-xenia/premake5.lua +++ /dev/null @@ -1,42 +0,0 @@ -group("third_party") - --- --- Call this function in subproject scope to set the needed include --- dirs and defines. --- -function ffmpeg_common() - defines({ - "HAVE_AV_CONFIG_H", - "_USE_MATH_DEFINES", -- For M_PI/etc - }) - - -- Paths are relative to the calling script (sub-library premake files), - -- which are one level deeper (e.g. libavcodec/premake5.lua). - includedirs({ - "..", -- ffmpeg-xenia/ (config.h, avconfig.h, ffversion.h) - "../../FFmpeg", -- FFmpeg source headers - }) - filter({"platforms:Windows", "configurations:Debug or configurations:Checked"}) - optimize("Size") -- dead code elimination is mandatory - removebuildoptions({ - "/RTCsu", -- '/O1' and '/RTCs' command-line options are incompatible - }) - filter({"platforms:Windows", "configurations:Release"}) - linktimeoptimization("Off") - filter("platforms:Windows") - includedirs({ - "../../FFmpeg/compat/atomics/win32", - }) - links({ - "bcrypt", - }) - filter("platforms:Linux") - includedirs({ - "../../FFmpeg/compat/atomics/gcc", - }) - filter({}) -end - -include("libavcodec/premake5.lua") -include("libavformat/premake5.lua") -include("libavutil/premake5.lua") diff --git a/third_party/fmt.lua b/third_party/fmt.lua deleted file mode 100644 index 1be2a91bf..000000000 --- a/third_party/fmt.lua +++ /dev/null @@ -1,13 +0,0 @@ -group("third_party") -project("fmt") - uuid("b9ff4b2c-b438-42a9-971e-e0c19a711a13") - kind("StaticLib") - language("C++") - - includedirs({ - "fmt/include", - }) - files({ - "fmt/src/format.cc", - "fmt/src/os.cc" - }) diff --git a/third_party/glslang-spirv.lua b/third_party/glslang-spirv.lua deleted file mode 100644 index 80811444b..000000000 --- a/third_party/glslang-spirv.lua +++ /dev/null @@ -1,20 +0,0 @@ -group("third_party") -project("glslang-spirv") - uuid("1cc8f45e-91e2-4daf-a55e-666bf8b5e6b2") - kind("StaticLib") - language("C++") - - includedirs({ - "glslang", - }) - - files({ - "glslang/SPIRV/*.cpp", - "glslang/SPIRV/*.h", - "glslang/SPIRV/*.hpp11", - "glslang/glslang/Include/visibility.h", - }) - - removefiles({ - "glslang/SPIRV/GlslangToSpv.cpp", - }) diff --git a/third_party/imgui.lua b/third_party/imgui.lua deleted file mode 100644 index 410f93579..000000000 --- a/third_party/imgui.lua +++ /dev/null @@ -1,19 +0,0 @@ -group("third_party") -project("imgui") - uuid("ed9271c4-b0a1-42ef-8403-067b11bf49d0") - kind("StaticLib") - language("C++") - includedirs({ - "imgui", - --"imgui/misc/freetype", - --"freetype/include", - "stb", - }) - files({ - "imgui/imgui.cpp", - "imgui/imgui_demo.cpp", - "imgui/imgui_draw.cpp", - "imgui/imgui_tables.cpp", - "imgui/imgui_widgets.cpp", - --"imgui/misc/freetype/imgui_freetype.cpp", - }) diff --git a/third_party/libusb.lua b/third_party/libusb.lua deleted file mode 100644 index d053b8cb6..000000000 --- a/third_party/libusb.lua +++ /dev/null @@ -1,47 +0,0 @@ -group("third_party") -project("libusb") - uuid("5f8b5485-fde5-4a42-8a13-8545fcf6d25b") - kind("StaticLib") - language("C") - includedirs({ - "libusb/libusb", - }) - - files({ - "libusb/libusb/core.c", - "libusb/libusb/descriptor.c", - "libusb/libusb/hotplug.c", - "libusb/libusb/io.c", - "libusb/libusb/strerror.c", - "libusb/libusb/sync.c", - }) - - filter({"platforms:Windows"}) - includedirs({ - "libusb/msvc", - }) - files({ - "libusb/libusb/os/events_windows.c", - "libusb/libusb/os/events_windows.h", - "libusb/libusb/os/threads_windows.c", - "libusb/libusb/os/threads_windows.h", - "libusb/libusb/os/windows_common.c", - "libusb/libusb/os/windows_common.h", - "libusb/libusb/os/windows_usbdk.c", - "libusb/libusb/os/windows_usbdk.h", - "libusb/libusb/os/windows_winusb.c", - "libusb/libusb/os/windows_winusb.h" - }) - - filter({"platforms:Linux"}) - files({ - "libusb/libusb/config.h", - "libusb/libusb/os/events_posix.c", - "libusb/libusb/os/events_posix.h", - "libusb/libusb/os/threads_posix.c", - "libusb/libusb/os/threads_posix.h", - "libusb/libusb/os/linux_netlink.c", - "libusb/libusb/os/linux_udev.c", - "libusb/libusb/os/linux_usbfs.c", - "libusb/libusb/os/linux_usbfs.h" - }) diff --git a/third_party/mspack.lua b/third_party/mspack.lua deleted file mode 100644 index 862ad71d0..000000000 --- a/third_party/mspack.lua +++ /dev/null @@ -1,19 +0,0 @@ -group("third_party") -project("mspack") - uuid("0881692A-75A1-4E7B-87D8-BB9108CEDEA4") - kind("StaticLib") - language("C++") - links({ - "xenia-base", - }) - defines({ - "HAVE_CONFIG_H", - }) - includedirs({ - "mspack", - }) - files({ - "mspack/logging.cc", - "mspack/lzxd.c", - "mspack/system.c", - }) diff --git a/third_party/pugixml.lua b/third_party/pugixml.lua deleted file mode 100644 index 4b7f97a1b..000000000 --- a/third_party/pugixml.lua +++ /dev/null @@ -1,8 +0,0 @@ -group("third_party") -project("pugixml") - uuid("d1089e5e-46ae-48c9-bee6-d38c674c8f61") - kind("StaticLib") - language("C++") - files({ - "pugixml/src/pugixml.cpp", - }) diff --git a/third_party/snappy.lua b/third_party/snappy.lua deleted file mode 100644 index 2d338362b..000000000 --- a/third_party/snappy.lua +++ /dev/null @@ -1,23 +0,0 @@ -group("third_party") -project("snappy") - uuid("bb143d61-3fd4-44c2-8b7e-04cc538ba2c7") - kind("StaticLib") - language("C++") - - files({ - "snappy/snappy-internal.h", - "snappy/snappy-sinksource.cc", - "snappy/snappy-sinksource.h", - "snappy/snappy-stubs-internal.cc", - "snappy/snappy-stubs-internal.h", - "snappy/snappy-stubs-public.h", - "snappy/snappy.cc", - "snappy/snappy.h", - }) - - local snappy_dir = path.getabsolute("snappy") - if not os.isfile(path.join(snappy_dir, "snappy-stubs-public.h")) then - prebuildcommands({ - "cmake -DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF -DSNAPPY_REQUIRE_AVX=ON "..snappy_dir.." -B"..snappy_dir - }) - end diff --git a/third_party/tomlplusplus.lua b/third_party/tomlplusplus.lua deleted file mode 100644 index 25860b01c..000000000 --- a/third_party/tomlplusplus.lua +++ /dev/null @@ -1,13 +0,0 @@ -group("third_party") -project("tomlplusplus") - uuid("1e86cc51-3f8b-476d-9249-3b200424846b") - if os.istarget("android") then - -- ndk-build only supports StaticLib and SharedLib. - kind("StaticLib") - else - kind("Utility") - end - language("C++") - files({ - "tomlplusplus/include/toml++/toml.hpp" - }) diff --git a/third_party/xxhash.lua b/third_party/xxhash.lua deleted file mode 100644 index a6bb1f873..000000000 --- a/third_party/xxhash.lua +++ /dev/null @@ -1,11 +0,0 @@ -group("third_party") -project("xxhash") - uuid("40d4ce21-5448-4399-9f98-589b7e1c23b1") - kind("StaticLib") - language("C") - includedirs({ - "xxhash", - }) - files({ - "xxhash/xxhash.c", - }) diff --git a/third_party/zarchive.lua b/third_party/zarchive.lua deleted file mode 100644 index 7856bd81f..000000000 --- a/third_party/zarchive.lua +++ /dev/null @@ -1,21 +0,0 @@ -group("third_party") -project("zarchive") - uuid("d32f03aa-f0c9-11ed-a05b-0242ac120003") - kind("StaticLib") - language("C++") - links({ - "zstd", - }) - includedirs({ - "zarchive/include", - "zstd/lib", - }) - files({ - "zarchive/include/zarchive/zarchivecommon.h", - "zarchive/include/zarchive/zarchivereader.h", - "zarchive/include/zarchive/zarchivewriter.h", - "zarchive/src/zarchivereader.cpp", - "zarchive/src/zarchivewriter.cpp", - "zarchive/src/sha_256.c", - "zarchive/src/sha_256.h", - }) diff --git a/third_party/zlib-ng.lua b/third_party/zlib-ng.lua deleted file mode 100644 index 9884307c2..000000000 --- a/third_party/zlib-ng.lua +++ /dev/null @@ -1,63 +0,0 @@ -group("third_party") -project("zlib-ng") - uuid("13d4073d-f1c9-47e3-a057-79b133596fc2") - kind("StaticLib") - language("C") - - defines({ - "X86_FEATURES", - "X86_HAVE_XSAVE_INTRIN", - "X86_SSSE3", - "X86_SSE42", - "WITH_GZFILEOP", - }) - if os.istarget("windows") then - defines({ - "X86_SSE2", - "X86_AVX2", - "X86_AVX512", - "X86_AVX512VNNI", - "X86_PCLMULQDQ_CRC", - "X86_VPCLMULQDQ_CRC", - }) - end - - files({ - "zlib-ng/*.c", - "zlib-ng/arch/x86/*.c", - "zlib-ng/arch/generic/*.c", - }) - if not os.istarget("windows") then - removefiles({ - "zlib-ng/arch/x86/adler32_avx2.c", - "zlib-ng/arch/x86/adler32_avx512.c", - "zlib-ng/arch/x86/adler32_avx512_vnni.c", - "zlib-ng/arch/x86/chunkset_avx2.c", - "zlib-ng/arch/x86/compare256_avx2.c", - "zlib-ng/arch/x86/crc32_pclmulqdq.c", - "zlib-ng/arch/x86/crc32_vpclmulqdq.c", - "zlib-ng/arch/x86/slide_hash_avx2.c", - }) - end - - includedirs({ - "zlib-ng", - }) - - local zlibng_dir = path.getabsolute("zlib-ng") - local zlibng_h_src_files = { - path.join(zlibng_build_dir, "zlib-ng.h"), - path.join(zlibng_build_dir, "zconf-ng.h"), - path.join(zlibng_build_dir, "zlib_name_mangling-ng.h"), - path.join(zlibng_build_dir, "gzread.c"), - } - for i = 1,#zlibng_h_src_files,1 - do - if not os.isfile(path.join(zlibng_dir, zlibng_h_src_files[i])) then - zlibng_build = true - break - end - end - if zlibng_build then - os.execute("cmake -DZLIB_ENABLE_TESTS=OFF -DWITH_GTEST=OFF "..zlibng_dir.." -B"..zlibng_dir) - end diff --git a/third_party/zstd.lua b/third_party/zstd.lua deleted file mode 100644 index 8761de8af..000000000 --- a/third_party/zstd.lua +++ /dev/null @@ -1,11 +0,0 @@ -include("third_party/zstd/contrib/premake/zstd.lua") - -group("third_party") -project("zstd") - uuid("df336aac-f0c8-11ed-a05b-0242ac120003") - -- https://gitlab.kitware.com/cmake/cmake/-/issues/25744 - filter({"toolset:not msc"}) - defines({ - "ZSTD_DISABLE_ASM", - }) - project_zstd("zstd/lib/") diff --git a/tools/build/bin/premake5.exe b/tools/build/bin/premake5.exe deleted file mode 100644 index 52ae09d3b71f7785a10aef11b01761a3a2ff682a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1318400 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

J;yGNS2(`L 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

i3{cA7;rvDfT5e%+R~(kT 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%0Du&m& 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

YmLJ}AUs5hkL!b%m|+XY~}P&|X;9 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 z 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⁣c*k&mX?^_V1qhs&l_# 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 Bx~KpE diff --git a/tools/build/premake.py b/tools/build/premake.py deleted file mode 100755 index 05778ba57..000000000 --- a/tools/build/premake.py +++ /dev/null @@ -1,272 +0,0 @@ -#!/usr/bin/env python3 - -# Copyright 2015 Ben Vanik. All Rights Reserved. - -"""Premake trampoline script. -""" - -__author__ = "ben.vanik@gmail.com (Ben Vanik)" - - -from json import loads as jsonloads -import os -from shutil import rmtree -import subprocess -import sys - - -self_path = os.path.dirname(os.path.abspath(__file__)) -root_path = os.path.join(self_path, "..", "..") -premake_submodule_path = os.path.join(root_path, "third_party", "premake-core") -premake_path = premake_submodule_path - - -def setup_premake_path_override(): - global premake_path - premake_path = premake_submodule_path - if sys.platform == "linux": - # On Android, the repository may be cloned to the external storage, which - # doesn't support executables in it. - # In this case, premake-core needs to be checked out in the internal - # storage, which supports executables, with all the permissions as set in - # its repository. - # On Termux, the home directory is in the internal storage - use it for - # executing. - # If xenia-build.py doesn't have execute permissions, Xenia is in the external - # storage now. - try: - popen = subprocess.Popen( - ["uname", "-o"], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, - text=True) - if popen.communicate()[0] == "Android\n": - xb_file = os.path.join(root_path, "xenia-build.py") - if (os.path.isfile(xb_file) and not os.access(xb_file, os.X_OK) and - "HOME" in os.environ): - premake_path = os.path.join(os.environ["HOME"], ".xenia-build", "premake-core") - except Exception: - pass - -setup_premake_path_override() - - -def main(): - # First try the freshly-built premake. - premake5_bin = os.path.join(premake_path, "bin", "release", "premake5") - if not has_bin(premake5_bin): - # No fresh build, so fallback to checked in copy (which we may not have). - premake5_bin = os.path.join(self_path, "bin", "premake5") - if not has_bin(premake5_bin): - # Still no valid binary, so build it. - print("premake5 executable not found, attempting build...") - build_premake() - premake5_bin = os.path.join(premake_path, "bin", "release", "premake5") - if not has_bin(premake5_bin): - # Nope, boned. - print("ERROR: cannot build premake5 executable.") - sys.exit(1) - - # Ensure the submodule has been checked out. - if not os.path.exists(os.path.join(premake_path, "scripts", "package.lua")): - print("third_party/premake-core was not present; run xb setup...") - sys.exit(1) - - if sys.platform == "win32": - # Append the executable extension on windows. - premake5_bin += ".exe" - - return_code = shell_call([ - premake5_bin, - f"--scripts={premake_path}", - ] + sys.argv[1:], - throw_on_error=False) - - sys.exit(return_code) - - -def build_premake(): - """Builds premake from source. - """ - # Ensure that on Android, premake-core is in the internal storage. - clone_premake_to_internal_storage() - cwd = os.getcwd() - try: - os.chdir(premake_path) - if sys.platform == "darwin": - subprocess.call([ - "make", - "-f", "Bootstrap.mak", - "osx", - ]) - elif sys.platform == "win32": - # Grab Visual Studio version and execute shell to set up environment. - vs_version = import_vs_environment() - if not vs_version: - print("ERROR: Visual Studio not found!") - sys.exit(1) - return - - subprocess.call([ - "nmake", - "-f", "Bootstrap.mak", - "windows", - ]) - else: - subprocess.call([ - "make", - "-f", "Bootstrap.mak", - "linux", - ]) - finally: - os.chdir(cwd) - pass - - -def clone_premake_to_internal_storage(): - """Clones premake to the Android internal storage so it can be executed. - """ - # premake_path is initialized to a value different than premake_submodule_path - # if running from the Android external storage, and may not exist yet. - if premake_path == premake_submodule_path: - return - - # Ensure the submodule has been checked out. - if not os.path.exists( - os.path.join(premake_submodule_path, "scripts", "package.lua")): - print("third_party/premake-core was not present; run xb setup...") - sys.exit(1) - - # Create or refresh premake-core in the internal storage. - print("Cloning premake5 to the internal storage...") - rmtree(premake_path, ignore_errors=True) - os.makedirs(premake_path) - shell_call([ - "git", - "clone", - "--depth=1", - premake_submodule_path, - premake_path, - ]) - - -def has_bin(bin): - """Checks whether the given binary is present. - """ - for path in os.environ["PATH"].split(os.pathsep): - if sys.platform == "win32": - exe_file = os.path.join(path, f"{bin}.exe") - if os.path.isfile(exe_file) and os.access(exe_file, os.X_OK): - return True - else: - path = path.strip("\"") - exe_file = os.path.join(path, bin) - if os.path.isfile(exe_file) and os.access(exe_file, os.X_OK): - return True - return None - - -def shell_call(command, throw_on_error=True, stdout_path=None, stderr_path=None, shell=False): - """Executes a shell command. - - Args: - command: Command to execute, as a list of parameters. - throw_on_error: Whether to throw an error or return the status code. - stdout_path: File path to write stdout output to. - stderr_path: File path to write stderr output to. - - Returns: - If throw_on_error is False the status code of the call will be returned. - """ - stdout_file = None - if stdout_path: - stdout_file = open(stdout_path, "w") - stderr_file = None - if stderr_path: - stderr_file = open(stderr_path, "w") - result = 0 - try: - if throw_on_error: - result = 1 - subprocess.check_call(command, shell=shell, stdout=stdout_file, stderr=stderr_file) - result = 0 - else: - result = subprocess.call(command, shell=shell, stdout=stdout_file, stderr=stderr_file) - finally: - if stdout_file: - stdout_file.close() - if stderr_file: - stderr_file.close() - return result - - -def import_vs_environment(): - """Finds the installed Visual Studio version and imports - interesting environment variables into os.environ. - - Returns: - A version such as 2022 or None if no installation is found. - """ - - if sys.platform != "win32": - return None - - version = None - install_path = None - env_tool_args = None - - vswhere = subprocess.check_output( - "tools/vswhere/vswhere.exe -version \"[17,)\" -latest -prerelease -format json -utf8 -products" - " Microsoft.VisualStudio.Product.Enterprise" - " Microsoft.VisualStudio.Product.Professional" - " Microsoft.VisualStudio.Product.Community" - " Microsoft.VisualStudio.Product.BuildTools", - encoding="utf-8", - ) - if vswhere: - vswhere = jsonloads(vswhere) - if vswhere and len(vswhere) > 0: - version = int(vswhere[0].get("catalog", {}).get("productLineVersion", 2022)) - install_path = vswhere[0].get("installationPath", None) - - vsdevcmd_path = os.path.join(install_path, "Common7", "Tools", "VsDevCmd.bat") - if os.access(vsdevcmd_path, os.X_OK): - env_tool_args = [vsdevcmd_path, "-arch=amd64", "-host_arch=amd64", "&&", "set"] - else: - vcvars_path = os.path.join(install_path, "VC", "Auxiliary", "Build", "vcvarsall.bat") - env_tool_args = [vcvars_path, "x64", "&&", "set"] - - if not version: - return None - - import_subprocess_environment(env_tool_args) - os.environ["VSVERSION"] = f"{version}" - return version - - -def import_subprocess_environment(args): - popen = subprocess.Popen( - args, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True) - variables, _ = popen.communicate() - envvars_to_save = ( - "devenvdir", - "include", - "lib", - "libpath", - "path", - "pathext", - "systemroot", - "temp", - "tmp", - "vcinstalldir", - "windowssdkdir", - ) - for line in variables.splitlines(): - for envvar in envvars_to_save: - if f"{envvar}=" in line.lower(): - var, setting = line.split("=", 1) - if envvar == "path": - setting = f"{os.path.dirname(sys.executable)}{os.pathsep}{setting}" - os.environ[var.upper()] = setting - break - -if __name__ == "__main__": - main() diff --git a/tools/build/premake5.lua b/tools/build/premake5.lua deleted file mode 100644 index 6f99284e4..000000000 --- a/tools/build/premake5.lua +++ /dev/null @@ -1,9 +0,0 @@ -require("vstudio") - -include("scripts/build_paths.lua") -include("scripts/force_compile_as_c.lua") -include("scripts/force_compile_as_cc.lua") -include("scripts/pkg_config.lua") -include("scripts/platform_files.lua") -include("scripts/single_library.lua") -include("scripts/test_suite.lua") diff --git a/tools/build/scripts/build_paths.lua b/tools/build/scripts/build_paths.lua deleted file mode 100644 index 5daa73a3f..000000000 --- a/tools/build/scripts/build_paths.lua +++ /dev/null @@ -1,16 +0,0 @@ -build_root = "build" -build_bin = build_root .. "/bin/%{cfg.platform}/%{cfg.buildcfg}" -build_gen = build_root .. "/gen/%{cfg.platform}/%{cfg.buildcfg}" -build_obj = build_root .. "/obj/%{cfg.platform}/%{cfg.buildcfg}" - -build_tools = "tools/build" -build_scripts = build_tools .. "/scripts" -build_tools_src = build_tools .. "/src" - -if os.istarget("android") then - platform_suffix = "android" -elseif os.istarget("windows") then - platform_suffix = "win" -else - platform_suffix = "posix" -end diff --git a/tools/build/scripts/force_compile_as_c.lua b/tools/build/scripts/force_compile_as_c.lua deleted file mode 100644 index 30de988e9..000000000 --- a/tools/build/scripts/force_compile_as_c.lua +++ /dev/null @@ -1,32 +0,0 @@ -if premake.override then - local forced_c_files = {} - - -- Forces all of the given .c and .cc files to be compiled as if they were C. - function force_compile_as_c(files) - for _, val in ipairs(files) do - for _, fname in ipairs(os.matchfiles(val)) do - table.insert(forced_c_files, path.getabsolute(fname)) - end - end - end - - -- for gmake - premake.override(path, "iscfile", function(base, fname) - if table.contains(forced_c_files, fname) then - return true - else - return base(fname) - end - end) - -- for msvc - premake.override(premake.vstudio.vc2010, "additionalCompileOptions", function(base, cfg, condition) - if cfg.abspath and table.contains(forced_c_files, cfg.abspath) then - if condition == nil or condition == '' then - _p(3,'CompileAsC') - else - _p(3,'CompileAsC', condition) - end - end - return base(cfg, condition) - end) -end diff --git a/tools/build/scripts/force_compile_as_cc.lua b/tools/build/scripts/force_compile_as_cc.lua deleted file mode 100644 index c7a15cef0..000000000 --- a/tools/build/scripts/force_compile_as_cc.lua +++ /dev/null @@ -1,32 +0,0 @@ -if premake.override then - local forced_cc_files = {} - - -- Forces all of the given .c files to be compiled as if they were C++. - function force_compile_as_cc(files) - for _, val in ipairs(files) do - for _, fname in ipairs(os.matchfiles(val)) do - table.insert(forced_cc_files, path.getabsolute(fname)) - end - end - end - - -- for gmake - premake.override(path, "iscfile", function(base, fname) - if table.contains(forced_cc_files, fname) then - return false - else - return base(fname) - end - end) - -- for msvc - premake.override(premake.vstudio.vc2010, "additionalCompileOptions", function(base, cfg, condition) - if cfg.abspath and table.contains(forced_cc_files, cfg.abspath) then - if condition == nil or condition == '' then - _p(3,'CompileAsCpp') - else - _p(3,'CompileAsCpp', condition) - end - end - return base(cfg, condition) - end) -end diff --git a/tools/build/scripts/pkg_config.lua b/tools/build/scripts/pkg_config.lua deleted file mode 100644 index bc83ae1c0..000000000 --- a/tools/build/scripts/pkg_config.lua +++ /dev/null @@ -1,45 +0,0 @@ --- Helper methods to use the system pkg-config utility - -pkg_config = {} - -local function pkg_config_call(lib, what) - local result, code = os.outputof("pkg-config --"..what.." "..lib) - if result then - return result - else - error("Failed to run 'pkg-config' for library '"..lib.."'. Are the development files installed?") - end -end - -function pkg_config.cflags(lib) - if not os.istarget("linux") then - return - end - buildoptions({ - pkg_config_call(lib, "cflags"), - }) -end - -function pkg_config.lflags(lib) - if not os.istarget("linux") then - return - end - linkoptions({ - pkg_config_call(lib, "libs-only-L"), - pkg_config_call(lib, "libs-only-other"), - }) - -- We can't just drop the stdout of the `--libs` command in - -- linkoptions because library order matters - local output = pkg_config_call(lib, "libs-only-l") - for k, flag in next, string.explode(output, " ") do - -- remove "-l" - if flag ~= "" then - links(string.sub(flag, 3)) - end - end -end - -function pkg_config.all(lib) - pkg_config.cflags(lib) - pkg_config.lflags(lib) -end diff --git a/tools/build/scripts/platform_files.lua b/tools/build/scripts/platform_files.lua deleted file mode 100644 index 1e243731e..000000000 --- a/tools/build/scripts/platform_files.lua +++ /dev/null @@ -1,71 +0,0 @@ -include("build_paths.lua") -include("util.lua") - -local function match_platform_files(base_path, base_match) - files({ - base_path.."/"..base_match..".h", - base_path.."/"..base_match..".c", - base_path.."/"..base_match..".cc", - base_path.."/"..base_match..".cpp", - base_path.."/"..base_match..".inc", - }) - removefiles({ - base_path.."/".."**_main.cc", - base_path.."/".."**_test.cc", - base_path.."/".."**_posix.h", - base_path.."/".."**_posix.cc", - base_path.."/".."**_linux.h", - base_path.."/".."**_linux.cc", - base_path.."/".."**_gnulinux.h", - base_path.."/".."**_gnulinux.cc", - base_path.."/".."**_x11.h", - base_path.."/".."**_x11.cc", - base_path.."/".."**_gtk.h", - base_path.."/".."**_gtk.cc", - base_path.."/".."**_android.h", - base_path.."/".."**_android.cc", - base_path.."/".."**_mac.h", - base_path.."/".."**_mac.cc", - base_path.."/".."**_win.h", - base_path.."/".."**_win.cc", - }) - filter("platforms:Windows") - files({ - base_path.."/"..base_match.."_win.h", - base_path.."/"..base_match.."_win.cc", - }) - filter("platforms:Linux or Android-*") - files({ - base_path.."/"..base_match.."_posix.h", - base_path.."/"..base_match.."_posix.cc", - base_path.."/"..base_match.."_linux.h", - base_path.."/"..base_match.."_linux.cc", - }) - filter("platforms:Linux") - files({ - base_path.."/"..base_match.."_gnulinux.h", - base_path.."/"..base_match.."_gnulinux.cc", - base_path.."/"..base_match.."_x11.h", - base_path.."/"..base_match.."_x11.cc", - base_path.."/"..base_match.."_gtk.h", - base_path.."/"..base_match.."_gtk.cc", - }) - filter("platforms:Android-*") - files({ - base_path.."/"..base_match.."_android.h", - base_path.."/"..base_match.."_android.cc", - }) - filter({}) -end - --- Adds all .h and .cc files in the current path that match the current platform --- suffix (_win, etc). -function local_platform_files(base_path) - match_platform_files(base_path or ".", "*") -end - --- Adds all .h and .cc files in the current path and all subpaths that match --- the current platform suffix (_win, etc). -function recursive_platform_files(base_path) - match_platform_files(base_path or ".", "**") -end diff --git a/tools/build/scripts/single_library.lua b/tools/build/scripts/single_library.lua deleted file mode 100644 index 50f60f2cf..000000000 --- a/tools/build/scripts/single_library.lua +++ /dev/null @@ -1,20 +0,0 @@ -SINGLE_LIBRARY_PLATFORM_PATTERNS = { - "Android-*", -}; - -SINGLE_LIBRARY_FILTER = - "platforms:" .. table.concat(SINGLE_LIBRARY_PLATFORM_PATTERNS, " or "); -NOT_SINGLE_LIBRARY_FILTER = table.translate( - SINGLE_LIBRARY_PLATFORM_PATTERNS, - function(pattern) - return "platforms:not " .. pattern; - end); - -function single_library_windowed_app_kind() - filter(SINGLE_LIBRARY_FILTER); - kind("StaticLib"); - wholelib("On"); - filter(NOT_SINGLE_LIBRARY_FILTER); - kind("WindowedApp"); - filter({}); -end diff --git a/tools/build/scripts/test_suite.lua b/tools/build/scripts/test_suite.lua deleted file mode 100644 index 2ef600995..000000000 --- a/tools/build/scripts/test_suite.lua +++ /dev/null @@ -1,99 +0,0 @@ -include("build_paths.lua") -include("util.lua") - -newoption({ - trigger = "test-suite-mode", - description = "Whether to merge all tests in a test_suite into a single project", - value = "MODE", - allowed = { - { "individual", "One binary per test." }, - { "combined", "One binary per test suite (default)." }, - }, -}) - -local function combined_test_suite(test_suite_name, project_root, base_path, config) - group("tests") - project(test_suite_name) - kind("ConsoleApp") - language("C++") - includedirs(merge_arrays(config["includedirs"], { - project_root.."/"..build_tools, - project_root.."/"..build_tools_src, - project_root.."/"..build_tools.."/third_party/catch/include", - })) - libdirs(merge_arrays(config["libdirs"], { - project_root.."/"..build_bin, - })) - links(config["links"]) - if config.filtered_links ~= nil then - for _, filtered_links in ipairs(config.filtered_links) do - filter(filtered_links.filter) - links(filtered_links.links) - end - filter({}) - end - defines({ - "XE_TEST_SUITE_NAME=\""..test_suite_name.."\"", - }) - files({ - project_root.."/"..build_tools_src.."/test_suite_main.cc", - project_root.."/src/xenia/base/console_app_main_"..platform_suffix..".cc", - base_path.."/**_test.cc", - }) - filter("toolset:msc") - -- Edit and Continue in MSVC can cause the __LINE__ macro to produce - -- invalid values, which breaks the usability of Catch2 output on - -- failed tests. - editAndContinue("Off") -end - -local function split_test_suite(test_suite_name, project_root, base_path, config) - local test_paths = os.matchfiles(base_path.."/**_test.cc") - for _, file_path in pairs(test_paths) do - local test_name = file_path:match("(.*).cc") - group("tests/"..test_suite_name) - project(test_suite_name.."-"..test_name) - kind("ConsoleApp") - language("C++") - includedirs(merge_arrays(config["includedirs"], { - project_root.."/"..build_tools, - project_root.."/"..build_tools_src, - project_root.."/"..build_tools.."/third_party/catch/include", - })) - libdirs(merge_arrays(config["libdirs"], { - project_root.."/"..build_bin, - })) - links(config["links"]) - if config.filtered_links ~= nil then - for _, filtered_links in ipairs(config.filtered_links) do - filter(filtered_links.filter) - links(filtered_links.links) - end - filter({}) - end - files({ - project_root.."/"..build_tools_src.."/test_suite_main.cc", - file_path, - }) - filter("toolset:msc") - -- Edit and Continue in MSVC can cause the __LINE__ macro to produce - -- invalid values, which breaks the usability of Catch2 output on - -- failed tests. - editAndContinue("Off") - end -end - --- Defines a test suite binary. --- Can either be a single binary with all tests or one binary per test based on --- the --test-suite-mode= option. -function test_suite( - test_suite_name, -- Project or group name for the entire suite. - project_root, -- Project root path (with build_tools/ under it). - base_path, -- Base source path to search for _test.cc files. - config) -- Include/lib directories and links for binaries. - if _OPTIONS["test-suite-mode"] == "individual" then - split_test_suite(test_suite_name, project_root, base_path, config) - else - combined_test_suite(test_suite_name, project_root, base_path, config) - end -end diff --git a/tools/build/scripts/util.lua b/tools/build/scripts/util.lua deleted file mode 100644 index c220d46de..000000000 --- a/tools/build/scripts/util.lua +++ /dev/null @@ -1,50 +0,0 @@ --- Prints a table and all of its contents. -function print_r(t) - local print_r_cache={} - local function sub_print_r(t, indent) - if (print_r_cache[tostring(t)]) then - print(indent.."*"..tostring(t)) - else - print_r_cache[tostring(t)]=true - if (type(t)=="table") then - for pos,val in pairs(t) do - if (type(val)=="table") then - print(indent.."["..pos.."] => "..tostring(t).." {") - sub_print_r(val,indent..string.rep(" ",string.len(pos)+8)) - print(indent..string.rep(" ",string.len(pos)+6).."}") - elseif (type(val)=="string") then - print(indent.."["..pos..'] => "'..val..'"') - else - print(indent.."["..pos.."] => "..tostring(val)) - end - end - else - print(indent..tostring(t)) - end - end - end - if (type(t)=="table") then - print(tostring(t).." {") - sub_print_r(t," ") - print("}") - else - sub_print_r(t," ") - end - print() -end - --- Merges two tables and returns the resulting table. -function merge_tables(t1, t2) - local result = {} - for k,v in pairs(t1 or {}) do result[k] = v end - for k,v in pairs(t2 or {}) do result[k] = v end - return result -end - --- Merges to arrays and returns the resulting array. -function merge_arrays(t1, t2) - local result = {} - for k,v in pairs(t1 or {}) do result[#result + 1] = v end - for k,v in pairs(t2 or {}) do result[#result + 1] = v end - return result -end diff --git a/xenia-build.py b/xenia-build.py index a98c39e14..18388b4cf 100755 --- a/xenia-build.py +++ b/xenia-build.py @@ -413,7 +413,7 @@ def generate_version_h(): commit_short = ":(" # header - contents_new = f"""// Autogenerated by `xb premake`. + contents_new = f"""// Autogenerated by xenia-build.py. #ifndef GENERATED_VERSION_H_ #define GENERATED_VERSION_H_ #define XE_BUILD_BRANCH "{branch_name}" @@ -626,58 +626,31 @@ def get_clang_format_binary(): sys.exit(1) -def get_premake_target_os(target_os_override=None): - """Gets the target --os to pass to premake, either for the current platform - or for the user-specified cross-compilation target. +def run_cmake_configure(build_type="Release", cc=None): + """Runs cmake configure on the project. Args: - target_os_override: override specified by the user for cross-compilation, - or None to target the host platform. + build_type: Build configuration (Debug, Release, Checked). + cc: C compiler to use (e.g. 'clang', 'gcc'). Returns: - Target --os to pass to premake. If a return value of this function valid - for the current configuration is passed to it again, the same value will - be returned. - """ - if sys.platform == "darwin": - target_os = "macosx" - elif sys.platform == "win32": - target_os = "windows" - elif host_linux_platform_is_android: - target_os = "android" - else: - target_os = "linux" - if target_os_override and target_os_override != target_os: - if target_os_override == "android": - target_os = target_os_override - else: - print_error( - "cross-compilation is only supported for Android target") - sys.exit(1) - return target_os - - -def run_premake(target_os, action, cc=None): - """Runs premake on the main project with the given format. - - Args: - target_os: target --os to pass to premake. - action: action to perform. + Return code from cmake. """ args = [ - sys.executable, - os.path.join("tools", "build", "premake.py"), - "--file=premake5.lua", - f"--os={target_os}", - "--test-suite-mode=combined", - "--verbose", - action, + "cmake", + "-S", ".", + "-B", "build", + "-G", "Ninja Multi-Config", ] - if not cc: - cc = get_cc(cc=cc) - - if cc: - args.insert(4, f"--cc={cc}") + if sys.platform != "win32": + if not cc: + cc = get_cc(cc=cc) + c_compiler = cc or os.environ.get("CC", "clang") + cxx_compiler = (cc + "++") if cc else os.environ.get("CXX", "clang++") + args += [ + f"-DCMAKE_C_COMPILER={c_compiler}", + f"-DCMAKE_CXX_COMPILER={cxx_compiler}", + ] ret = subprocess.call(args) @@ -687,29 +660,6 @@ def run_premake(target_os, action, cc=None): return ret -def run_platform_premake(target_os_override=None, cc=None, devenv=None): - """Runs all gyp configurations. - """ - target_os = get_premake_target_os(target_os_override) - if not devenv: - if target_os == "macosx": - devenv = "xcode4" - elif target_os == "windows": - vs_version = os.getenv("VSVERSION", VSVERSION_MINIMUM) - # VS 2026 preview reports as vs18, map to vs2022 for premake - # as it doesn't yet have a vs2026 target - if vs_version == "18": - vs_version = "2022" - devenv = f"vs{vs_version}" - elif target_os == "android": - devenv = "androidndk" - else: - devenv = "cmake" - if not cc: - cc = get_cc(cc=cc) - return run_premake(target_os=target_os, action=devenv, cc=cc) - - def get_build_bin_path(args): """Returns the path of the bin/ path with build results based on the configuration specified in the parsed arguments. @@ -720,13 +670,10 @@ def get_build_bin_path(args): Returns: A full path for the bin folder. """ - if sys.platform == "darwin": - platform = "macosx" - elif sys.platform == "win32": - platform = "windows" - else: - platform = "linux" - return os.path.join(self_path, "build", "bin", platform.capitalize(), args["config"].capitalize()) + config = args["config"].title() + platform = "Windows" if sys.platform == "win32" else "Linux" + # Multi-config: build/bin// + return os.path.join(self_path, "build", "bin", platform, config) def create_clion_workspace(): @@ -743,7 +690,7 @@ def create_clion_workspace(): with open(os.path.join(".idea", "misc.xml"), "w") as f: f.write(""" - + @@ -845,9 +792,6 @@ class SetupCommand(Command): name="setup", help_short="Setup the build environment.", *args, **kwargs) - self.parser.add_argument( - "--target_os", default=None, - help="Target OS passed to premake, for cross-compilation") def execute(self, args, pass_args, cwd): print("Setting up the build environment...\n") @@ -859,8 +803,8 @@ class SetupCommand(Command): else: print_warning("Git not available or not a repository. Dependencies may be missing.") - print("\n- running premake...") - ret = run_platform_premake(target_os_override=args["target_os"]) + print("\n- running cmake configure...") + ret = run_cmake_configure() print_status(ResultStatus.SUCCESS if not ret else ResultStatus.FAILURE) return ret @@ -878,9 +822,6 @@ class PullCommand(Command): self.parser.add_argument( "--merge", action="store_true", help=f"Merges on {default_branch} instead of rebasing.") - self.parser.add_argument( - "--target_os", default=None, - help="Target OS passed to premake, for cross-compilation") def execute(self, args, pass_args, cwd): print("Pulling...\n") @@ -910,36 +851,29 @@ class PullCommand(Command): git_submodule_update() print("") - print("- running premake...") - if run_platform_premake(target_os_override=args["target_os"]) == 0: + print("- running cmake configure...") + if run_cmake_configure() == 0: print_status(ResultStatus.SUCCESS) return 0 class PremakeCommand(Command): - """'premake' command. + """'premake' command (now runs cmake configure). """ def __init__(self, subparsers, *args, **kwargs): super(PremakeCommand, self).__init__( subparsers, name="premake", - help_short="Runs premake to update all projects.", + help_short="Runs cmake configure to update all projects.", *args, **kwargs) self.parser.add_argument( - "--cc", choices=["clang", "gcc", "msc"], default=None, help="Compiler toolchain passed to premake") - self.parser.add_argument( - "--devenv", default=None, help="Development environment") - self.parser.add_argument( - "--target_os", default=None, - help="Target OS passed to premake, for cross-compilation") + "--cc", choices=["clang", "gcc", "msc"], default=None, help="Compiler toolchain") def execute(self, args, pass_args, cwd): - # Update premake. If no binary found, it will be built from source. - print("Running premake...\n") - ret = run_platform_premake(target_os_override=args["target_os"], - cc=args["cc"], devenv=args["devenv"]) + print("Running cmake configure...\n") + ret = run_cmake_configure(cc=args["cc"]) print_status(ResultStatus.SUCCESS if not ret else ResultStatus.FAILURE) return ret @@ -954,7 +888,7 @@ class BaseBuildCommand(Command): subparsers, *args, **kwargs) self.parser.add_argument( - "--cc", choices=["clang", "gcc", "msc"], default=None, help="Compiler toolchain passed to premake") + "--cc", choices=["clang", "gcc", "msc"], default=None, help="Compiler toolchain") self.parser.add_argument( "--config", choices=["checked", "debug", "release"], default="debug", type=str.lower, help="Chooses the build configuration.") @@ -966,69 +900,32 @@ class BaseBuildCommand(Command): help="Forces a full rebuild.") self.parser.add_argument( "--no_premake", action="store_true", - help="Skips running premake before building.") + help="Skips running cmake configure before building.") def execute(self, args, pass_args, cwd): + config = args["config"].title() + if not args["no_premake"]: - print("- running premake...") - run_platform_premake(cc=args["cc"]) + print("- running cmake configure...") + run_cmake_configure(build_type=config, cc=args["cc"]) print("") print("- building (%s):%s..." % ( "all" if not len(args["target"]) else ", ".join(args["target"]), args["config"])) - if sys.platform == "win32": - if not vs_version: - print_error("Visual Studio is not installed.") - result = 1 - else: - targets = None - if args["target"]: - targets = "/t:" + ";".join( - target + (":Rebuild" if args["force"] else "") - for target in args["target"]) - else: - targets = "/t:Rebuild" if args["force"] else None - - result = subprocess.call([ - "msbuild", - "build/xenia.sln", - "/nologo", - "/m", - "/v:m", - f"/p:Configuration={args['config']}", - ] + ([targets] if targets else []) + pass_args) - elif sys.platform == "darwin": - schemes = args["target"] or ["xenia-app"] - nested_args = [["-scheme", scheme] for scheme in schemes] - scheme_args = [arg for pair in nested_args for arg in pair] - result = subprocess.call([ - "xcodebuild", - "-workspace", - "build/xenia.xcworkspace", - "-configuration", - args["config"] - ] + scheme_args + pass_args, env=dict(os.environ)) - else: - result = subprocess.call([ - "cmake", - "-Sbuild", - f"-Bbuild/build_{args['config']}", - f"-DCMAKE_BUILD_TYPE={args['config'].title()}", - f"-DCMAKE_C_COMPILER={os.environ.get('CC', 'clang')}", - f"-DCMAKE_CXX_COMPILER={os.environ.get('CXX', 'clang++')}", - "-GNinja" - ] + pass_args, env=dict(os.environ)) - print("") - if result != 0: - print_error("cmake failed with one or more errors.") - return result - result = subprocess.call([ - "ninja", - f"-Cbuild/build_{args['config']}", - ] + pass_args, env=dict(os.environ)) - if result != 0: - print_error("ninja failed with one or more errors.") + build_args = [ + "cmake", + "--build", "build", + "--config", config, + ] + if args["target"]: + for target in args["target"]: + build_args += ["--target", target] + if args["force"]: + build_args += ["--clean-first"] + result = subprocess.call(build_args + pass_args) + if result != 0: + print_error("Build failed with one or more errors.") return result @@ -1653,14 +1550,13 @@ class CleanCommand(Command): name="clean", help_short="Removes intermediate files and build outputs.", *args, **kwargs) - self.parser.add_argument( - "--target_os", default=None, - help="Target OS passed to premake, for cross-compilation") def execute(self, args, pass_args, cwd): - print("Cleaning build artifacts...\n" - "- premake clean...") - run_premake(get_premake_target_os(args["target_os"]), "clean") + print("Cleaning build artifacts...") + # Clean all build directories + if os.path.isdir("build"): + print("- cleaning build...") + subprocess.call(["cmake", "--build", "build", "--target", "clean"]) # Also clean generated files clean_generated_files() @@ -1698,9 +1594,6 @@ class NukeCommand(Command): name="nuke", help_short="Removes all build/ output.", *args, **kwargs) - self.parser.add_argument( - "--target_os", default=None, - help="Target OS passed to premake, for cross-compilation") def execute(self, args, pass_args, cwd): print("Cleaning build artifacts...\n" @@ -1719,8 +1612,8 @@ class NukeCommand(Command): default_branch, ]) - print("\n- running premake...") - run_platform_premake(target_os_override=args["target_os"]) + print("\n- running cmake configure...") + run_cmake_configure() print_status(ResultStatus.SUCCESS) return 0 @@ -1963,15 +1856,11 @@ class TidyCommand(Command): self.parser.add_argument( "--fix", action="store_true", help="Applies suggested fixes, where possible.") - self.parser.add_argument( - "--target_os", default=None, - help="Target OS passed to premake, for cross-compilation") def execute(self, args, pass_args, cwd): - # Run premake to generate our compile_commands.json file for clang to use. - # TODO(benvanik): only do linux? whatever clang-tidy is ok with. - run_premake(get_premake_target_os(args["target_os"]), - "export-compile-commands") + # Run cmake configure to generate compile_commands.json for clang-tidy. + # Use Ninja generator which produces compile_commands.json by default. + run_cmake_configure() if sys.platform == "darwin": platform_name = "darwin" @@ -2030,9 +1919,6 @@ class StubCommand(Command): self.parser.add_argument( "--class", default=None, help="Generate a class pair (.cc/.h) at the provided location in the source tree") - self.parser.add_argument( - "--target_os", default=None, - help="Target OS passed to premake, for cross-compilation") def execute(self, args, pass_args, cwd): root = os.path.dirname(os.path.realpath(__file__)) @@ -2064,7 +1950,8 @@ class StubCommand(Command): print_error("Please specify a file/class to generate") return 1 - run_platform_premake(target_os_override=args["target_os"]) + # Reconfigure to pick up the new source file. + run_cmake_configure() return 0 class DevenvCommand(Command): @@ -2079,23 +1966,15 @@ class DevenvCommand(Command): *args, **kwargs) def execute(self, args, pass_args, cwd): - devenv = None - show_reload_prompt = False if sys.platform == "win32": if not vs_version: print_error("Visual Studio is not installed."); return 1 print("Launching Visual Studio...") - elif sys.platform == "darwin": - print("Launching Xcode...") - devenv = "xcode4" elif has_bin("clion") or has_bin("clion.sh"): print("Launching CLion...") - show_reload_prompt = create_clion_workspace() - devenv = "cmake" else: - print("Launching CodeLite...") - devenv = "codelite" + print("IDE not detected. CMakeLists.txt is in the project root.") print("\n- generating shaders...") shader_result = build_shaders() @@ -2103,37 +1982,30 @@ class DevenvCommand(Command): print_error("Shader generation failed") return shader_result - print("\n- running premake...") - run_platform_premake(devenv=devenv) + print("\n- running cmake configure...") + run_cmake_configure() print("\n- launching devenv...") - if show_reload_prompt: - print_box("Please run \"File ⇒ ↺ Reload CMake Project\" from inside the IDE!") if sys.platform == "win32": - shell_call([ - "devenv", - "build\\xenia.sln", - ]) - elif sys.platform == "darwin": - shell_call([ - "xed", - "build/xenia.xcworkspace", + # Generate a VS .sln for IDE use (normal builds still use Ninja) + vs_build_dir = os.path.join("build", "vs") + subprocess.call([ + "cmake", + "-S", ".", + "-B", vs_build_dir, + "-G", "Visual Studio 17 2022", + "-A", "x64", ]) + sln_path = os.path.join(vs_build_dir, "xenia.sln") + print(f"Opening {sln_path} in Visual Studio...") + shell_call(["devenv", sln_path]) elif has_bin("clion"): - shell_call([ - "clion", - ".", - ]) + shell_call(["clion", "."]) elif has_bin("clion.sh"): - shell_call([ - "clion.sh", - ".", - ]) + shell_call(["clion.sh", "."]) else: - shell_call([ - "codelite", - "build/xenia.workspace", - ]) + print("No supported IDE found. Open the project root in your IDE.") + print("CMakeLists.txt and CMakePresets.json are in the project root.") print("") return 0