From bb90ff8531b20279bcb62438e3ed9d49d65bfaa4 Mon Sep 17 00:00:00 2001 From: MegaMech Date: Fri, 7 Feb 2025 23:48:36 -0700 Subject: [PATCH 1/7] Fix Compile (#188) * Fix freecam rotation smoothing * Configure freecam controller * Fix cont z button and impl freecam on/off events * Add torch static comp * Fixed cmake * Copied yamls * Fixed cmake * Added github workflows * Update CMakeLists.txt --------- Co-authored-by: KiritoDv --- .github/workflows/linux-compile.yml | 58 ++++-- .github/workflows/macos-compile.yml | 41 ++--- .github/workflows/main.yml | 195 +++++++++++++++++++++ .github/workflows/windows-compile.yml | 33 ++-- CMakeLists.txt | 44 +---- port/assets/fonts/Fipps-Regular.otf | Bin 0 -> 34220 bytes port/assets/fonts/PressStart2P-Regular.ttf | Bin 0 -> 116008 bytes 7 files changed, 270 insertions(+), 101 deletions(-) create mode 100644 .github/workflows/main.yml create mode 100644 port/assets/fonts/Fipps-Regular.otf create mode 100644 port/assets/fonts/PressStart2P-Regular.ttf diff --git a/.github/workflows/linux-compile.yml b/.github/workflows/linux-compile.yml index b4c0b35b0..d29dc83a5 100644 --- a/.github/workflows/linux-compile.yml +++ b/.github/workflows/linux-compile.yml @@ -1,31 +1,51 @@ -name: Linux Compile test +name: Linux Validation on: - push: - branches: [ "*" ] - pull_request: - branches: [ "master" ] + pull_request: + branches: [ "*" ] jobs: build: - if: 0 runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 with: - submodules: "true" - - name: Get Complementary file - uses: actions/checkout@v4.1.1 - with: - path: complementary_file - repository: UnspaghettifyKart/action-build-private-file - ssh-key: ${{ secrets.LINUX_SSH_PRIVATE_KEY }} + submodules: recursive + - name: Update machine + run: sudo apt update - name: Install dependencies + run: sudo apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev libogg-dev libvorbis-dev + - name: Install latest SDL run: | - sudo apt install build-essential cmake pkg-config git binutils-mips-linux-gnu python3 zlib1g-dev libaudiofile-dev libcapstone-dev + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + wget https://www.libsdl.org/release/SDL2-2.24.1.tar.gz + tar -xzf SDL2-2.24.1.tar.gz + cd SDL2-2.24.1 + ./configure + make -j 10 + sudo make install + - name: Install latest tinyxml2 + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz + tar -xzf 10.0.0.tar.gz + cd tinyxml2-10.0.0 + mkdir -p build + cd build + cmake .. + make + sudo make install - name: Build run: | - cp -r complementary_file/* . - echo "${{ secrets.AES_KEY }}" | openssl enc -d -aes-256-cbc -pass stdin -pbkdf2 -in baserom.us.z64.aes -out baserom.us.z64 - make assets - make -j || ./first-diff.py \ No newline at end of file + cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release + cmake --build build-cmake -j + - name: Create Package + run: | + mkdir spaghetti-release + mv build-cmake/spaghetti spaghetti-release/ + - name: Publish packaged artifacts + uses: actions/upload-artifact@v4 + with: + name: spaghetti-linux-x64 + path: spaghetti-release + retention-days: 1 diff --git a/.github/workflows/macos-compile.yml b/.github/workflows/macos-compile.yml index 23fa71db7..18c7415bf 100644 --- a/.github/workflows/macos-compile.yml +++ b/.github/workflows/macos-compile.yml @@ -1,32 +1,29 @@ -name: Macos Compile test +name: MacOS Validation on: - push: - branches: [ "*" ] - pull_request: - branches: [ "master" ] + pull_request: + branches: [ "*" ] jobs: build: - if: 0 - runs-on: macos-latest + runs-on: macOS-latest steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 with: - submodules: "true" - - name: Get Complementary file - uses: actions/checkout@v4.1.1 - with: - path: complementary_file - repository: UnspaghettifyKart/action-build-private-file - ssh-key: ${{ secrets.MACOS_SSH_PRIVATE_KEY }} + submodules: recursive - name: Install dependencies - run: | - brew update - brew install python3 capstone coreutils make pkg-config tehzz/n64-dev/mips64-elf-binutils cmake + run: brew install sdl2 libpng glew ninja cmake libzip nlohmann-json tinyxml2 spdlog vorbis-tools - name: Build run: | - cp -r complementary_file/* . - echo "${{ secrets.AES_KEY }}" | openssl enc -d -aes-256-cbc -pass stdin -pbkdf2 -in baserom.us.z64.aes -out baserom.us.z64 - make assets - make -j \ No newline at end of file + cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release + cmake --build build-cmake -j + - name: Create Package + run: | + mkdir spaghetti-release + mv build-cmake/spaghetti spaghetti-release/ + - name: Publish packaged artifacts + uses: actions/upload-artifact@v4 + with: + name: spaghetti-mac-x64 + path: spaghetti-release + retention-days: 1 \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 000000000..965b2d34c --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,195 @@ +name: GenerateBuilds + +on: + push: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + generate-port-o2r: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install dependencies + run: sudo apt-get install gcc g++ git cmake ninja-build lsb-release + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2.13 + with: + key: ${{ runner.os }}-o2r-ccache-${{ github.ref }}-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-o2r-ccache-${{ github.ref }} + ${{ runner.os }}-o2r-ccache- + - name: Cache build folders + uses: actions/cache@v4 + with: + key: ${{ runner.os }}-o2r-build-${{ github.ref }}-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-o2r-build-${{ github.ref }} + ${{ runner.os }}-o2r-build- + path: | + torch/cmake-build-release + - name: Generate spaghetti.o2r + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + make -C torch type=release -j3 + torch/cmake-build-release/torch pack port spaghetti.o2r o2r + - uses: actions/upload-artifact@v4 + with: + name: spaghetti.o2r + path: spaghetti.o2r + retention-days: 1 + + build-windows: + needs: generate-port-o2r + runs-on: windows-2022 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - name: Build + run: | + cmake -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 -DCMAKE_BUILD_TYPE=Release + cmake --build ./build/x64 --config Release --parallel 10 + - name: Download spaghetti.o2r + uses: actions/download-artifact@v4 + with: + name: spaghetti.o2r + path: ./build/x64/Release + - name: Create Package + run: | + mkdir spaghetti-release + mv build/x64/Release/Spaghetti.exe spaghetti-release/ + mv build/x64/Release/spaghetti.o2r spaghetti-release/ + mv config.yml spaghetti-release/ + mv assets spaghetti-release/ + Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt" -OutFile "spaghetti-release/gamecontrollerdb.txt" + - name: Upload build + uses: actions/upload-artifact@v4 + with: + name: spaghetti-windows + path: spaghetti-release + + build-macos: + needs: generate-port-o2r + runs-on: macOS-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - name: Install dependencies + run: brew install sdl2 libpng glew ninja cmake libzip nlohmann-json tinyxml2 spdlog vorbis-tools + - name: Build + run: | + cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release + cmake --build build-cmake --config Release -j3 + - name: Download spaghetti.o2r + uses: actions/download-artifact@v4 + with: + name: spaghetti.o2r + path: ./build-cmake + - name: Create Package + run: | + mkdir spaghetti-release + mv build-cmake/Spaghetti spaghetti-release/ + mv build-cmake/spaghetti.o2r spaghetti-release/ + mv config.yml spaghetti-release/ + mv assets spaghetti-release/ + wget -O spaghetti-release/gamecontrollerdb.txt https://github.com/mdqinc/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt + - name: Publish packaged artifacts + uses: actions/upload-artifact@v4 + with: + name: spaghetti-mac-x64 + path: spaghetti-release + + build-linux: + needs: generate-port-o2r + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - name: Update machine + run: sudo apt update + - name: Install dependencies + run: sudo apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev libogg-dev libvorbis-dev + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2.14 + with: + key: linux-ccache-${{ github.ref }}-${{ github.sha }} + restore-keys: | + linux-ccache-${{ github.ref }} + linux-ccache- + - name: Cache build folders + uses: actions/cache@v4 + with: + key: linux-build-${{ github.ref }}-${{ github.sha }} + restore-keys: | + linux-build-${{ github.ref }} + linux-build- + path: | + SDL2-2.30.3 + tinyxml2-10.0.0 + libzip-1.10.1 + - name: Install latest SDL + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + if [ ! -d "SDL2-2.30.3" ]; then + wget https://www.libsdl.org/release/SDL2-2.30.3.tar.gz + tar -xzf SDL2-2.30.3.tar.gz + fi + cd SDL2-2.30.3 + ./configure --enable-hidapi-libusb + make -j 10 + sudo make install + sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ + - name: Install latest tinyxml2 + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz + tar -xzf 10.0.0.tar.gz + cd tinyxml2-10.0.0 + mkdir -p build + cd build + cmake .. + make + sudo make install + - name: Install libzip without crypto + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + if [ ! -d "libzip-1.10.1" ]; then + wget https://github.com/nih-at/libzip/releases/download/v1.10.1/libzip-1.10.1.tar.gz + tar -xzf libzip-1.10.1.tar.gz + fi + cd libzip-1.10.1 + mkdir -p build + cd build + cmake .. -DENABLE_COMMONCRYPTO=OFF -DENABLE_GNUTLS=OFF -DENABLE_MBEDTLS=OFF -DENABLE_OPENSSL=OFF + make + sudo make install + sudo cp -av /usr/local/lib/libzip* /lib/x86_64-linux-gnu/ + - name: Download spaghetti.o2r + uses: actions/download-artifact@v4 + with: + name: spaghetti.o2r + path: ./build-cmake + - name: Build + run: | + cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release + cmake --build build-cmake --config Release -j3 + (cd build-cmake && cpack -G External) + wget -O gamecontrollerdb.txt https://github.com/mdqinc/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt + mv README.md readme.txt + mv build-cmake/*.appimage spaghetti.appimage + - name: Upload build + uses: actions/upload-artifact@v4 + with: + name: Spaghetti-linux + path: | + spaghetti.appimage + config.yml + assets + gamecontrollerdb.txt diff --git a/.github/workflows/windows-compile.yml b/.github/workflows/windows-compile.yml index 28f3c4890..56ce1d294 100644 --- a/.github/workflows/windows-compile.yml +++ b/.github/workflows/windows-compile.yml @@ -1,32 +1,23 @@ -name: Windows Compile test +name: Windows Validation on: - push: - branches: [ "*" ] pull_request: - branches: [ "master" ] + branches: [ "*" ] jobs: build: - if: 0 runs-on: windows-2022 steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4 with: - submodules: "true" - - name: Get Complementary file - uses: actions/checkout@v4.1.1 - with: - path: complementary_file - repository: UnspaghettifyKart/action-build-private-file - ssh-key: ${{ secrets.WINDOWS_SSH_PRIVATE_KEY }} - - name: Install dependencies - run: | - Invoke-WebRequest https://github.com/coco875/mk64-tools/releases/download/v0.0.8/mips-tools-chain-windows.zip -OutFile mips-tools-chain-windows.zip - Expand-Archive mips-tools-chain-windows.zip -DestinationPath mips-tools-chain-windows - Copy-Item -Path mips-tools-chain-windows/mingw64 -Destination tools -Recurse + submodules: recursive - name: Build run: | - Copy-Item -Path complementary_file/* -Destination . -Recurse - echo "${{ secrets.AES_KEY }}" | openssl enc -d -aes-256-cbc -pass stdin -pbkdf2 -in baserom.us.z64.aes -out baserom.us.z64 - python tools/windows_build.py \ No newline at end of file + cmake -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 -DCMAKE_BUILD_TYPE=Release + cmake --build ./build/x64 + - name: Upload build + uses: actions/upload-artifact@v4 + with: + name: spaghetti-windows + path: ./build/x64/Debug + retention-days: 1 \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index fda59b51b..720370e78 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.16.0 FATAL_ERROR) # Set the project version and language project(Spaghettify VERSION 0.1.0 LANGUAGES C CXX ASM) +include(FetchContent) if(APPLE) enable_language(OBJCXX) @@ -23,11 +24,11 @@ include(FindFontconfig) include(cmake/lus-cvars.cmake) if (WIN32) -include(cmake/automate-vcpkg.cmake) +include(libultraship/cmake/automate-vcpkg.cmake) set(VCPKG_TRIPLET x64-windows-static) set(VCPKG_TARGET_TRIPLET x64-windows-static) vcpkg_bootstrap() -vcpkg_install_packages(zlib bzip2 libzip libpng sdl2 glew glfw3 nlohmann-json tinyxml2 spdlog libogg libvorbis) +vcpkg_install_packages(zlib bzip2 libzip libpng sdl2 sdl2-net glew glfw3 nlohmann-json tinyxml2 spdlog libogg libvorbis) set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${PROJECT_NAME}) set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) @@ -375,8 +376,8 @@ if(USE_NETWORKING) endif() find_package(SDL2_net REQUIRED) include_directories(${SDL2_NET_INCLUDE_DIRS}) - target_link_libraries(${PROJECT_NAME} PRIVATE SDL2_net::SDL2_net) - target_compile_definitions(${PROJECT_NAME} PRIVATE USE_NETWORKING) +# target_link_libraries(${PROJECT_NAME} PRIVATE SDL2_net::SDL2_net) +# target_compile_definitions(${PROJECT_NAME} PRIVATE USE_NETWORKING) endif() option(USE_STANDALONE "Build as a standalone executable" OFF) @@ -636,38 +637,3 @@ add_custom_target( COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/spaghetti.o2r" "${CMAKE_BINARY_DIR}/spaghetti.o2r" ) -if(CMAKE_SYSTEM_NAME MATCHES "Darwin") -add_custom_target(CreateOSXIcons - COMMAND mkdir -p ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset - COMMAND sips -z 16 16 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_16x16.png - COMMAND sips -z 32 32 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_16x16@2x.png - COMMAND sips -z 32 32 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_32x32.png - COMMAND sips -z 64 64 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_32x32@2x.png - COMMAND sips -z 128 128 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_128x128.png - COMMAND sips -z 256 256 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_128x128@2x.png - COMMAND sips -z 256 256 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_256x256.png - COMMAND sips -z 512 512 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_256x256@2x.png - COMMAND sips -z 512 512 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_512x512.png - COMMAND cp logo.png ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_512x512@2x.png - COMMAND iconutil -c icns -o ${CMAKE_BINARY_DIR}/macosx/spaghettikart.icns ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - COMMENT "Creating OSX icons ..." - ) - add_dependencies(${PROJECT_NAME} CreateOSXIcons) - configure_file("${CMAKE_SOURCE_DIR}/Info.plist" "${CMAKE_BINARY_DIR}/Info.plist" COPYONLY) -endif() - -set_property(TARGET ${PROJECT_NAME} PROPERTY APPIMAGE_DESKTOP_FILE_TERMINAL YES) -set_property(TARGET ${PROJECT_NAME} PROPERTY APPIMAGE_DESKTOP_FILE "${CMAKE_SOURCE_DIR}/SpaghettiKart.desktop") -set_property(TARGET ${PROJECT_NAME} PROPERTY APPIMAGE_ICON_FILE "${CMAKE_SOURCE_DIR}/logo.png") - -if(CMAKE_SYSTEM_NAME MATCHES "Linux") - set(CPACK_GENERATOR "External") -elseif(CMAKE_SYSTEM_NAME MATCHES "Windows|NintendoSwitch|CafeOS") - set(CPACK_GENERATOR "ZIP") -elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin") - set(CPACK_GENERATOR "Bundle") -endif() - -set(CPACK_PROJECT_CONFIG_FILE ${CMAKE_SOURCE_DIR}/cmake/configure-packaging.cmake) -include(cmake/packaging.cmake) \ No newline at end of file diff --git a/port/assets/fonts/Fipps-Regular.otf b/port/assets/fonts/Fipps-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..9334dad594277ba8339786217d75260e58436dc8 GIT binary patch literal 34220 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 z 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∓eYz|5P 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 Date: Fri, 7 Feb 2025 23:49:06 -0700 Subject: [PATCH 2/7] Compile works now (#189) --- CMakeLists.txt | 2 +- src/port/Engine.cpp | 92 ++++++++++++++++++++++++++++++++++++++++----- src/port/Engine.h | 24 +++++++++--- 3 files changed, 101 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 720370e78..0163296dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -235,6 +235,7 @@ file(DOWNLOAD "https://raw.githubusercontent.com/DLTcollab/sse2neon/refs/heads/m include_directories(${SSE2NEON_DIR}) #=================== DRLibs =================== +include(FetchContent) FetchContent_Declare( dr_libs GIT_REPOSITORY https://github.com/mackron/dr_libs.git @@ -636,4 +637,3 @@ add_custom_target( COMMAND ${TORCH_EXECUTABLE} pack port spaghetti.o2r o2r COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/spaghetti.o2r" "${CMAKE_BINARY_DIR}/spaghetti.o2r" ) - diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp index b180f3202..175f251e7 100644 --- a/src/port/Engine.cpp +++ b/src/port/Engine.cpp @@ -1,6 +1,7 @@ #include "Engine.h" #include "StringHelper.h" +#include "GameExtractor.h" #include "ui/ImguiUI.h" #include "libultraship/src/Context.h" #include "resource/type/ResourceType.h" @@ -44,22 +45,41 @@ float gInterpolationStep = 0.0f; GameEngine* GameEngine::Instance; GameEngine::GameEngine() { - std::vector OTRFiles; - if (const std::string spaghetti_path = Ship::Context::GetPathRelativeToAppDirectory("spaghetti.o2r"); - std::filesystem::exists(spaghetti_path)) { - OTRFiles.push_back(spaghetti_path); + std::vector archiveFiles; + + const std::string main_path = Ship::Context::GetPathRelativeToAppDirectory("spaghetti.o2r"); + const std::string assets_path = Ship::Context::GetPathRelativeToAppDirectory("ship.o2r"); + +#ifdef _WIN32 + AllocConsole(); +#endif + + if (std::filesystem::exists(main_path)) { + archiveFiles.push_back(main_path); + } else { + if (ShowYesNoBox("No O2R Files", "No O2R files found. Generate one now?") == IDYES) { + if(!GenAssetFile()){ + ShowMessage("Error", "An error occured, no O2R file was generated.\n\nExiting..."); + exit(1); + } else { + archiveFiles.push_back(main_path); + } + } else { + exit(1); + } } - if (const std::string ship_otr_path = Ship::Context::GetPathRelativeToAppBundle("ship.o2r"); - std::filesystem::exists(ship_otr_path)) { - OTRFiles.push_back(ship_otr_path); + + if (std::filesystem::exists(assets_path)) { + archiveFiles.push_back(assets_path); } + if (const std::string patches_path = Ship::Context::GetPathRelativeToAppDirectory("mods"); !patches_path.empty() && std::filesystem::exists(patches_path)) { if (std::filesystem::is_directory(patches_path)) { for (const auto& p : std::filesystem::recursive_directory_iterator(patches_path)) { auto ext = p.path().extension().string(); if (StringHelper::IEquals(ext, ".otr") || StringHelper::IEquals(ext, ".o2r")) { - OTRFiles.push_back(p.path().generic_string()); + archiveFiles.push_back(p.path().generic_string()); } } } @@ -73,13 +93,13 @@ GameEngine::GameEngine() { auto controlDeck = std::make_shared(); - this->context->InitResourceManager(OTRFiles, {}, 3); // without this line InitWindow fails in Gui::Init() + this->context->InitResourceManager(archiveFiles, {}, 3); // without this line InitWindow fails in Gui::Init() this->context->InitConsole(); // without this line the GuiWindow constructor fails in ConsoleWindow::InitElement() auto wnd = std::make_shared(std::vector>({})); //auto wnd = std::dynamic_pointer_cast(Ship::Context::GetInstance()->GetWindow()); - this->context->Init(OTRFiles, {}, 3, { 26800, 512, 1100 }, wnd, controlDeck); + this->context->Init(archiveFiles, {}, 3, { 26800, 512, 1100 }, wnd, controlDeck); // this->context = Ship::Context::CreateInstance("Spaghettify", "skart64", "spaghettify.cfg.json", OTRFiles, {}, 3, @@ -152,6 +172,58 @@ GameEngine::GameEngine() { ImGui::GetIO().FontDefault = fontMono; } +bool GameEngine::GenAssetFile() { + auto extractor = new GameExtractor(); + + if (!extractor->SelectGameFromUI()) { + ShowMessage("Error", "No ROM selected.\n\nExiting..."); + exit(1); + } + + auto game = extractor->ValidateChecksum(); + if (!game.has_value()) { + ShowMessage("Unsupported ROM", "The provided ROM is not supported.\n\nCheck the readme for a list of supported versions."); + exit(1); + } + + ShowMessage(("Found " + game.value()).c_str(), "The extraction process will now begin.\n\nThis may take a few minutes.", SDL_MESSAGEBOX_INFORMATION); + + return extractor->GenerateOTR(); +} + +void GameEngine::ShowMessage(const char* title, const char* message, SDL_MessageBoxFlags type) { + #if defined(__SWITCH__) + SPDLOG_ERROR(message); + #else + SDL_ShowSimpleMessageBox(type, title, message, nullptr); + SPDLOG_ERROR(message); + #endif +} + +int GameEngine::ShowYesNoBox(const char* title, const char* box) { + int ret; +#ifdef _WIN32 + ret = MessageBoxA(nullptr, box, title, MB_YESNO | MB_ICONQUESTION); +#else + SDL_MessageBoxData boxData = { 0 }; + SDL_MessageBoxButtonData buttons[2] = { { 0 } }; + + buttons[0].buttonid = IDYES; + buttons[0].text = "Yes"; + buttons[0].flags = SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT; + buttons[1].buttonid = IDNO; + buttons[1].text = "No"; + buttons[1].flags = SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT; + boxData.numbuttons = 2; + boxData.flags = SDL_MESSAGEBOX_INFORMATION; + boxData.message = box; + boxData.title = title; + boxData.buttons = buttons; + SDL_ShowMessageBox(&boxData, &ret); +#endif + return ret; +} + void GameEngine::Create() { const auto instance = Instance = new GameEngine(); instance->AudioInit(); diff --git a/src/port/Engine.h b/src/port/Engine.h index 0b5d7943e..d116a4f81 100644 --- a/src/port/Engine.h +++ b/src/port/Engine.h @@ -1,15 +1,24 @@ #pragma once -#define LOAD_ASSET(path) \ - (path == NULL ? NULL \ - : (GameEngine_OTRSigCheck((const char*) path) ? ResourceGetDataByName((const char*) path) : path)) -#define LOAD_ASSET_RAW(path) ResourceGetDataByName((const char*) path) -#ifdef __cplusplus -#include +#define LOAD_ASSET(path) \ +(path == NULL ? NULL \ + : (GameEngine_OTRSigCheck((const char*) path) ? ResourceGetDataByName((const char*) path) : path)) + #define LOAD_ASSET_RAW(path) ResourceGetDataByName((const char*) path) + + #ifdef __cplusplus + #include + #include #include #include "libultraship/src/Context.h" +#ifndef IDYES +#define IDYES 6 +#endif +#ifndef IDNO +#define IDNO 7 +#endif + #define SAMPLES_HIGH 448 #define SAMPLES_LOW 432 #define AUDIO_FRAMES_PER_UPDATE 2 @@ -38,6 +47,7 @@ class GameEngine { std::unordered_map bankMapTable; GameEngine(); + static bool GenAssetFile(); static void Create(); void AudioInit(); @@ -52,6 +62,8 @@ class GameEngine { static void Destroy(); static void ProcessGfxCommands(Gfx* commands); static uint8_t GetBankIdByName(const std::string& name); + static int ShowYesNoBox(const char* title, const char* box); + static void ShowMessage(const char* title, const char* message, SDL_MessageBoxFlags type = SDL_MESSAGEBOX_ERROR); float OTRGetAspectRatio(void); float OTRGetDimensionFromLeftEdge(float v); float OTRGetDimensionFromRightEdge(float v); From f5158c8d4c3548dbf937a87852b990e0c0adcc61 Mon Sep 17 00:00:00 2001 From: KiritoDv Date: Sat, 8 Feb 2025 10:46:29 -0600 Subject: [PATCH 3/7] Updating README.md --- README.md | 137 +++++++++----------- docs/BUILDING.md | 221 ++++++++++++++++++++++++++++++++ docs/PORT-BUILDING.md | 92 ------------- docs/poweredbylus.darkmode.png | Bin 0 -> 213165 bytes docs/poweredbylus.lightmode.png | Bin 0 -> 210989 bytes 5 files changed, 282 insertions(+), 168 deletions(-) create mode 100644 docs/BUILDING.md delete mode 100644 docs/PORT-BUILDING.md create mode 100644 docs/poweredbylus.darkmode.png create mode 100644 docs/poweredbylus.lightmode.png diff --git a/README.md b/README.md index ecb73561d..75aa4ef44 100644 --- a/README.md +++ b/README.md @@ -1,101 +1,86 @@ -# Mario Kart 64 -This work-in-progress decompilation of Mario Kart 64 pursues historical and educational elements within the game found via taking it apart and putting it back together. Inspiration to do so not only emanates from the game's hardware and technology but also its immensely positive effects on the cultures and families of nearly every nationality. +[comment]: <> (Todo: Make Light Mode Image) +[comment]: <> (Todo: Make Dark Mode Image) -This repository does not contain assets. Compiling requires asset extraction from a prior copy of the game. +# SpaghettiKart -It supports and builds the following versions: +Developed by: +* [MegaMech](https://www.github.com/MegaMech) +* [Coco](https://www.github.com/coco875) -| ROM Output | Revision| SHA-1 Checksum | -|-------------------|---------|------------------------------------------| -| mk64.us.z64 | USA | 579c48e211ae952530ffc8738709f078d5dd215e | -| mk64.eu-1.0.z64 | EUR 1.0 | a729039453210b84f17019dda3f248d5888f7690 | -| mk64.eu-final.z64 | EUR 1.1 | f6b5f519dd57ea59e9f013cc64816e9d273b2329 | +## Discord -[![Linux Compile](https://github.com/n64decomp/mk64/actions/workflows/linux-compile.yml/badge.svg)](https://github.com/n64decomp/mk64/actions/workflows/linux-compile.yml) +Official Discord: https://discord.com/invite/shipofharkinian -## Progress +If you're having any trouble after reading through this `README`, feel free ask for help in the SpaghettiKart Support text channels. Please keep in mind that we do not condone piracy. -Total progress consists of all code segments together. +# Quick Start -Game code progress consists of `main`, `ending` and `racing`. +SpaghettiKart does not include any copyrighted assets. You are required to provide a supported copy of the game. -![Build Status](https://n64decomp.github.io/mk64/total_progress.svg) -![Build Status](https://n64decomp.github.io/mk64/game_progress.svg) +### 1. Verify your ROM dump +The supported ROM is the USA 1.1 Rev A version. You can verify you have dumped a supported copy of the game by using the SHA-1 File Checksum Online at https://www.romhacking.net/hash/. The hash for a US 1.1 ROM is SHA-1: 09F0D105F476B00EFA5303A3EBC42E60A7753B7A. -![Build Status](https://n64decomp.github.io/mk64/asm_funcs.svg) -![Build Status](https://n64decomp.github.io/mk64/m2c_funcs.svg) -![Build Status](https://n64decomp.github.io/mk64/nonmatching_funcs.svg) +### 2. Verify your ROM is in .z64 format +Your ROM needs to be in .z64 format. If it's in .n64 format, use the following to convert it to a .z64: https://hack64.net/tools/swapper.php -- ![Build Status](https://n64decomp.github.io/mk64/seg_main_progress.svg) -- ![Build Status](https://n64decomp.github.io/mk64/seg_ending_progress.svg) -- ![Build Status](https://n64decomp.github.io/mk64/seg_racing_progress.svg) -- ![Build Status](https://n64decomp.github.io/mk64/audio_progress.svg) -- ![Build Status](https://n64decomp.github.io/mk64/libultra_progress.svg) +### 2. Download SpaghettiKart from [Releases](https://github.com/HarbourMasters/SpaghettiKart/releases) -## Quick Start +### 3. Generating the O2R from the ROM +#### Windows +* Extract every file from the zip into a folder of your choosing. +* Copy your ROM to the root of the folder you extracted the zip to. +* Run "generate_o2r.bat" -``` -git submodule update --init --recursive -``` -Extract assets -``` -make assets -j -make -j -``` +#### MacOS +* Extract every file from the zip into a folder of your choosing. +* Copy your ROM to the root of the folder you extracted the zip to. +* Run "generate_o2r.sh" -## Building +### 4. Play! +* Launch `SpaghettiKart.exe` +Congratulations, you are now sailing with SpaghettiKart! Have fun! -Build instructions located in the [API docs](https://n64decomp.github.io/mk64/compiling.html) -See also, the comprehensive API and documentation which includes an overview of the code-base while also discussing significant concepts, features, and modding. +# Configuration -## Current State +### Default keyboard configuration +| N64 | A | B | Z | Start | Analog stick | C buttons | D-Pad | +| - | - | - | - | - | - | - | - | +| Keyboard | X | C | Z | Space | WASD | Arrow keys | TFGH | -The code-base may change significanty overtime as naming and documentation continues. The code-base is shiftable. +### Other shortcuts +| Keys | Action | +| - | - | +| F1 | Toggle menubar | +| F11 | Fullscreen | +| Tab | Toggle Alternate assets | +| Ctrl+R | Reset | -Some menu textures are compressed using a format called tkmk00. A byte-matching compressor/decompressor does not yet exist. +### Graphics Backends +Currently, there are three rendering APIs supported: DirectX11 (Windows), OpenGL (all platforms), and Metal (macOS). You can change which API to use in the `Settings` menu of the menubar, which requires a restart. If you're having an issue with crashing, you can change the API in the `spaghettify.cfg.json` file by finding the line `"Backend":{`... and changing the `id` value to `3` and set the `Name` to `OpenGL`. `DirectX 11` with id `2` is the default on Windows. `Metal` with id `4` is the default on macOS. -## Project Structure - - mk64 - ├── asm: Handwritten assembly code, rom header and boot - │ ├── non_matchings: Assembly for non-matching sections - │ └── os: Libultra handwritten assembly code - ├── assets: Textures - ├── courses: Course data, geography, display lists and staff ghosts - ├── build: Output directory - ├── data: Misc data, text, audio banks, and instrument sets - ├── docs: Build guides - ├── include: Header files - ├── music: Sequences - ├── src: C source code for the game - | ├── actors: Individual actors split out from other files - │ ├── audio: Sample tables and audio code - │ ├── data: Misc data referenced in other C files - | ├── debug: Custom debug code - | ├── ending: Podium ceremony and credits code - │ ├── os: Libultra C code - | └── racing: Race and game engine code - ├── textures: Texture data, bitmaps - | ├── common: Textures common to many courses - | ├── courses: Course specific textures - | ├── crash screen: Crash screen font image - │ ├── raw: Raw textures - │ ├── standalone: Whole textures - | ├── startup_logo: Reflection map - | └── trophy: Ceremony cutscene podium and trophy textures - └── tools: build tools +# Custom Assets +Custom assets are packed in `.o2r` or `.otr` files. To use custom assets, place them in the `mods` folder. -## Documentation +If you're interested in creating and/or packing your own custom asset `.o2r`/`.otr` files, check out the following tools: +* [**retro - OTR and O2R generator**](https://github.com/HarbourMasters64/retro) +* [**fast64 - Blender plugin (Note that SF64 is not supported at this time)**](https://github.com/HarbourMasters/fast64) -Documentation available online at [https://n64decomp.github.io/mk64/](https://n64decomp.github.io/mk64/). +# Development +### Building -Documentation generated using [Doxygen](https://www.doxygen.nl/index.html). Run `make doc` to test locally. Documentation resides in `docs/html`. Open index.html to view the site. +If you want to manually compile SpaghettiKart, please consult the [building instructions](https://github.com/HarbourMasters/SpaghettiKart/blob/main/docs/BUILDING.md). -## Contributing +### Playtesting +If you want to playtest a continuous integration build, you can find them at the links below. Keep in mind that these are for playtesting only, and you will likely encounter bugs and possibly crashes. -Pull requests are welcome. For major changes, please discuss in the Discord. +* [Windows](https://nightly.link/HarbourMasters/SpaghettiKart/workflows/main/main/spaghettify-windows.zip) +* [macOS](https://nightly.link/HarbourMasters/SpaghettiKart/workflows/main/main/spaghettify-mac-x64.zip) +* [Linux](https://nightly.link/HarbourMasters/SpaghettiKart/workflows/main/main/SpaghettiKart-linux.zip) -Run `make format` to ensure it meets the project's coding standards. -If code needs to avoid formatting place `// clang-format off` before the code and `// clang-format on` after. -Official Discord: [discord.gg/DuYH3Fh](https://discord.gg/DuYH3Fh) + + + + Powered by libultraship + + \ No newline at end of file diff --git a/docs/BUILDING.md b/docs/BUILDING.md new file mode 100644 index 000000000..f1033b9fe --- /dev/null +++ b/docs/BUILDING.md @@ -0,0 +1,221 @@ +# Building Starship + +## Windows + +Requires: + * At least 8GB of RAM (machines with 4GB have seen complier failures) + * Visual Studio 2022 Community Edition with the C++ feature set + * One of the Windows SDKs that comes with Visual Studio, for example the current Windows 10 version 10.0.19041.0 + * The `MSVC v143 - VS 2022 C++ build tools` component of Visual Studio + * Python 3 (can be installed manually or as part of Visual Studio) + * Git (can be installed manually or as part of Visual Studio) + * Cmake (can be installed via chocolatey or manually) + +During installation, check the "Desktop development with C++" feature set: + +![image](https://user-images.githubusercontent.com/30329717/183511274-d11aceea-7900-46ec-acb6-3f2cc110021a.png) +Doing so should also check one of the Windows SDKs by default. Then, in the installation details in the right-hand column, make sure you also check the v143 toolset. This is often done by default. + +It is recommended that you install Python and Git standalone, the install process in VS Installer has given some issues in the past. + +1. Clone the Starship repository + +_Note: Be sure to either clone with the ``--recursive`` flag or do ``git submodule update --init`` after cloning to pull in the libultraship submodule!_ + +2. After setup and initial build, use the built-in OTR extraction to make your sf64.o2r file. + +_Note: Instructions assume using powershell_ +```powershell +# Navigate to the spaghetti repo within powershell. ie: cd "C:\yourpath\spaghetti" +cd spaghetti + +# Setup cmake project +# Add `-DCMAKE_BUILD_TYPE:STRING=Release` if you're packaging +& 'C:\Program Files\CMake\bin\cmake' -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 + +# Generate sf64.o2r +& 'C:\Program Files\CMake\bin\cmake.exe' --build .\build\x64 --target ExtractAssets + +# Compile project +# Add `--config Release` if you're packaging +& 'C:\Program Files\CMake\bin\cmake.exe' --build .\build\x64 + +# Now you can run the executable in .\build\x64 or run in Visual Studio +``` + +### Developing Starship +With the cmake build system you have two options for working on the project: + +#### Visual Studio +To develop using Visual Studio you only need to use cmake to generate the solution file: +```powershell +# Generates spaghetti.sln at `build/x64` for Visual Studio 2022 +& 'C:\Program Files\CMake\bin\cmake' -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 +``` + +#### Visual Studio Code or another editor +To develop using Visual Studio Code or another editor you only need to open the repository in it. +To build you'll need to follow the instructions from the building section. + +_Note: If you're using Visual Studio Code, the [cpack plugin](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) makes it very easy to just press run and debug._ + +_Experimental: You can also use another build system entirely rather than MSVC like [Ninja](https://ninja-build.org/) for possibly better performance._ + + +### Generating the distributable +After compiling the project you can generate the distributable by running: +```powershell +# Go to build folder +cd "build/x64" +# Generate +& 'C:\Program Files\CMake\bin\cpack.exe' -G ZIP +``` + +### Additional CMake Targets +#### Clean +```powershell +# If you need to clean the project you can run +C:\Program Files\CMake\bin\cmake.exe --build build-cmake --target clean +``` + +## Linux +### Install dependencies +#### Debian/Ubuntu +```sh +# using gcc +apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev libogg-dev ibvorbis-dev + +# or using clang +apt-get install clang git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev libogg-dev libvorbis-dev +``` +#### Arch +```sh +# using gcc +pacman -S gcc git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net boost libogg libvorbis + +# or using clang +pacman -S clang git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net boost libogg libvorbis +``` +#### Fedora +```sh +# using gcc +dnf install gcc gcc-c++ git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools nlohmann-json-devel tinyxml2-devel spdlog-devel boost-devel libogg-devel libvorbis-devel + +# or using clang +dnf install clang git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools nlohmann-json-devel tinyxml2-devel spdlog-devel boost-devel libogg-devel libvorbis-devel +``` +#### openSUSE +```sh +# using gcc +zypper in gcc gcc-c++ git cmake ninja SDL2-devel libpng16-devel libzip-devel libzip-tools nlohmann_json-devel tinyxml2-devel spdlog-devel libogg-devel libvorbis-devel + +# or using clang +zypper in clang libstdc++-devel git cmake ninja SDL2-devel libpng16-devel libzip-devel libzip-tools nlohmann_json-devel tinyxml2-devel spdlog-devel libogg-devel libvorbis-devel +``` + +### Build + +_Note: If you're using Visual Studio Code, the [CMake Tools plugin](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) makes it very easy to just press run and debug._ + +```bash +# Clone the repo and enter the directory +git clone https://github.com/HarbourMasters/SpaghettiKart.git +cd SpaghettiKart + +# Clone the submodules +git submodule update --init + +# Generate Ninja project +# Add `-DCMAKE_BUILD_TYPE:STRING=Release` if you're packaging +# Add `-DPython3_EXECUTABLE=$(which python3)` if you are using non-standard Python installations such as PyEnv +cmake -H. -Bbuild-cmake -GNinja + +# Generate sf64.o2r +cmake --build build-cmake --target ExtractAssets + +# Compile the project +# Add `--config Release` if you're packaging +cmake --build build-cmake + +# Now you can run the executable in ./build-cmake/mm/2s2h.elf +# To develop the project open the repository in VSCode (or your preferred editor) +``` + +### Generate a distributable +After compiling the project you can generate a distributable by running of the following: +```bash +# Go to build folder +cd build-cmake +# Generate +cpack -G DEB +cpack -G ZIP +cpack -G External (creates appimage) +``` + +### Additional CMake Targets +#### Clean +```bash +# If you need to clean the project you can run +cmake --build build-cmake --target clean +``` + +## macOS +Requires Xcode (or xcode-tools) && `sdl2, libpng, glew, ninja, cmake, nlohmann-json, libzip, vorbis-tools` (can be installed via homebrew, macports, etc) + +**Important: For maximum performance make sure you have ninja build tools installed!** + +_Note: If you're using Visual Studio Code, the [cpack plugin](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) makes it very easy to just press run and debug._ + +```bash +# Clone the repo +git clone https://github.com/HarbourMasters/SpaghettiKart.git +cd SpaghettiKart +# Clone the submodule libultraship +git submodule update --init + +# Generate Ninja project +# Add `-DCMAKE_BUILD_TYPE:STRING=Release` if you're packaging +cmake -H. -Bbuild-cmake -GNinja + +# Generate sf64.o2r +cmake --build build-cmake --target ExtractAssets + +# Compile the project +# Add `--config Release` if you're packaging +cmake --build build-cmake + +# Now you can run the executable file: +./build-cmake/mm/spaghetti-macos +# To develop the project open the repository in VSCode (or your preferred editor) +``` + +### Generating a distributable +After compiling the project you can generate a distributable by running of the following: +```bash +# Go to build folder +cd build-cmake +# Generate +cpack +``` + +### Additional CMake Targets +#### Clean +```bash +# If you need to clean the project you can run +cmake --build build-cmake --target clean +``` + +# Compatible Roms +See [`supportedHashes.json`](supportedHashes.json) + +## Getting CI to work on your fork + +The CI works via [Github Actions](https://github.com/features/actions) where we mostly make use of machines hosted by Github; except for the very first step of the CI process called "Extract assets". This steps extracts assets from the game file and generates an "assets" folder in `mm/`. + +To get this step working on your fork, you'll need to add a machine to your own repository as a self-hosted runner via "Settings > Actions > Runners" in your repository settings. Make sure to add the 'asset-builder' tag to your newly added runner to assign it to run this step. To setup your runner as a service read the docs [here](https://docs.github.com/en/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service?platform=linux). + +### Runner on Windows +You'll have to enable the ability to run unsigned scripts through PowerShell. To do this, open Powershell as administrator and run `set-executionpolicy remotesigned`. Most dependencies get installed as part of the CI process. You will also need to separately install 7z and add it to the PATH so `7z` can be run as a command. [Chocolatey](https://chocolatey.org/) or other package managers can be used to install it easily. + +### Runner on UNIX systems +If you're on macOS or Linux take a look at `macports-deps.txt` or `apt-deps.txt` to see the dependencies expected to be on your machine. diff --git a/docs/PORT-BUILDING.md b/docs/PORT-BUILDING.md deleted file mode 100644 index a586ff33b..000000000 --- a/docs/PORT-BUILDING.md +++ /dev/null @@ -1,92 +0,0 @@ -If you have some problem to get it setup you can refer to [https://github.com/HarbourMasters/Shipwright/blob/develop/docs/BUILDING.md](https://github.com/HarbourMasters/Shipwright/blob/develop/docs/BUILDING.md) - -# Contribute - -## Github -1) Fork -2) Create a new branch -3) `git clone --branch ` - -4) Place baserom.us.z64 in root. -5) `git submodule update --init` -6) copy from mk64 assets/course in assets - -# Windows - -## Setup -```bat -& 'C:\Program Files\CMake\bin\cmake' -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 -``` - -## Extract Assets -```bat -& 'C:\Program Files\CMake\bin\cmake' --build "build/x64" --target ExtractAssets -``` - -## Compile -```bat -& 'C:\Program Files\CMake\bin\cmake.exe' --build .\build\x64 -``` - -## Clean -```bat -& 'C:\Program Files\CMake\bin\cmake.exe' --build .\build\x64 --target clean -``` - -# Linux -## Install dependencies -### Debian/Ubuntu -(not tried) -```sh -# using gcc -apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev - -# or using clang -apt-get install clang git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev -``` -### Arch -(not tried) -```sh -# using gcc -pacman -S gcc git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net boost - -# or using clang -pacman -S clang git cmake ninja lsb-release sdl2 libpng libzip nlohmann-json tinyxml2 spdlog sdl2_net boost -``` -### Fedora -```sh -# using gcc -dnf install gcc gcc-c++ git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools json-devel tinyxml2-devel spdlog-devel boost-devel SDL2_net-devel - -# or using clang -dnf install clang git cmake ninja-build lsb_release SDL2-devel libpng-devel libzip-devel libzip-tools json-devel tinyxml2-devel spdlog-devel boost-devel SDL2_net-devel -``` -### openSUSE -(not tried) -```sh -# using gcc -zypper in gcc gcc-c++ git cmake ninja SDL2-devel libpng16-devel libzip-devel libzip-tools nlohmann_json-devel tinyxml2-devel spdlog-devel - -# or using clang -zypper in clang libstdc++-devel git cmake ninja SDL2-devel libpng16-devel libzip-devel libzip-tools nlohmann_json-devel tinyxml2-devel spdlog-devel -``` - -## Setup -```bash -cmake -H. -Bbuild-cmake -GNinja -``` - -## Extract Assets -```bash -cmake --build build-cmake --target ExtractAssets -``` - -## Compile -```bash -cmake --build build-cmake -``` - -## Clean -```bash -cmake --build build-cmake --target clean -``` \ No newline at end of file diff --git a/docs/poweredbylus.darkmode.png b/docs/poweredbylus.darkmode.png new file mode 100644 index 0000000000000000000000000000000000000000..2e2660814fdc04be71c078bd4e12800849de5394 GIT binary patch literal 213165 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 z

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 XE#MDywVZnl{iC6(rIPiB`OW_WIlKFS literal 0 HcmV?d00001 diff --git a/docs/poweredbylus.lightmode.png b/docs/poweredbylus.lightmode.png new file mode 100644 index 0000000000000000000000000000000000000000..740675417b594e406d85069d54574f1dceadd7b8 GIT binary patch literal 210989 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 PU&=nkg9`C~=wA9Cm#!~S literal 0 HcmV?d00001 From 844777c39990e160fd89df99735e52835c972cb3 Mon Sep 17 00:00:00 2001 From: KiritoDv Date: Sat, 8 Feb 2025 10:47:33 -0600 Subject: [PATCH 4/7] Updated hash --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 75aa4ef44..2f9c0ecaf 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ If you're having any trouble after reading through this `README`, feel free ask SpaghettiKart does not include any copyrighted assets. You are required to provide a supported copy of the game. ### 1. Verify your ROM dump -The supported ROM is the USA 1.1 Rev A version. You can verify you have dumped a supported copy of the game by using the SHA-1 File Checksum Online at https://www.romhacking.net/hash/. The hash for a US 1.1 ROM is SHA-1: 09F0D105F476B00EFA5303A3EBC42E60A7753B7A. +The supported ROM is the USA 1.1 Rev A version. You can verify you have dumped a supported copy of the game by using the SHA-1 File Checksum Online at https://www.romhacking.net/hash/. The hash for a US 1.0 ROM is SHA-1: 579C48E211AE952530FFC8738709F078D5DD215E. ### 2. Verify your ROM is in .z64 format Your ROM needs to be in .z64 format. If it's in .n64 format, use the following to convert it to a .z64: https://hack64.net/tools/swapper.php From 91292d37574d8a5f8542a3cb4bb8fd36bd3da200 Mon Sep 17 00:00:00 2001 From: KiritoDv Date: Sat, 8 Feb 2025 10:54:19 -0600 Subject: [PATCH 5/7] Updated cmake again --- .gitignore | 1 - CMakeLists.txt | 43 +- cmake/automate-vcpkg.cmake | 191 ++++ cmake/configure-packaging.cmake | 29 + cmake/ios.toolchain.cmake | 1122 ++++++++++++++++++++++ cmake/modules/FindOgg.cmake | 61 ++ cmake/modules/FindPulseAudio.cmake | 34 + cmake/modules/FindVorbis.cmake | 197 ++++ cmake/modules/FindlibUsb.cmake | 48 + cmake/modules/Findudev.cmake | 84 ++ cmake/packaging.cmake | 90 ++ cmake/toolchain-x86_64-w64-mingw32.cmake | 26 + 12 files changed, 1921 insertions(+), 5 deletions(-) create mode 100644 cmake/automate-vcpkg.cmake create mode 100644 cmake/configure-packaging.cmake create mode 100644 cmake/ios.toolchain.cmake create mode 100644 cmake/modules/FindOgg.cmake create mode 100644 cmake/modules/FindPulseAudio.cmake create mode 100644 cmake/modules/FindVorbis.cmake create mode 100644 cmake/modules/FindlibUsb.cmake create mode 100644 cmake/modules/Findudev.cmake create mode 100644 cmake/packaging.cmake create mode 100644 cmake/toolchain-x86_64-w64-mingw32.cmake diff --git a/.gitignore b/.gitignore index 433f2aa0f..d7a173155 100644 --- a/.gitignore +++ b/.gitignore @@ -111,7 +111,6 @@ mingw64/ # torch torch.hash.yml build* -cmake* .idea # the game diff --git a/CMakeLists.txt b/CMakeLists.txt index 0163296dc..ea87f7ffe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,7 +24,7 @@ include(FindFontconfig) include(cmake/lus-cvars.cmake) if (WIN32) -include(libultraship/cmake/automate-vcpkg.cmake) +include(cmake/automate-vcpkg.cmake) set(VCPKG_TRIPLET x64-windows-static) set(VCPKG_TARGET_TRIPLET x64-windows-static) vcpkg_bootstrap() @@ -235,7 +235,6 @@ file(DOWNLOAD "https://raw.githubusercontent.com/DLTcollab/sse2neon/refs/heads/m include_directories(${SSE2NEON_DIR}) #=================== DRLibs =================== -include(FetchContent) FetchContent_Declare( dr_libs GIT_REPOSITORY https://github.com/mackron/dr_libs.git @@ -377,8 +376,8 @@ if(USE_NETWORKING) endif() find_package(SDL2_net REQUIRED) include_directories(${SDL2_NET_INCLUDE_DIRS}) -# target_link_libraries(${PROJECT_NAME} PRIVATE SDL2_net::SDL2_net) -# target_compile_definitions(${PROJECT_NAME} PRIVATE USE_NETWORKING) + # target_link_libraries(${PROJECT_NAME} PRIVATE SDL2_net::SDL2_net) + # target_compile_definitions(${PROJECT_NAME} PRIVATE USE_NETWORKING) endif() option(USE_STANDALONE "Build as a standalone executable" OFF) @@ -637,3 +636,39 @@ add_custom_target( COMMAND ${TORCH_EXECUTABLE} pack port spaghetti.o2r o2r COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/spaghetti.o2r" "${CMAKE_BINARY_DIR}/spaghetti.o2r" ) + +if(CMAKE_SYSTEM_NAME MATCHES "Darwin") +add_custom_target(CreateOSXIcons + COMMAND mkdir -p ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset + COMMAND sips -z 16 16 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_16x16.png + COMMAND sips -z 32 32 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_16x16@2x.png + COMMAND sips -z 32 32 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_32x32.png + COMMAND sips -z 64 64 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_32x32@2x.png + COMMAND sips -z 128 128 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_128x128.png + COMMAND sips -z 256 256 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_128x128@2x.png + COMMAND sips -z 256 256 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_256x256.png + COMMAND sips -z 512 512 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_256x256@2x.png + COMMAND sips -z 512 512 logo.png --out ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_512x512.png + COMMAND cp logo.png ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset/icon_512x512@2x.png + COMMAND iconutil -c icns -o ${CMAKE_BINARY_DIR}/macosx/spaghettikart.icns ${CMAKE_BINARY_DIR}/macosx/spaghettikart.iconset + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + COMMENT "Creating OSX icons ..." + ) + add_dependencies(${PROJECT_NAME} CreateOSXIcons) + configure_file("${CMAKE_SOURCE_DIR}/Info.plist" "${CMAKE_BINARY_DIR}/Info.plist" COPYONLY) +endif() + +set_property(TARGET ${PROJECT_NAME} PROPERTY APPIMAGE_DESKTOP_FILE_TERMINAL YES) +set_property(TARGET ${PROJECT_NAME} PROPERTY APPIMAGE_DESKTOP_FILE "${CMAKE_SOURCE_DIR}/SpaghettiKart.desktop") +set_property(TARGET ${PROJECT_NAME} PROPERTY APPIMAGE_ICON_FILE "${CMAKE_SOURCE_DIR}/logo.png") + +if(CMAKE_SYSTEM_NAME MATCHES "Linux") + set(CPACK_GENERATOR "External") +elseif(CMAKE_SYSTEM_NAME MATCHES "Windows|NintendoSwitch|CafeOS") + set(CPACK_GENERATOR "ZIP") +elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin") + set(CPACK_GENERATOR "Bundle") +endif() + +set(CPACK_PROJECT_CONFIG_FILE ${CMAKE_SOURCE_DIR}/cmake/configure-packaging.cmake) +include(cmake/packaging.cmake) \ No newline at end of file diff --git a/cmake/automate-vcpkg.cmake b/cmake/automate-vcpkg.cmake new file mode 100644 index 000000000..ee07f6bfb --- /dev/null +++ b/cmake/automate-vcpkg.cmake @@ -0,0 +1,191 @@ +#------------------------------------------------------------------------------------------------------------ +# +# Automate-VCPKG by Andre Taulien +# =============================== +# +# Project Repository: https://github.com/REGoth-project/Automate-VCPKG +# License ..........: MIT, see end of file. +# +# Based on: https://github.com/sutambe/cpptruths/blob/vcpkg_cmake_blog/cpp0x/vcpkg_test/CMakeLists.txt +# +# +# While [Vcpkg](https://github.com/microsoft/vcpkg) on it's own is awesome, it does add +# a little bit of complexity to getting a project to build. Even more if the one trying +# to compile your application is not too fond of the commandline. Additionally, CMake +# commands tend to get rather long with the toolchain path. +# +# To keep things simple for new users who just want to get the project to build, this +# script offers a solution. +# +# Lets assume your main `CMakelists.txt` looks something like this: +# +# cmake_minimum_required (VERSION 3.12.0) +# project (MyProject) +# +# add_executable(MyExecutable main.c) +# +# To integrate Vcpkg into that `CMakelists.txt`, simple put the following lines before the +# call to `project(MyProject)`: +# +# include(cmake/automate-vcpkg.cmake) +# +# vcpkg_bootstrap() +# vcpkg_install_packages(libsquish physfs) +# +# The call to `vcpkg_bootstrap()` will clone the official Vcpkg repository and bootstrap it. +# If it detected an existing environment variable defining a valid `VCPKG_ROOT`, it will +# update the existing installation of Vcpkg. +# +# Arguments to `vcpkg_install_packages()` are the packages you want to install using Vcpkg. +# +# If you want to keep the possibility for users to chose their own copy of Vcpkg, you can +# simply not run the code snippet mentioned above, something like this will work: +# +# option(SKIP_AUTOMATE_VCPKG "When ON, you will need to built the packages +# required by MyProject on your own or supply your own vcpkg toolchain.") +# +# if (NOT SKIP_AUTOMATE_VCPKG) +# include(cmake/automate-vcpkg.cmake) +# +# vcpkg_bootstrap() +# vcpkg_install_packages(libsquish physfs) +# endif() +# +# Then, the user has to supply the packages on their own, be it through Vcpkg or manually +# specifying their locations. +#------------------------------------------------------------------------------------------------------------ + +cmake_minimum_required (VERSION 3.12) + +if(WIN32) + set(VCPKG_FALLBACK_ROOT ${CMAKE_CURRENT_BINARY_DIR}/vcpkg CACHE STRING "vcpkg configuration directory to use if vcpkg was not installed on the system before") +else() + set(VCPKG_FALLBACK_ROOT ${CMAKE_CURRENT_BINARY_DIR}/.vcpkg CACHE STRING "vcpkg configuration directory to use if vcpkg was not installed on the system before") +endif() + +# On Windows, Vcpkg defaults to x86, even on x64 systems. If we're +# doing a 64-bit build, we need to fix that. +if (WIN32) + + # Since the compiler checks haven't run yet, we need to figure + # out the value of CMAKE_SIZEOF_VOID_P ourselfs + + include(CheckTypeSize) + enable_language(C) + check_type_size("void*" SIZEOF_VOID_P BUILTIN_TYPES_ONLY) + + if (SIZEOF_VOID_P EQUAL 8) + message(STATUS "Using Vcpkg triplet 'x64-windows'") + + set(VCPKG_TRIPLET x64-windows) + endif() +endif() + +if(NOT DEFINED VCPKG_ROOT) + if(NOT DEFINED ENV{VCPKG_ROOT}) + set(VCPKG_ROOT ${VCPKG_FALLBACK_ROOT}) + else() + set(VCPKG_ROOT $ENV{VCPKG_ROOT}) + endif() +endif() + +# Installs a new copy of Vcpkg or updates an existing one +macro(vcpkg_bootstrap) + _install_or_update_vcpkg() + + # Find out whether the user supplied their own VCPKG toolchain file + if(NOT DEFINED ${CMAKE_TOOLCHAIN_FILE}) + # We know this wasn't set before so we need point the toolchain file to the newly found VCPKG_ROOT + set(CMAKE_TOOLCHAIN_FILE ${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake CACHE STRING "") + + # Just setting vcpkg.cmake as toolchain file does not seem to actually pull in the code + include(${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake) + + set(AUTOMATE_VCPKG_USE_SYSTEM_VCPKG OFF) + else() + # VCPKG_ROOT has been defined by the toolchain file already + set(AUTOMATE_VCPKG_USE_SYSTEM_VCPKG ON) + endif() + + message(STATUS "Automate VCPKG status:") + message(STATUS " VCPKG_ROOT.....: ${VCPKG_ROOT}") + message(STATUS " VCPKG_EXEC.....: ${VCPKG_EXEC}") + message(STATUS " VCPKG_BOOTSTRAP: ${VCPKG_BOOTSTRAP}") +endmacro() + +macro(_install_or_update_vcpkg) + if(NOT EXISTS ${VCPKG_ROOT}) + message(STATUS "Cloning vcpkg in ${VCPKG_ROOT}") + execute_process(COMMAND git clone https://github.com/Microsoft/vcpkg.git ${VCPKG_ROOT}) + + # If a reproducible build is desired (and potentially old libraries are # ok), uncomment the + # following line and pin the vcpkg repository to a specific githash. + # execute_process(COMMAND git checkout 745a0aea597771a580d0b0f4886ea1e3a94dbca6 WORKING_DIRECTORY ${VCPKG_ROOT}) + else() + # The following command has no effect if the vcpkg repository is in a detached head state. + message(STATUS "Auto-updating vcpkg in ${VCPKG_ROOT}") + execute_process(COMMAND git pull WORKING_DIRECTORY ${VCPKG_ROOT}) + endif() + + if(NOT EXISTS ${VCPKG_ROOT}/README.md) + message(FATAL_ERROR "***** FATAL ERROR: Could not clone vcpkg *****") + endif() + + if(WIN32) + set(VCPKG_EXEC ${VCPKG_ROOT}/vcpkg.exe) + set(VCPKG_BOOTSTRAP ${VCPKG_ROOT}/bootstrap-vcpkg.bat) + else() + set(VCPKG_EXEC ${VCPKG_ROOT}/vcpkg) + set(VCPKG_BOOTSTRAP ${VCPKG_ROOT}/bootstrap-vcpkg.sh) + endif() + + if(NOT EXISTS ${VCPKG_EXEC}) + message("Bootstrapping vcpkg in ${VCPKG_ROOT}") + execute_process(COMMAND ${VCPKG_BOOTSTRAP} WORKING_DIRECTORY ${VCPKG_ROOT}) + endif() + + if(NOT EXISTS ${VCPKG_EXEC}) + message(FATAL_ERROR "***** FATAL ERROR: Could not bootstrap vcpkg *****") + endif() + +endmacro() + +# Installs the list of packages given as parameters using Vcpkg +macro(vcpkg_install_packages) + + # Need the given list to be space-separated + #string (REPLACE ";" " " PACKAGES_LIST_STR "${ARGN}") + + message(STATUS "Installing/Updating the following vcpkg-packages: ${PACKAGES_LIST_STR}") + + if (VCPKG_TRIPLET) + set(ENV{VCPKG_DEFAULT_TRIPLET} "${VCPKG_TRIPLET}") + endif() + + execute_process( + COMMAND ${VCPKG_EXEC} install ${ARGN} + WORKING_DIRECTORY ${VCPKG_ROOT} + ) +endmacro() + +# MIT License +# +# Copyright (c) 2019 REGoth-project +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. diff --git a/cmake/configure-packaging.cmake b/cmake/configure-packaging.cmake new file mode 100644 index 000000000..f3d2c115a --- /dev/null +++ b/cmake/configure-packaging.cmake @@ -0,0 +1,29 @@ +set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) +set(CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY 0) +set(CPACK_COMPONENTS_ALL "Starship") + +if (CPACK_GENERATOR STREQUAL "External") + list(APPEND CPACK_COMPONENTS_ALL "extractor" "appimage") +endif() + +if (CPACK_GENERATOR MATCHES "DEB|RPM") +# https://unix.stackexchange.com/a/11552/254512 +set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/ship/bin")#/${CMAKE_PROJECT_VERSION}") +set(CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY 0) +elseif (CPACK_GENERATOR MATCHES "ZIP") +set(CPACK_PACKAGING_INSTALL_PREFIX "") +endif() + +if (CPACK_GENERATOR MATCHES "External") +set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) +SET(CPACK_MONOLITHIC_INSTALL 1) +set(CPACK_PACKAGING_INSTALL_PREFIX "/usr/bin") +endif() + +if (CPACK_GENERATOR MATCHES "Bundle") + set(CPACK_BUNDLE_NAME "Starship") + set(CPACK_BUNDLE_PLIST "macosx/Info.plist") + set(CPACK_BUNDLE_ICON "macosx/Starship.icns") + # set(CPACK_BUNDLE_STARTUP_COMMAND "macosx/Starship-macos.sh") + set(CPACK_BUNDLE_APPLE_CERT_APP "-") +endif() \ No newline at end of file diff --git a/cmake/ios.toolchain.cmake b/cmake/ios.toolchain.cmake new file mode 100644 index 000000000..379014166 --- /dev/null +++ b/cmake/ios.toolchain.cmake @@ -0,0 +1,1122 @@ +# This file is part of the ios-cmake project. It was retrieved from +# https://github.com/leetal/ios-cmake.git, which is a fork of +# https://github.com/gerstrong/ios-cmake.git, which is a fork of +# https://github.com/cristeab/ios-cmake.git, which is a fork of +# https://code.google.com/p/ios-cmake/. Which in turn is based off of +# the Platform/Darwin.cmake and Platform/UnixPaths.cmake files which +# are included with CMake 2.8.4 +# +# The ios-cmake project is licensed under the new BSD license. +# +# Copyright (c) 2014, Bogdan Cristea and LTE Engineering Software, +# Kitware, Inc., Insight Software Consortium. All rights reserved. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# This file is based on the Platform/Darwin.cmake and +# Platform/UnixPaths.cmake files which are included with CMake 2.8.4 +# It has been altered for iOS development. +# +# Updated by Alex Stewart (alexs.mac@gmail.com) +# +# ***************************************************************************** +# Now maintained by Alexander Widerberg (widerbergaren [at] gmail.com) +# under the BSD-3-Clause license +# https://github.com/leetal/ios-cmake +# ***************************************************************************** +# +# INFORMATION / HELP +# +############################################################################### +# OPTIONS # +############################################################################### +# +# PLATFORM: (default "OS64") +# OS = Build for iPhoneOS. +# OS64 = Build for arm64 iphoneOS. +# OS64COMBINED = Build for arm64 x86_64 iphoneOS + iphoneOS Simulator. Combined into FAT STATIC lib (only supported on 3.14+ of CMake with "-G Xcode" argument in combination with the "cmake --install" CMake build step) +# SIMULATOR = Build for x86 i386 iphoneOS Simulator. +# SIMULATOR64 = Build for x86_64 iphoneOS Simulator. +# SIMULATORARM64 = Build for arm64 iphoneOS Simulator. +# SIMULATOR64COMBINED = Build for arm64 x86_64 iphoneOS Simulator. Combined into FAT STATIC lib (supported on 3.14+ of CMakewith "-G Xcode" argument ONLY) +# TVOS = Build for arm64 tvOS. +# TVOSCOMBINED = Build for arm64 x86_64 tvOS + tvOS Simulator. Combined into FAT STATIC lib (only supported on 3.14+ of CMake with "-G Xcode" argument in combination with the "cmake --install" CMake build step) +# SIMULATOR_TVOS = Build for x86_64 tvOS Simulator. +# SIMULATORARM64_TVOS = Build for arm64 tvOS Simulator. +# WATCHOS = Build for armv7k arm64_32 for watchOS. +# WATCHOSCOMBINED = Build for armv7k arm64_32 x86_64 watchOS + watchOS Simulator. Combined into FAT STATIC lib (only supported on 3.14+ of CMake with "-G Xcode" argument in combination with the "cmake --install" CMake build step) +# SIMULATOR_WATCHOS = Build for x86_64 for watchOS Simulator. +# SIMULATORARM64_WATCHOS = Build for arm64 for watchOS Simulator. +# MAC = Build for x86_64 macOS. +# MAC_ARM64 = Build for Apple Silicon macOS. +# MAC_UNIVERSAL = Combined build for x86_64 and Apple Silicon on macOS. +# MAC_CATALYST = Build for x86_64 macOS with Catalyst support (iOS toolchain on macOS). +# Note: The build argument "MACOSX_DEPLOYMENT_TARGET" can be used to control min-version of macOS +# MAC_CATALYST_ARM64 = Build for Apple Silicon macOS with Catalyst support (iOS toolchain on macOS). +# Note: The build argument "MACOSX_DEPLOYMENT_TARGET" can be used to control min-version of macOS +# +# CMAKE_OSX_SYSROOT: Path to the SDK to use. By default this is +# automatically determined from PLATFORM and xcodebuild, but +# can also be manually specified (although this should not be required). +# +# CMAKE_DEVELOPER_ROOT: Path to the Developer directory for the platform +# being compiled for. By default, this is automatically determined from +# CMAKE_OSX_SYSROOT, but can also be manually specified (although this should +# not be required). +# +# DEPLOYMENT_TARGET: Minimum SDK version to target. Default 6.0 on watchOS, 13.0 on tvOS+iOS/iPadOS, 11.0 on macOS, 1.0 on visionOS +# +# NAMED_LANGUAGE_SUPPORT: +# ON (default) = Will require "enable_language(OBJC) and/or enable_language(OBJCXX)" for full OBJC|OBJCXX support +# OFF = Will embed the OBJC and OBJCXX flags into the CMAKE_C_FLAGS and CMAKE_CXX_FLAGS (legacy behavior, CMake version < 3.16) +# +# ENABLE_BITCODE: (ON|OFF) Enables or disables bitcode support. Default OFF +# +# ENABLE_ARC: (ON|OFF) Enables or disables ARC support. Default ON (ARC enabled by default) +# +# ENABLE_VISIBILITY: (ON|OFF) Enables or disables symbol visibility support. Default OFF (visibility hidden by default) +# +# ENABLE_STRICT_TRY_COMPILE: (ON|OFF) Enables or disables strict try_compile() on all Check* directives (will run linker +# to actually check if linking is possible). Default OFF (will set CMAKE_TRY_COMPILE_TARGET_TYPE to STATIC_LIBRARY) +# +# ARCHS: (armv7 armv7s armv7k arm64 arm64_32 i386 x86_64) If specified, will override the default architectures for the given PLATFORM +# OS = armv7 armv7s arm64 (if applicable) +# OS64 = arm64 (if applicable) +# SIMULATOR = i386 +# SIMULATOR64 = x86_64 +# SIMULATORARM64 = arm64 +# TVOS = arm64 +# SIMULATOR_TVOS = x86_64 (i386 has since long been deprecated) +# SIMULATORARM64_TVOS = arm64 +# WATCHOS = armv7k arm64_32 (if applicable) +# SIMULATOR_WATCHOS = x86_64 (i386 has since long been deprecated) +# SIMULATORARM64_WATCHOS = arm64 +# MAC = x86_64 +# MAC_ARM64 = arm64 +# MAC_UNIVERSAL = x86_64 arm64 +# MAC_CATALYST = x86_64 +# MAC_CATALYST_ARM64 = arm64 +# +# NOTE: When manually specifying ARCHS, put a semi-colon between the entries. E.g., -DARCHS="armv7;arm64" +# +############################################################################### +# END OPTIONS # +############################################################################### +# +# This toolchain defines the following properties (available via get_property()) for use externally: +# +# PLATFORM: The currently targeted platform. +# XCODE_VERSION: Version number (not including Build version) of Xcode detected. +# SDK_VERSION: Version of SDK being used. +# OSX_ARCHITECTURES: Architectures being compiled for (generated from PLATFORM). +# APPLE_TARGET_TRIPLE: Used by autoconf build systems. NOTE: If "ARCHS" is overridden, this will *NOT* be set! +# +# This toolchain defines the following macros for use externally: +# +# set_xcode_property (TARGET XCODE_PROPERTY XCODE_VALUE XCODE_VARIANT) +# A convenience macro for setting xcode specific properties on targets. +# Available variants are: All, Release, RelWithDebInfo, Debug, MinSizeRel +# example: set_xcode_property (myioslib IPHONEOS_DEPLOYMENT_TARGET "3.1" "all"). +# +# find_host_package (PROGRAM ARGS) +# A macro used to find executable programs on the host system, not within the +# environment. Thanks to the android-cmake project for providing the +# command. +# + +cmake_minimum_required(VERSION 3.8.0) + +# CMake invokes the toolchain file twice during the first build, but only once during subsequent rebuilds. +if(DEFINED ENV{_IOS_TOOLCHAIN_HAS_RUN}) + return() +endif() +set(ENV{_IOS_TOOLCHAIN_HAS_RUN} true) + +# List of supported platform values +list(APPEND _supported_platforms + "OS" "OS64" "OS64COMBINED" "SIMULATOR" "SIMULATOR64" "SIMULATORARM64" "SIMULATOR64COMBINED" + "TVOS" "TVOSCOMBINED" "SIMULATOR_TVOS" "SIMULATORARM64_TVOS" + "WATCHOS" "WATCHOSCOMBINED" "SIMULATOR_WATCHOS" "SIMULATORARM64_WATCHOS" + "MAC" "MAC_ARM64" "MAC_UNIVERSAL" + "VISIONOS" "SIMULATOR_VISIONOS" "SIMULATOR64_VISIONOS" + "MAC_CATALYST" "MAC_CATALYST_ARM64") + +# Cache what generator is used +set(USED_CMAKE_GENERATOR "${CMAKE_GENERATOR}") + +# Check if using a CMake version capable of building combined FAT builds (simulator and target slices combined in one static lib) +if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.14") + set(MODERN_CMAKE YES) +endif() + +# Get the Xcode version being used. +# Problem: CMake runs toolchain files multiple times, but can't read cache variables on some runs. +# Workaround: On the first run (in which cache variables are always accessible), set an intermediary environment variable. +# +# NOTE: This pattern is used in many places in this toolchain to speed up checks of all sorts +if(DEFINED XCODE_VERSION_INT) + # Environment variables are always preserved. + set(ENV{_XCODE_VERSION_INT} "${XCODE_VERSION_INT}") +elseif(DEFINED ENV{_XCODE_VERSION_INT}) + set(XCODE_VERSION_INT "$ENV{_XCODE_VERSION_INT}") +elseif(NOT DEFINED XCODE_VERSION_INT) + find_program(XCODEBUILD_EXECUTABLE xcodebuild) + if(NOT XCODEBUILD_EXECUTABLE) + message(FATAL_ERROR "xcodebuild not found. Please install either the standalone commandline tools or Xcode.") + endif() + execute_process(COMMAND ${XCODEBUILD_EXECUTABLE} -version + OUTPUT_VARIABLE XCODE_VERSION_INT + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX MATCH "Xcode [0-9\\.]+" XCODE_VERSION_INT "${XCODE_VERSION_INT}") + string(REGEX REPLACE "Xcode ([0-9\\.]+)" "\\1" XCODE_VERSION_INT "${XCODE_VERSION_INT}") + set(XCODE_VERSION_INT "${XCODE_VERSION_INT}" CACHE INTERNAL "") +endif() + +# Assuming that xcode 12.0 is installed you most probably have ios sdk 14.0 or later installed (tested on Big Sur) +# if you don't set a deployment target it will be set the way you only get 64-bit builds +#if(NOT DEFINED DEPLOYMENT_TARGET AND XCODE_VERSION_INT VERSION_GREATER 12.0) +# Temporarily fix the arm64 issues in CMake install-combined by excluding arm64 for simulator builds (needed for Apple Silicon...) +# set(CMAKE_XCODE_ATTRIBUTE_EXCLUDED_ARCHS[sdk=iphonesimulator*] "arm64") +#endif() + +# Check if the platform variable is set +if(DEFINED PLATFORM) + # Environment variables are always preserved. + set(ENV{_PLATFORM} "${PLATFORM}") +elseif(DEFINED ENV{_PLATFORM}) + set(PLATFORM "$ENV{_PLATFORM}") +elseif(NOT DEFINED PLATFORM) + message(FATAL_ERROR "PLATFORM argument not set. Bailing configure since I don't know what target you want to build for!") +endif () + +if(PLATFORM MATCHES ".*COMBINED" AND NOT CMAKE_GENERATOR MATCHES "Xcode") + message(FATAL_ERROR "The combined builds support requires Xcode to be used as a generator via '-G Xcode' command-line argument in CMake") +endif() + +# Safeguard that the platform value is set and is one of the supported values +list(FIND _supported_platforms ${PLATFORM} contains_PLATFORM) +if("${contains_PLATFORM}" EQUAL "-1") + string(REPLACE ";" "\n * " _supported_platforms_formatted "${_supported_platforms}") + message(FATAL_ERROR " Invalid PLATFORM specified! Current value: ${PLATFORM}.\n" + " Supported PLATFORM values: \n * ${_supported_platforms_formatted}") +endif() + +# Check if Apple Silicon is supported +if(PLATFORM MATCHES "^(MAC_ARM64)$|^(MAC_CATALYST_ARM64)$|^(MAC_UNIVERSAL)$" AND ${CMAKE_VERSION} VERSION_LESS "3.19.5") + message(FATAL_ERROR "Apple Silicon builds requires a minimum of CMake 3.19.5") +endif() + +# Touch the toolchain variable to suppress the "unused variable" warning. +# This happens if CMake is invoked with the same command line the second time. +if(CMAKE_TOOLCHAIN_FILE) +endif() + +# Fix for PThread library not in path +set(CMAKE_THREAD_LIBS_INIT "-lpthread") +set(CMAKE_HAVE_THREADS_LIBRARY 1) +set(CMAKE_USE_WIN32_THREADS_INIT 0) +set(CMAKE_USE_PTHREADS_INIT 1) + +# Specify named language support defaults. +if(NOT DEFINED NAMED_LANGUAGE_SUPPORT AND ${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.16") + set(NAMED_LANGUAGE_SUPPORT ON) + message(STATUS "[DEFAULTS] Using explicit named language support! E.g., enable_language(CXX) is needed in the project files.") +elseif(NOT DEFINED NAMED_LANGUAGE_SUPPORT AND ${CMAKE_VERSION} VERSION_LESS "3.16") + set(NAMED_LANGUAGE_SUPPORT OFF) + message(STATUS "[DEFAULTS] Disabling explicit named language support. Falling back to legacy behavior.") +elseif(DEFINED NAMED_LANGUAGE_SUPPORT AND ${CMAKE_VERSION} VERSION_LESS "3.16") + message(FATAL_ERROR "CMake named language support for OBJC and OBJCXX was added in CMake 3.16.") +endif() +set(NAMED_LANGUAGE_SUPPORT_INT ${NAMED_LANGUAGE_SUPPORT} CACHE BOOL + "Whether or not to enable explicit named language support" FORCE) + +# Specify the minimum version of the deployment target. +if(NOT DEFINED DEPLOYMENT_TARGET) + if (PLATFORM MATCHES "WATCHOS") + # Unless specified, SDK version 4.0 is used by default as minimum target version (watchOS). + set(DEPLOYMENT_TARGET "6.0") + elseif(PLATFORM STREQUAL "MAC") + # Unless specified, SDK version 10.13 (High Sierra) is used by default as the minimum target version (macos). + set(DEPLOYMENT_TARGET "11.0") + elseif(PLATFORM STREQUAL "VISIONOS" OR PLATFORM STREQUAL "SIMULATOR_VISIONOS" OR PLATFORM STREQUAL "SIMULATOR64_VISIONOS") + # Unless specified, SDK version 1.0 is used by default as minimum target version (visionOS). + set(DEPLOYMENT_TARGET "1.0") + elseif(PLATFORM STREQUAL "MAC_ARM64") + # Unless specified, SDK version 11.0 (Big Sur) is used by default as the minimum target version (macOS on arm). + set(DEPLOYMENT_TARGET "11.0") + elseif(PLATFORM STREQUAL "MAC_UNIVERSAL") + # Unless specified, SDK version 11.0 (Big Sur) is used by default as minimum target version for universal builds. + set(DEPLOYMENT_TARGET "11.0") + elseif(PLATFORM STREQUAL "MAC_CATALYST" OR PLATFORM STREQUAL "MAC_CATALYST_ARM64") + # Unless specified, SDK version 13.0 is used by default as the minimum target version (mac catalyst minimum requirement). + set(DEPLOYMENT_TARGET "13.1") + else() + # Unless specified, SDK version 11.0 is used by default as the minimum target version (iOS, tvOS). + set(DEPLOYMENT_TARGET "13.0") + endif() + message(STATUS "[DEFAULTS] Using the default min-version since DEPLOYMENT_TARGET not provided!") +elseif(DEFINED DEPLOYMENT_TARGET AND PLATFORM MATCHES "^MAC_CATALYST" AND ${DEPLOYMENT_TARGET} VERSION_LESS "13.1") + message(FATAL_ERROR "Mac Catalyst builds requires a minimum deployment target of 13.1!") +endif() + +# Store the DEPLOYMENT_TARGET in the cache +set(DEPLOYMENT_TARGET "${DEPLOYMENT_TARGET}" CACHE INTERNAL "") + +# Handle the case where we are targeting iOS and a version above 10.3.4 (32-bit support dropped officially) +if(PLATFORM STREQUAL "OS" AND DEPLOYMENT_TARGET VERSION_GREATER_EQUAL 10.3.4) + set(PLATFORM "OS64") + message(STATUS "Targeting minimum SDK version ${DEPLOYMENT_TARGET}. Dropping 32-bit support.") +elseif(PLATFORM STREQUAL "SIMULATOR" AND DEPLOYMENT_TARGET VERSION_GREATER_EQUAL 10.3.4) + set(PLATFORM "SIMULATOR64") + message(STATUS "Targeting minimum SDK version ${DEPLOYMENT_TARGET}. Dropping 32-bit support.") +endif() + +set(PLATFORM_INT "${PLATFORM}") + +if(DEFINED ARCHS) + string(REPLACE ";" "-" ARCHS_SPLIT "${ARCHS}") +endif() + +# Determine the platform name and architectures for use in xcodebuild commands +# from the specified PLATFORM_INT name. +if(PLATFORM_INT STREQUAL "OS") + set(SDK_NAME iphoneos) + if(NOT ARCHS) + set(ARCHS armv7 armv7s arm64) + set(APPLE_TARGET_TRIPLE_INT arm-apple-ios${DEPLOYMENT_TARGET}) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET}) + endif() +elseif(PLATFORM_INT STREQUAL "OS64") + set(SDK_NAME iphoneos) + if(NOT ARCHS) + if (XCODE_VERSION_INT VERSION_GREATER 10.0) + set(ARCHS arm64) # FIXME: Add arm64e when Apple has fixed the integration issues with it, libarclite_iphoneos.a is currently missing bitcode markers for example + else() + set(ARCHS arm64) + endif() + set(APPLE_TARGET_TRIPLE_INT arm64-apple-ios${DEPLOYMENT_TARGET}) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET}) + endif() +elseif(PLATFORM_INT STREQUAL "OS64COMBINED") + set(SDK_NAME iphoneos) + if(MODERN_CMAKE) + if(NOT ARCHS) + if (XCODE_VERSION_INT VERSION_GREATER 12.0) + set(ARCHS arm64 x86_64) + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphoneos*] "arm64") + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*] "x86_64 arm64") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphoneos*] "arm64") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphonesimulator*] "x86_64 arm64") + else() + set(ARCHS arm64 x86_64) + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphoneos*] "arm64") + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*] "x86_64") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphoneos*] "arm64") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphonesimulator*] "x86_64") + endif() + set(APPLE_TARGET_TRIPLE_INT arm64-x86_64-apple-ios${DEPLOYMENT_TARGET}) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET}) + endif() + else() + message(FATAL_ERROR "Please make sure that you are running CMake 3.14+ to make the OS64COMBINED setting work") + endif() +elseif(PLATFORM_INT STREQUAL "SIMULATOR64COMBINED") + set(SDK_NAME iphonesimulator) + if(MODERN_CMAKE) + if(NOT ARCHS) + if (XCODE_VERSION_INT VERSION_GREATER 12.0) + set(ARCHS arm64 x86_64) # FIXME: Add arm64e when Apple have fixed the integration issues with it, libarclite_iphoneos.a is currently missing bitcode markers for example + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphoneos*] "") + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*] "x86_64 arm64") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphoneos*] "") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphonesimulator*] "x86_64 arm64") + else() + set(ARCHS arm64 x86_64) + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphoneos*] "") + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*] "x86_64") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphoneos*] "") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphonesimulator*] "x86_64") + endif() + set(APPLE_TARGET_TRIPLE_INT aarch64-x86_64-apple-ios${DEPLOYMENT_TARGET}-simulator) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET}-simulator) + endif() + else() + message(FATAL_ERROR "Please make sure that you are running CMake 3.14+ to make the SIMULATOR64COMBINED setting work") + endif() +elseif(PLATFORM_INT STREQUAL "SIMULATOR") + set(SDK_NAME iphonesimulator) + if(NOT ARCHS) + set(ARCHS i386) + set(APPLE_TARGET_TRIPLE_INT i386-apple-ios${DEPLOYMENT_TARGET}-simulator) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET}-simulator) + endif() + message(DEPRECATION "SIMULATOR IS DEPRECATED. Consider using SIMULATOR64 instead.") +elseif(PLATFORM_INT STREQUAL "SIMULATOR64") + set(SDK_NAME iphonesimulator) + if(NOT ARCHS) + set(ARCHS x86_64) + set(APPLE_TARGET_TRIPLE_INT x86_64-apple-ios${DEPLOYMENT_TARGET}-simulator) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET}-simulator) + endif() +elseif(PLATFORM_INT STREQUAL "SIMULATORARM64") + set(SDK_NAME iphonesimulator) + if(NOT ARCHS) + set(ARCHS arm64) + set(APPLE_TARGET_TRIPLE_INT arm64-apple-ios${DEPLOYMENT_TARGET}-simulator) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET}-simulator) + endif() +elseif(PLATFORM_INT STREQUAL "TVOS") + set(SDK_NAME appletvos) + if(NOT ARCHS) + set(ARCHS arm64) + set(APPLE_TARGET_TRIPLE_INT arm64-apple-tvos${DEPLOYMENT_TARGET}) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-tvos${DEPLOYMENT_TARGET}) + endif() +elseif (PLATFORM_INT STREQUAL "TVOSCOMBINED") + set(SDK_NAME appletvos) + if(MODERN_CMAKE) + if(NOT ARCHS) + set(ARCHS arm64 x86_64) + set(APPLE_TARGET_TRIPLE_INT arm64-x86_64-apple-tvos${DEPLOYMENT_TARGET}) + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=appletvos*] "arm64") + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=appletvsimulator*] "x86_64") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=appletvos*] "arm64") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=appletvsimulator*] "x86_64") + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-tvos${DEPLOYMENT_TARGET}) + endif() + else() + message(FATAL_ERROR "Please make sure that you are running CMake 3.14+ to make the TVOSCOMBINED setting work") + endif() +elseif(PLATFORM_INT STREQUAL "SIMULATOR_TVOS") + set(SDK_NAME appletvsimulator) + if(NOT ARCHS) + set(ARCHS x86_64) + set(APPLE_TARGET_TRIPLE_INT x86_64-apple-tvos${DEPLOYMENT_TARGET}-simulator) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-tvos${DEPLOYMENT_TARGET}-simulator) + endif() +elseif(PLATFORM_INT STREQUAL "SIMULATORARM64_TVOS") + set(SDK_NAME appletvsimulator) + if(NOT ARCHS) + set(ARCHS arm64) + set(APPLE_TARGET_TRIPLE_INT arm64-apple-tvos${DEPLOYMENT_TARGET}-simulator) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-tvos${DEPLOYMENT_TARGET}-simulator) + endif() +elseif(PLATFORM_INT STREQUAL "WATCHOS") + set(SDK_NAME watchos) + if(NOT ARCHS) + if (XCODE_VERSION_INT VERSION_GREATER 10.0) + set(ARCHS armv7k arm64_32) + set(APPLE_TARGET_TRIPLE_INT arm64_32-apple-watchos${DEPLOYMENT_TARGET}) + else() + set(ARCHS armv7k) + set(APPLE_TARGET_TRIPLE_INT arm-apple-watchos${DEPLOYMENT_TARGET}) + endif() + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-watchos${DEPLOYMENT_TARGET}) + endif() +elseif(PLATFORM_INT STREQUAL "WATCHOSCOMBINED") + set(SDK_NAME watchos) + if(MODERN_CMAKE) + if(NOT ARCHS) + if (XCODE_VERSION_INT VERSION_GREATER 10.0) + set(ARCHS armv7k arm64_32 i386) + set(APPLE_TARGET_TRIPLE_INT arm64_32-i386-apple-watchos${DEPLOYMENT_TARGET}) + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchos*] "armv7k arm64_32") + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchsimulator*] "i386") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchos*] "armv7k arm64_32") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchsimulator*] "i386") + else() + set(ARCHS armv7k i386) + set(APPLE_TARGET_TRIPLE_INT arm-i386-apple-watchos${DEPLOYMENT_TARGET}) + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchos*] "armv7k") + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchsimulator*] "i386") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchos*] "armv7k") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchsimulator*] "i386") + endif() + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-watchos${DEPLOYMENT_TARGET}) + endif() + else() + message(FATAL_ERROR "Please make sure that you are running CMake 3.14+ to make the WATCHOSCOMBINED setting work") + endif() +elseif(PLATFORM_INT STREQUAL "SIMULATOR_WATCHOS") + set(SDK_NAME watchsimulator) + if(NOT ARCHS) + set(ARCHS i386) + set(APPLE_TARGET_TRIPLE_INT i386-apple-watchos${DEPLOYMENT_TARGET}-simulator) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-watchos${DEPLOYMENT_TARGET}-simulator) + endif() +elseif(PLATFORM_INT STREQUAL "SIMULATORARM64_WATCHOS") + set(SDK_NAME watchsimulator) + if(NOT ARCHS) + set(ARCHS arm64) + set(APPLE_TARGET_TRIPLE_INT arm64-apple-watchos${DEPLOYMENT_TARGET}-simulator) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-watchos${DEPLOYMENT_TARGET}-simulator) + endif() +elseif(PLATFORM_INT STREQUAL "SIMULATOR64_VISIONOS") + set(SDK_NAME xrsimulator) + if(NOT ARCHS) + set(ARCHS x86_64) + set(APPLE_TARGET_TRIPLE_INT x86_64-apple-xros${DEPLOYMENT_TARGET}-simulator) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-xros${DEPLOYMENT_TARGET}-simulator) + endif() +elseif(PLATFORM_INT STREQUAL "SIMULATOR_VISIONOS") + set(SDK_NAME xrsimulator) + if(NOT ARCHS) + set(ARCHS arm64) + set(APPLE_TARGET_TRIPLE_INT arm64-apple-xros${DEPLOYMENT_TARGET}-simulator) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-xros${DEPLOYMENT_TARGET}-simulator) + endif() +elseif(PLATFORM_INT STREQUAL "VISIONOS") + set(SDK_NAME xros) + if(NOT ARCHS) + set(ARCHS arm64) + set(APPLE_TARGET_TRIPLE_INT arm64-apple-xros${DEPLOYMENT_TARGET}) + else() + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-xros${DEPLOYMENT_TARGET}) + endif() +elseif(PLATFORM_INT STREQUAL "MAC" OR PLATFORM_INT STREQUAL "MAC_CATALYST") + set(SDK_NAME macosx) + if(NOT ARCHS) + set(ARCHS x86_64) + endif() + string(REPLACE ";" "-" ARCHS_SPLIT "${ARCHS}") + if(PLATFORM_INT STREQUAL "MAC") + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-macosx${DEPLOYMENT_TARGET}) + elseif(PLATFORM_INT STREQUAL "MAC_CATALYST") + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET}-macabi) + endif() +elseif(PLATFORM_INT MATCHES "^(MAC_ARM64)$|^(MAC_CATALYST_ARM64)$") + set(SDK_NAME macosx) + if(NOT ARCHS) + set(ARCHS arm64) + endif() + string(REPLACE ";" "-" ARCHS_SPLIT "${ARCHS}") + if(PLATFORM_INT STREQUAL "MAC_ARM64") + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-macosx${DEPLOYMENT_TARGET}) + elseif(PLATFORM_INT STREQUAL "MAC_CATALYST_ARM64") + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET}-macabi) + endif() +elseif(PLATFORM_INT STREQUAL "MAC_UNIVERSAL") + set(SDK_NAME macosx) + if(NOT ARCHS) + set(ARCHS "x86_64;arm64") + endif() + string(REPLACE ";" "-" ARCHS_SPLIT "${ARCHS}") + set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-macosx${DEPLOYMENT_TARGET}) +else() + message(FATAL_ERROR "Invalid PLATFORM: ${PLATFORM_INT}") +endif() + +string(REPLACE ";" " " ARCHS_SPACED "${ARCHS}") + +if(MODERN_CMAKE AND PLATFORM_INT MATCHES ".*COMBINED" AND NOT CMAKE_GENERATOR MATCHES "Xcode") + message(FATAL_ERROR "The COMBINED options only work with Xcode generator, -G Xcode") +endif() + +if(CMAKE_GENERATOR MATCHES "Xcode" AND PLATFORM_INT MATCHES "^MAC_CATALYST") + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++") + set(CMAKE_XCODE_ATTRIBUTE_SUPPORTED_PLATFORMS "macosx") + set(CMAKE_XCODE_ATTRIBUTE_SUPPORTS_MACCATALYST "YES") + if(NOT DEFINED MACOSX_DEPLOYMENT_TARGET) + set(CMAKE_XCODE_ATTRIBUTE_MACOSX_DEPLOYMENT_TARGET "10.15") + else() + set(CMAKE_XCODE_ATTRIBUTE_MACOSX_DEPLOYMENT_TARGET "${MACOSX_DEPLOYMENT_TARGET}") + endif() +elseif(CMAKE_GENERATOR MATCHES "Xcode") + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++") + set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "${DEPLOYMENT_TARGET}") + if(NOT PLATFORM_INT MATCHES ".*COMBINED") + set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=${SDK_NAME}*] "${ARCHS_SPACED}") + set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=${SDK_NAME}*] "${ARCHS_SPACED}") + endif() +endif() + +# If the user did not specify the SDK root to use, then query xcodebuild for it. +if(DEFINED CMAKE_OSX_SYSROOT_INT) + # Environment variables are always preserved. + set(ENV{_CMAKE_OSX_SYSROOT_INT} "${CMAKE_OSX_SYSROOT_INT}") +elseif(DEFINED ENV{_CMAKE_OSX_SYSROOT_INT}) + set(CMAKE_OSX_SYSROOT_INT "$ENV{_CMAKE_OSX_SYSROOT_INT}") +elseif(NOT DEFINED CMAKE_OSX_SYSROOT_INT) + execute_process(COMMAND ${XCODEBUILD_EXECUTABLE} -version -sdk ${SDK_NAME} Path + OUTPUT_VARIABLE CMAKE_OSX_SYSROOT_INT + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) +endif() + +if (NOT DEFINED CMAKE_OSX_SYSROOT_INT AND NOT DEFINED CMAKE_OSX_SYSROOT) + message(SEND_ERROR "Please make sure that Xcode is installed and that the toolchain" + "is pointing to the correct path. Please run:" + "sudo xcode-select -s /Applications/Xcode.app/Contents/Developer" + "and see if that fixes the problem for you.") + message(FATAL_ERROR "Invalid CMAKE_OSX_SYSROOT: ${CMAKE_OSX_SYSROOT} " + "does not exist.") +elseif(DEFINED CMAKE_OSX_SYSROOT_INT) + set(CMAKE_OSX_SYSROOT_INT "${CMAKE_OSX_SYSROOT_INT}" CACHE INTERNAL "") + # Specify the location or name of the platform SDK to be used in CMAKE_OSX_SYSROOT. + set(CMAKE_OSX_SYSROOT "${CMAKE_OSX_SYSROOT_INT}" CACHE INTERNAL "") +endif() + +# Use bitcode or not +if(NOT DEFINED ENABLE_BITCODE) + message(STATUS "[DEFAULTS] Disabling bitcode support by default. ENABLE_BITCODE not provided for override!") + set(ENABLE_BITCODE OFF) +endif() +set(ENABLE_BITCODE_INT ${ENABLE_BITCODE} CACHE BOOL + "Whether or not to enable bitcode" FORCE) +# Use ARC or not +if(NOT DEFINED ENABLE_ARC) + # Unless specified, enable ARC support by default + set(ENABLE_ARC ON) + message(STATUS "[DEFAULTS] Enabling ARC support by default. ENABLE_ARC not provided!") +endif() +set(ENABLE_ARC_INT ${ENABLE_ARC} CACHE BOOL "Whether or not to enable ARC" FORCE) +# Use hidden visibility or not +if(NOT DEFINED ENABLE_VISIBILITY) + # Unless specified, disable symbols visibility by default + set(ENABLE_VISIBILITY OFF) + message(STATUS "[DEFAULTS] Hiding symbols visibility by default. ENABLE_VISIBILITY not provided!") +endif() +set(ENABLE_VISIBILITY_INT ${ENABLE_VISIBILITY} CACHE BOOL "Whether or not to hide symbols from the dynamic linker (-fvisibility=hidden)" FORCE) +# Set strict compiler checks or not +if(NOT DEFINED ENABLE_STRICT_TRY_COMPILE) + # Unless specified, disable strict try_compile() + set(ENABLE_STRICT_TRY_COMPILE OFF) + message(STATUS "[DEFAULTS] Using NON-strict compiler checks by default. ENABLE_STRICT_TRY_COMPILE not provided!") +endif() +set(ENABLE_STRICT_TRY_COMPILE_INT ${ENABLE_STRICT_TRY_COMPILE} CACHE BOOL + "Whether or not to use strict compiler checks" FORCE) + +# Get the SDK version information. +if(DEFINED SDK_VERSION) + # Environment variables are always preserved. + set(ENV{_SDK_VERSION} "${SDK_VERSION}") +elseif(DEFINED ENV{_SDK_VERSION}) + set(SDK_VERSION "$ENV{_SDK_VERSION}") +elseif(NOT DEFINED SDK_VERSION) + execute_process(COMMAND ${XCODEBUILD_EXECUTABLE} -sdk ${CMAKE_OSX_SYSROOT_INT} -version SDKVersion + OUTPUT_VARIABLE SDK_VERSION + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) +endif() + +# Find the Developer root for the specific iOS platform being compiled for +# from CMAKE_OSX_SYSROOT. Should be ../../ from SDK specified in +# CMAKE_OSX_SYSROOT. There does not appear to be a direct way to obtain +# this information from xcrun or xcodebuild. +if (NOT DEFINED CMAKE_DEVELOPER_ROOT AND NOT CMAKE_GENERATOR MATCHES "Xcode") + get_filename_component(PLATFORM_SDK_DIR ${CMAKE_OSX_SYSROOT_INT} PATH) + get_filename_component(CMAKE_DEVELOPER_ROOT ${PLATFORM_SDK_DIR} PATH) + if (NOT EXISTS "${CMAKE_DEVELOPER_ROOT}") + message(FATAL_ERROR "Invalid CMAKE_DEVELOPER_ROOT: ${CMAKE_DEVELOPER_ROOT} does not exist.") + endif() +endif() + +# Find the C & C++ compilers for the specified SDK. +if(DEFINED CMAKE_C_COMPILER) + # Environment variables are always preserved. + set(ENV{_CMAKE_C_COMPILER} "${CMAKE_C_COMPILER}") +elseif(DEFINED ENV{_CMAKE_C_COMPILER}) + set(CMAKE_C_COMPILER "$ENV{_CMAKE_C_COMPILER}") + set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) +elseif(NOT DEFINED CMAKE_C_COMPILER) + execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT_INT} -find clang + OUTPUT_VARIABLE CMAKE_C_COMPILER + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) +endif() +if(DEFINED CMAKE_CXX_COMPILER) + # Environment variables are always preserved. + set(ENV{_CMAKE_CXX_COMPILER} "${CMAKE_CXX_COMPILER}") +elseif(DEFINED ENV{_CMAKE_CXX_COMPILER}) + set(CMAKE_CXX_COMPILER "$ENV{_CMAKE_CXX_COMPILER}") +elseif(NOT DEFINED CMAKE_CXX_COMPILER) + execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT_INT} -find clang++ + OUTPUT_VARIABLE CMAKE_CXX_COMPILER + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) +endif() +# Find (Apple's) libtool. +if(DEFINED BUILD_LIBTOOL) + # Environment variables are always preserved. + set(ENV{_BUILD_LIBTOOL} "${BUILD_LIBTOOL}") +elseif(DEFINED ENV{_BUILD_LIBTOOL}) + set(BUILD_LIBTOOL "$ENV{_BUILD_LIBTOOL}") +elseif(NOT DEFINED BUILD_LIBTOOL) + execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT_INT} -find libtool + OUTPUT_VARIABLE BUILD_LIBTOOL + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) +endif() +# Find the toolchain's provided install_name_tool if none is found on the host +if(DEFINED CMAKE_INSTALL_NAME_TOOL) + # Environment variables are always preserved. + set(ENV{_CMAKE_INSTALL_NAME_TOOL} "${CMAKE_INSTALL_NAME_TOOL}") +elseif(DEFINED ENV{_CMAKE_INSTALL_NAME_TOOL}) + set(CMAKE_INSTALL_NAME_TOOL "$ENV{_CMAKE_INSTALL_NAME_TOOL}") +elseif(NOT DEFINED CMAKE_INSTALL_NAME_TOOL) + execute_process(COMMAND xcrun -sdk ${CMAKE_OSX_SYSROOT_INT} -find install_name_tool + OUTPUT_VARIABLE CMAKE_INSTALL_NAME_TOOL_INT + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(CMAKE_INSTALL_NAME_TOOL ${CMAKE_INSTALL_NAME_TOOL_INT} CACHE INTERNAL "") +endif() + +# Configure libtool to be used instead of ar + ranlib to build static libraries. +# This is required on Xcode 7+, but should also work on previous versions of +# Xcode. +get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES) +foreach(lang ${languages}) + set(CMAKE_${lang}_CREATE_STATIC_LIBRARY "${BUILD_LIBTOOL} -static -o " CACHE INTERNAL "") +endforeach() + +# CMake 3.14+ support building for iOS, watchOS, and tvOS out of the box. +if(MODERN_CMAKE) + if(SDK_NAME MATCHES "iphone") + set(CMAKE_SYSTEM_NAME iOS) + elseif(SDK_NAME MATCHES "xros") + set(CMAKE_SYSTEM_NAME visionOS) + elseif(SDK_NAME MATCHES "xrsimulator") + set(CMAKE_SYSTEM_NAME visionOS) + elseif(SDK_NAME MATCHES "macosx") + set(CMAKE_SYSTEM_NAME Darwin) + elseif(SDK_NAME MATCHES "appletv") + set(CMAKE_SYSTEM_NAME tvOS) + elseif(SDK_NAME MATCHES "watch") + set(CMAKE_SYSTEM_NAME watchOS) + endif() + # Provide flags for a combined FAT library build on newer CMake versions + if(PLATFORM_INT MATCHES ".*COMBINED") + set(CMAKE_IOS_INSTALL_COMBINED YES) + if(CMAKE_GENERATOR MATCHES "Xcode") + # Set the SDKROOT Xcode properties to a Xcode-friendly value (the SDK_NAME, E.g, iphoneos) + # This way, Xcode will automatically switch between the simulator and device SDK when building. + set(CMAKE_XCODE_ATTRIBUTE_SDKROOT "${SDK_NAME}") + # Force to not build just one ARCH, but all! + set(CMAKE_XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH "NO") + endif() + endif() +elseif(NOT DEFINED CMAKE_SYSTEM_NAME AND ${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.10") + # Legacy code path prior to CMake 3.14 or fallback if no CMAKE_SYSTEM_NAME specified + set(CMAKE_SYSTEM_NAME iOS) +elseif(NOT DEFINED CMAKE_SYSTEM_NAME) + # Legacy code path before CMake 3.14 or fallback if no CMAKE_SYSTEM_NAME specified + set(CMAKE_SYSTEM_NAME Darwin) +endif() +# Standard settings. +set(CMAKE_SYSTEM_VERSION ${SDK_VERSION} CACHE INTERNAL "") +set(UNIX ON CACHE BOOL "") +set(APPLE ON CACHE BOOL "") +if(PLATFORM STREQUAL "MAC" OR PLATFORM STREQUAL "MAC_ARM64" OR PLATFORM STREQUAL "MAC_UNIVERSAL") + set(IOS OFF CACHE BOOL "") + set(MACOS ON CACHE BOOL "") +elseif(PLATFORM STREQUAL "MAC_CATALYST" OR PLATFORM STREQUAL "MAC_CATALYST_ARM64") + set(IOS ON CACHE BOOL "") + set(MACOS ON CACHE BOOL "") +else() + set(IOS ON CACHE BOOL "") +endif() +# Set the architectures for which to build. +set(CMAKE_OSX_ARCHITECTURES ${ARCHS} CACHE INTERNAL "") +# Change the type of target generated for try_compile() so it'll work when cross-compiling, weak compiler checks +if(NOT ENABLE_STRICT_TRY_COMPILE_INT) + set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) +endif() +# All iOS/Darwin specific settings - some may be redundant. +if (NOT DEFINED CMAKE_MACOSX_BUNDLE) + set(CMAKE_MACOSX_BUNDLE YES) +endif() +set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO") +set(CMAKE_SHARED_LIBRARY_PREFIX "lib") +set(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib") +set(CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES ".tbd" ".so") +set(CMAKE_SHARED_MODULE_PREFIX "lib") +set(CMAKE_SHARED_MODULE_SUFFIX ".so") +set(CMAKE_C_COMPILER_ABI ELF) +set(CMAKE_CXX_COMPILER_ABI ELF) +set(CMAKE_C_HAS_ISYSROOT 1) +set(CMAKE_CXX_HAS_ISYSROOT 1) +set(CMAKE_MODULE_EXISTS 1) +set(CMAKE_DL_LIBS "") +set(CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ") +set(CMAKE_C_OSX_CURRENT_VERSION_FLAG "-current_version ") +set(CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}") +set(CMAKE_CXX_OSX_CURRENT_VERSION_FLAG "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}") + +if(ARCHS MATCHES "((^|;|, )(arm64|arm64e|x86_64))+") + set(CMAKE_C_SIZEOF_DATA_PTR 8) + set(CMAKE_CXX_SIZEOF_DATA_PTR 8) + if(ARCHS MATCHES "((^|;|, )(arm64|arm64e))+") + set(CMAKE_SYSTEM_PROCESSOR "aarch64") + else() + set(CMAKE_SYSTEM_PROCESSOR "x86_64") + endif() +else() + set(CMAKE_C_SIZEOF_DATA_PTR 4) + set(CMAKE_CXX_SIZEOF_DATA_PTR 4) + set(CMAKE_SYSTEM_PROCESSOR "arm") +endif() + +# Note that only Xcode 7+ supports the newer more specific: +# -m${SDK_NAME}-version-min flags, older versions of Xcode use: +# -m(ios/ios-simulator)-version-min instead. +if(${CMAKE_VERSION} VERSION_LESS "3.11") + if(PLATFORM_INT STREQUAL "OS" OR PLATFORM_INT STREQUAL "OS64") + if(XCODE_VERSION_INT VERSION_LESS 7.0) + set(SDK_NAME_VERSION_FLAGS + "-mios-version-min=${DEPLOYMENT_TARGET}") + else() + # Xcode 7.0+ uses flags we can build directly from SDK_NAME. + set(SDK_NAME_VERSION_FLAGS + "-m${SDK_NAME}-version-min=${DEPLOYMENT_TARGET}") + endif() + elseif(PLATFORM_INT STREQUAL "TVOS") + set(SDK_NAME_VERSION_FLAGS + "-mtvos-version-min=${DEPLOYMENT_TARGET}") + elseif(PLATFORM_INT STREQUAL "SIMULATOR_TVOS") + set(SDK_NAME_VERSION_FLAGS + "-mtvos-simulator-version-min=${DEPLOYMENT_TARGET}") +elseif(PLATFORM_INT STREQUAL "SIMULATORARM64_TVOS") + set(SDK_NAME_VERSION_FLAGS + "-mtvos-simulator-version-min=${DEPLOYMENT_TARGET}") + elseif(PLATFORM_INT STREQUAL "WATCHOS") + set(SDK_NAME_VERSION_FLAGS + "-mwatchos-version-min=${DEPLOYMENT_TARGET}") + elseif(PLATFORM_INT STREQUAL "SIMULATOR_WATCHOS") + set(SDK_NAME_VERSION_FLAGS + "-mwatchos-simulator-version-min=${DEPLOYMENT_TARGET}") + elseif(PLATFORM_INT STREQUAL "SIMULATORARM64_WATCHOS") + set(SDK_NAME_VERSION_FLAGS + "-mwatchos-simulator-version-min=${DEPLOYMENT_TARGET}") + elseif(PLATFORM_INT STREQUAL "MAC") + set(SDK_NAME_VERSION_FLAGS + "-mmacosx-version-min=${DEPLOYMENT_TARGET}") + else() + # SIMULATOR or SIMULATOR64 both use -mios-simulator-version-min. + set(SDK_NAME_VERSION_FLAGS + "-mios-simulator-version-min=${DEPLOYMENT_TARGET}") + endif() +elseif(NOT PLATFORM_INT MATCHES "^MAC_CATALYST") + # Newer versions of CMake sets the version min flags correctly, skip this for Mac Catalyst targets + set(CMAKE_OSX_DEPLOYMENT_TARGET ${DEPLOYMENT_TARGET} CACHE INTERNAL "Minimum OS X deployment version") +endif() + +if(DEFINED APPLE_TARGET_TRIPLE_INT) + set(APPLE_TARGET_TRIPLE ${APPLE_TARGET_TRIPLE_INT} CACHE INTERNAL "") + set(CMAKE_C_COMPILER_TARGET ${APPLE_TARGET_TRIPLE}) + set(CMAKE_CXX_COMPILER_TARGET ${APPLE_TARGET_TRIPLE}) + set(CMAKE_ASM_COMPILER_TARGET ${APPLE_TARGET_TRIPLE}) +endif() + +if(PLATFORM_INT MATCHES "^MAC_CATALYST") + set(C_TARGET_FLAGS "-isystem ${CMAKE_OSX_SYSROOT_INT}/System/iOSSupport/usr/include -iframework ${CMAKE_OSX_SYSROOT_INT}/System/iOSSupport/System/Library/Frameworks") +endif() + +if(ENABLE_BITCODE_INT) + set(BITCODE "-fembed-bitcode") + set(CMAKE_XCODE_ATTRIBUTE_BITCODE_GENERATION_MODE "bitcode") + set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "YES") +else() + set(BITCODE "") + set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO") +endif() + +if(ENABLE_ARC_INT) + set(FOBJC_ARC "-fobjc-arc") + set(CMAKE_XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC "YES") +else() + set(FOBJC_ARC "-fno-objc-arc") + set(CMAKE_XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC "NO") +endif() + +if(NAMED_LANGUAGE_SUPPORT_INT) + set(OBJC_VARS "-fobjc-abi-version=2 -DOBJC_OLD_DISPATCH_PROTOTYPES=0") + set(OBJC_LEGACY_VARS "") +else() + set(OBJC_VARS "") + set(OBJC_LEGACY_VARS "-fobjc-abi-version=2 -DOBJC_OLD_DISPATCH_PROTOTYPES=0") +endif() + +if(NOT ENABLE_VISIBILITY_INT) + foreach(lang ${languages}) + set(CMAKE_${lang}_VISIBILITY_PRESET "hidden" CACHE INTERNAL "") + endforeach() + set(CMAKE_XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN "YES") + set(VISIBILITY "-fvisibility=hidden -fvisibility-inlines-hidden") +else() + foreach(lang ${languages}) + set(CMAKE_${lang}_VISIBILITY_PRESET "default" CACHE INTERNAL "") + endforeach() + set(CMAKE_XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN "NO") + set(VISIBILITY "-fvisibility=default") +endif() + +if(DEFINED APPLE_TARGET_TRIPLE) + set(APPLE_TARGET_TRIPLE_FLAG "-target ${APPLE_TARGET_TRIPLE}") +endif() + +#Check if Xcode generator is used since that will handle these flags automagically +if(CMAKE_GENERATOR MATCHES "Xcode") + message(STATUS "Not setting any manual command-line buildflags, since Xcode is selected as the generator. Modifying the Xcode build-settings directly instead.") +else() + set(CMAKE_C_FLAGS "${C_TARGET_FLAGS} ${APPLE_TARGET_TRIPLE_FLAG} ${SDK_NAME_VERSION_FLAGS} ${OBJC_LEGACY_VARS} ${BITCODE} ${VISIBILITY} ${CMAKE_C_FLAGS}" CACHE INTERNAL + "Flags used by the compiler during all C build types.") + set(CMAKE_C_FLAGS_DEBUG "-O0 -g ${CMAKE_C_FLAGS_DEBUG}") + set(CMAKE_C_FLAGS_MINSIZEREL "-DNDEBUG -Os ${CMAKE_C_FLAGS_MINSIZEREL}") + set(CMAKE_C_FLAGS_RELWITHDEBINFO "-DNDEBUG -O2 -g ${CMAKE_C_FLAGS_RELWITHDEBINFO}") + set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG -O3 ${CMAKE_C_FLAGS_RELEASE}") + set(CMAKE_CXX_FLAGS "${C_TARGET_FLAGS} ${APPLE_TARGET_TRIPLE_FLAG} ${SDK_NAME_VERSION_FLAGS} ${OBJC_LEGACY_VARS} ${BITCODE} ${VISIBILITY} ${CMAKE_CXX_FLAGS}" CACHE INTERNAL + "Flags used by the compiler during all CXX build types.") + set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g ${CMAKE_CXX_FLAGS_DEBUG}") + set(CMAKE_CXX_FLAGS_MINSIZEREL "-DNDEBUG -Os ${CMAKE_CXX_FLAGS_MINSIZEREL}") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-DNDEBUG -O2 -g ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") + set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG -O3 ${CMAKE_CXX_FLAGS_RELEASE}") + if(NAMED_LANGUAGE_SUPPORT_INT) + set(CMAKE_OBJC_FLAGS "${C_TARGET_FLAGS} ${APPLE_TARGET_TRIPLE_FLAG} ${SDK_NAME_VERSION_FLAGS} ${BITCODE} ${VISIBILITY} ${FOBJC_ARC} ${OBJC_VARS} ${CMAKE_OBJC_FLAGS}" CACHE INTERNAL + "Flags used by the compiler during all OBJC build types.") + set(CMAKE_OBJC_FLAGS_DEBUG "-O0 -g ${CMAKE_OBJC_FLAGS_DEBUG}") + set(CMAKE_OBJC_FLAGS_MINSIZEREL "-DNDEBUG -Os ${CMAKE_OBJC_FLAGS_MINSIZEREL}") + set(CMAKE_OBJC_FLAGS_RELWITHDEBINFO "-DNDEBUG -O2 -g ${CMAKE_OBJC_FLAGS_RELWITHDEBINFO}") + set(CMAKE_OBJC_FLAGS_RELEASE "-DNDEBUG -O3 ${CMAKE_OBJC_FLAGS_RELEASE}") + set(CMAKE_OBJCXX_FLAGS "${C_TARGET_FLAGS} ${APPLE_TARGET_TRIPLE_FLAG} ${SDK_NAME_VERSION_FLAGS} ${BITCODE} ${VISIBILITY} ${FOBJC_ARC} ${OBJC_VARS} ${CMAKE_OBJCXX_FLAGS}" CACHE INTERNAL + "Flags used by the compiler during all OBJCXX build types.") + set(CMAKE_OBJCXX_FLAGS_DEBUG "-O0 -g ${CMAKE_OBJCXX_FLAGS_DEBUG}") + set(CMAKE_OBJCXX_FLAGS_MINSIZEREL "-DNDEBUG -Os ${CMAKE_OBJCXX_FLAGS_MINSIZEREL}") + set(CMAKE_OBJCXX_FLAGS_RELWITHDEBINFO "-DNDEBUG -O2 -g ${CMAKE_OBJCXX_FLAGS_RELWITHDEBINFO}") + set(CMAKE_OBJCXX_FLAGS_RELEASE "-DNDEBUG -O3 ${CMAKE_OBJCXX_FLAGS_RELEASE}") + endif() + set(CMAKE_C_LINK_FLAGS "${C_TARGET_FLAGS} ${SDK_NAME_VERSION_FLAGS} -Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}" CACHE INTERNAL + "Flags used by the compiler for all C link types.") + set(CMAKE_CXX_LINK_FLAGS "${C_TARGET_FLAGS} ${SDK_NAME_VERSION_FLAGS} -Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}" CACHE INTERNAL + "Flags used by the compiler for all CXX link types.") + if(NAMED_LANGUAGE_SUPPORT_INT) + set(CMAKE_OBJC_LINK_FLAGS "${C_TARGET_FLAGS} ${SDK_NAME_VERSION_FLAGS} -Wl,-search_paths_first ${CMAKE_OBJC_LINK_FLAGS}" CACHE INTERNAL + "Flags used by the compiler for all OBJC link types.") + set(CMAKE_OBJCXX_LINK_FLAGS "${C_TARGET_FLAGS} ${SDK_NAME_VERSION_FLAGS} -Wl,-search_paths_first ${CMAKE_OBJCXX_LINK_FLAGS}" CACHE INTERNAL + "Flags used by the compiler for all OBJCXX link types.") + endif() + set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -x assembler-with-cpp -arch ${CMAKE_OSX_ARCHITECTURES} ${APPLE_TARGET_TRIPLE_FLAG}" CACHE INTERNAL + "Flags used by the compiler for all ASM build types.") +endif() + +## Print status messages to inform of the current state +message(STATUS "Configuring ${SDK_NAME} build for platform: ${PLATFORM_INT}, architecture(s): ${ARCHS}") +message(STATUS "Using SDK: ${CMAKE_OSX_SYSROOT_INT}") +message(STATUS "Using C compiler: ${CMAKE_C_COMPILER}") +message(STATUS "Using CXX compiler: ${CMAKE_CXX_COMPILER}") +message(STATUS "Using libtool: ${BUILD_LIBTOOL}") +message(STATUS "Using install name tool: ${CMAKE_INSTALL_NAME_TOOL}") +if(DEFINED APPLE_TARGET_TRIPLE) + message(STATUS "Autoconf target triple: ${APPLE_TARGET_TRIPLE}") +endif() +message(STATUS "Using minimum deployment version: ${DEPLOYMENT_TARGET}" + " (SDK version: ${SDK_VERSION})") +if(MODERN_CMAKE) + message(STATUS "Merging integrated CMake 3.14+ iOS,tvOS,watchOS,macOS toolchain(s) with this toolchain!") + if(PLATFORM_INT MATCHES ".*COMBINED") + message(STATUS "Will combine built (static) artifacts into FAT lib...") + endif() +endif() +if(CMAKE_GENERATOR MATCHES "Xcode") + message(STATUS "Using Xcode version: ${XCODE_VERSION_INT}") +endif() +message(STATUS "CMake version: ${CMAKE_VERSION}") +if(DEFINED SDK_NAME_VERSION_FLAGS) + message(STATUS "Using version flags: ${SDK_NAME_VERSION_FLAGS}") +endif() +message(STATUS "Using a data_ptr size of: ${CMAKE_CXX_SIZEOF_DATA_PTR}") +if(ENABLE_BITCODE_INT) + message(STATUS "Bitcode: Enabled") +else() + message(STATUS "Bitcode: Disabled") +endif() + +if(ENABLE_ARC_INT) + message(STATUS "ARC: Enabled") +else() + message(STATUS "ARC: Disabled") +endif() + +if(ENABLE_VISIBILITY_INT) + message(STATUS "Hiding symbols: Disabled") +else() + message(STATUS "Hiding symbols: Enabled") +endif() + +# Set global properties +set_property(GLOBAL PROPERTY PLATFORM "${PLATFORM}") +set_property(GLOBAL PROPERTY APPLE_TARGET_TRIPLE "${APPLE_TARGET_TRIPLE_INT}") +set_property(GLOBAL PROPERTY SDK_VERSION "${SDK_VERSION}") +set_property(GLOBAL PROPERTY XCODE_VERSION "${XCODE_VERSION_INT}") +set_property(GLOBAL PROPERTY OSX_ARCHITECTURES "${CMAKE_OSX_ARCHITECTURES}") + +# Export configurable variables for the try_compile() command. +set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + PLATFORM + XCODE_VERSION_INT + SDK_VERSION + NAMED_LANGUAGE_SUPPORT + DEPLOYMENT_TARGET + CMAKE_DEVELOPER_ROOT + CMAKE_OSX_SYSROOT_INT + ENABLE_BITCODE + ENABLE_ARC + CMAKE_ASM_COMPILER + CMAKE_C_COMPILER + CMAKE_C_COMPILER_TARGET + CMAKE_CXX_COMPILER + CMAKE_CXX_COMPILER_TARGET + BUILD_LIBTOOL + CMAKE_INSTALL_NAME_TOOL + CMAKE_C_FLAGS + CMAKE_C_DEBUG + CMAKE_C_MINSIZEREL + CMAKE_C_RELWITHDEBINFO + CMAKE_C_RELEASE + CMAKE_CXX_FLAGS + CMAKE_CXX_FLAGS_DEBUG + CMAKE_CXX_FLAGS_MINSIZEREL + CMAKE_CXX_FLAGS_RELWITHDEBINFO + CMAKE_CXX_FLAGS_RELEASE + CMAKE_C_LINK_FLAGS + CMAKE_CXX_LINK_FLAGS + CMAKE_ASM_FLAGS +) + +if(NAMED_LANGUAGE_SUPPORT_INT) + list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + CMAKE_OBJC_FLAGS + CMAKE_OBJC_DEBUG + CMAKE_OBJC_MINSIZEREL + CMAKE_OBJC_RELWITHDEBINFO + CMAKE_OBJC_RELEASE + CMAKE_OBJCXX_FLAGS + CMAKE_OBJCXX_DEBUG + CMAKE_OBJCXX_MINSIZEREL + CMAKE_OBJCXX_RELWITHDEBINFO + CMAKE_OBJCXX_RELEASE + CMAKE_OBJC_LINK_FLAGS + CMAKE_OBJCXX_LINK_FLAGS + ) +endif() + +set(CMAKE_PLATFORM_HAS_INSTALLNAME 1) +set(CMAKE_SHARED_LINKER_FLAGS "-rpath @executable_path/Frameworks -rpath @loader_path/Frameworks") +set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names") +set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -Wl,-headerpad_max_install_names") +set(CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,") +set(CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,") +set(CMAKE_FIND_LIBRARY_SUFFIXES ".tbd" ".dylib" ".so" ".a") +set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-install_name") + +# Set the find root to the SDK developer roots. +# Note: CMAKE_FIND_ROOT_PATH is only useful when cross-compiling. Thus, do not set on macOS builds. +if(NOT PLATFORM_INT MATCHES "^MAC.*$") + list(APPEND CMAKE_FIND_ROOT_PATH "${CMAKE_OSX_SYSROOT_INT}" CACHE INTERNAL "") + set(CMAKE_IGNORE_PATH "/System/Library/Frameworks;/usr/local/lib;/opt/homebrew" CACHE INTERNAL "") +endif() + +# Default to searching for frameworks first. +IF(NOT DEFINED CMAKE_FIND_FRAMEWORK) + set(CMAKE_FIND_FRAMEWORK FIRST) +ENDIF(NOT DEFINED CMAKE_FIND_FRAMEWORK) + +# Set up the default search directories for frameworks. +if(PLATFORM_INT MATCHES "^MAC_CATALYST") + set(CMAKE_FRAMEWORK_PATH + ${CMAKE_DEVELOPER_ROOT}/Library/PrivateFrameworks + ${CMAKE_OSX_SYSROOT_INT}/System/Library/Frameworks + ${CMAKE_OSX_SYSROOT_INT}/System/iOSSupport/System/Library/Frameworks + ${CMAKE_FRAMEWORK_PATH} CACHE INTERNAL "") +else() + set(CMAKE_FRAMEWORK_PATH + ${CMAKE_DEVELOPER_ROOT}/Library/PrivateFrameworks + ${CMAKE_OSX_SYSROOT_INT}/System/Library/Frameworks + ${CMAKE_FRAMEWORK_PATH} CACHE INTERNAL "") +endif() + +# By default, search both the specified iOS SDK and the remainder of the host filesystem. +if(NOT CMAKE_FIND_ROOT_PATH_MODE_PROGRAM) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH CACHE INTERNAL "") +endif() +if(NOT CMAKE_FIND_ROOT_PATH_MODE_LIBRARY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH CACHE INTERNAL "") +endif() +if(NOT CMAKE_FIND_ROOT_PATH_MODE_INCLUDE) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH CACHE INTERNAL "") +endif() +if(NOT CMAKE_FIND_ROOT_PATH_MODE_PACKAGE) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH CACHE INTERNAL "") +endif() + +# +# Some helper-macros below to simplify and beautify the CMakeFile +# + +# This little macro lets you set any Xcode specific property. +macro(set_xcode_property TARGET XCODE_PROPERTY XCODE_VALUE XCODE_RELVERSION) + set(XCODE_RELVERSION_I "${XCODE_RELVERSION}") + if(XCODE_RELVERSION_I STREQUAL "All") + set_property(TARGET ${TARGET} PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY} "${XCODE_VALUE}") + else() + set_property(TARGET ${TARGET} PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY}[variant=${XCODE_RELVERSION_I}] "${XCODE_VALUE}") + endif() +endmacro(set_xcode_property) + +# This macro lets you find executable programs on the host system. +macro(find_host_package) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE NEVER) + set(_TOOLCHAIN_IOS ${IOS}) + set(IOS OFF) + find_package(${ARGN}) + set(IOS ${_TOOLCHAIN_IOS}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH) +endmacro(find_host_package) diff --git a/cmake/modules/FindOgg.cmake b/cmake/modules/FindOgg.cmake new file mode 100644 index 000000000..f606144f6 --- /dev/null +++ b/cmake/modules/FindOgg.cmake @@ -0,0 +1,61 @@ +# - Find ogg +# Find the native ogg includes and libraries +# +# OGG_INCLUDE_DIRS - where to find ogg.h, etc. +# OGG_LIBRARIES - List of libraries when using ogg. +# OGG_FOUND - True if ogg found. + +if (OGG_INCLUDE_DIR) + # Already in cache, be silent + set(OGG_FIND_QUIETLY TRUE) +endif () + +find_package (PkgConfig QUIET) +pkg_check_modules (PC_OGG QUIET ogg>=1.3.0) + +set (OGG_VERSION ${PC_OGG_VERSION}) + +find_path (OGG_INCLUDE_DIR ogg/ogg.h + HINTS + ${PC_OGG_INCLUDEDIR} + ${PC_OGG_INCLUDE_DIRS} + ${OGG_ROOT} + ) +# MSVC built ogg may be named ogg_static. +# The provided project files name the library with the lib prefix. +find_library (OGG_LIBRARY + NAMES + ogg + ogg_static + libogg + libogg_static + HINTS + ${PC_OGG_LIBDIR} + ${PC_OGG_LIBRARY_DIRS} + ${OGG_ROOT} + ) +# Handle the QUIETLY and REQUIRED arguments and set OGG_FOUND +# to TRUE if all listed variables are TRUE. +include (FindPackageHandleStandardArgs) +find_package_handle_standard_args (Ogg + REQUIRED_VARS + OGG_LIBRARY + OGG_INCLUDE_DIR + VERSION_VAR + OGG_VERSION + ) + +if (OGG_FOUND) + set (OGG_LIBRARIES ${OGG_LIBRARY}) + set (OGG_INCLUDE_DIRS ${OGG_INCLUDE_DIR}) + + if(NOT TARGET Ogg::ogg) + add_library(Ogg::ogg UNKNOWN IMPORTED) + set_target_properties(Ogg::ogg PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${OGG_INCLUDE_DIRS}" + IMPORTED_LOCATION "${OGG_LIBRARIES}" + ) + endif () +endif () + +mark_as_advanced (OGG_INCLUDE_DIR OGG_LIBRARY) \ No newline at end of file diff --git a/cmake/modules/FindPulseAudio.cmake b/cmake/modules/FindPulseAudio.cmake new file mode 100644 index 000000000..fdcbc20ff --- /dev/null +++ b/cmake/modules/FindPulseAudio.cmake @@ -0,0 +1,34 @@ +# - Find PulseAudio includes and libraries +# +# PULSEAUDIO_FOUND - True if PULSEAUDIO_INCLUDE_DIR & +# PULSEAUDIO_LIBRARY are found +# +# PULSEAUDIO_INCLUDE_DIR - where to find pulse/pulseaudio.h, etc. +# PULSEAUDIO_LIBRARY - the pulse library +# PULSEAUDIO_VERSION_STRING - the version of PulseAudio found +# + +find_path(PULSEAUDIO_INCLUDE_DIR + NAMES pulse/pulseaudio.h + DOC "The PulseAudio include directory" +) + +find_library(PULSEAUDIO_LIBRARY + NAMES pulse + DOC "The PulseAudio library" +) + +if(PULSEAUDIO_INCLUDE_DIR AND EXISTS "${PULSEAUDIO_INCLUDE_DIR}/pulse/version.h") + file(STRINGS "${PULSEAUDIO_INCLUDE_DIR}/pulse/version.h" pulse_version_str + REGEX "^#define[\t ]+pa_get_headers_version\\(\\)[\t ]+\\(\".*\"\\)") + + string(REGEX REPLACE "^.*pa_get_headers_version\\(\\)[\t ]+\\(\"([^\"]*)\"\\).*$" "\\1" + PULSEAUDIO_VERSION_STRING "${pulse_version_str}") + unset(pulse_version_str) +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(PulseAudio + REQUIRED_VARS PULSEAUDIO_LIBRARY PULSEAUDIO_INCLUDE_DIR + VERSION_VAR PULSEAUDIO_VERSION_STRING +) diff --git a/cmake/modules/FindVorbis.cmake b/cmake/modules/FindVorbis.cmake new file mode 100644 index 000000000..0d3d66244 --- /dev/null +++ b/cmake/modules/FindVorbis.cmake @@ -0,0 +1,197 @@ +#[=======================================================================[.rst: +FindVorbis +---------- +Finds the native vorbis, vorbisenc amd vorbisfile includes and libraries. +Imported Targets +^^^^^^^^^^^^^^^^ +This module provides the following imported targets, if found: +``Vorbis::vorbis`` + The Vorbis library +``Vorbis::vorbisenc`` + The VorbisEnc library +``Vorbis::vorbisfile`` + The VorbisFile library +Result Variables +^^^^^^^^^^^^^^^^ +This will define the following variables: +``Vorbis_Vorbis_INCLUDE_DIRS`` + List of include directories when using vorbis. +``Vorbis_Enc_INCLUDE_DIRS`` + List of include directories when using vorbisenc. +``Vorbis_File_INCLUDE_DIRS`` + List of include directories when using vorbisfile. +``Vorbis_Vorbis_LIBRARIES`` + List of libraries when using vorbis. +``Vorbis_Enc_LIBRARIES`` + List of libraries when using vorbisenc. +``Vorbis_File_LIBRARIES`` + List of libraries when using vorbisfile. +``Vorbis_FOUND`` + True if vorbis and requested components found. +``Vorbis_Vorbis_FOUND`` + True if vorbis found. +``Vorbis_Enc_FOUND`` + True if vorbisenc found. +``Vorbis_Enc_FOUND`` + True if vorbisfile found. +Cache variables +^^^^^^^^^^^^^^^ +The following cache variables may also be set: +``Vorbis_Vorbis_INCLUDE_DIR`` + The directory containing ``vorbis/vorbis.h``. +``Vorbis_Enc_INCLUDE_DIR`` + The directory containing ``vorbis/vorbisenc.h``. +``Vorbis_File_INCLUDE_DIR`` + The directory containing ``vorbis/vorbisenc.h``. +``Vorbis_Vorbis_LIBRARY`` + The path to the vorbis library. +``Vorbis_Enc_LIBRARY`` + The path to the vorbisenc library. +``Vorbis_File_LIBRARY`` + The path to the vorbisfile library. +Hints +^^^^^ +A user may set ``Vorbis_ROOT`` to a vorbis installation root to tell this module where to look. +#]=======================================================================] + +if (Vorbis_Vorbis_INCLUDE_DIR) + # Already in cache, be silent + set (Vorbis_FIND_QUIETLY TRUE) +endif () + +set (Vorbis_Vorbis_FIND_QUIETLY TRUE) +set (Vorbis_Enc_FIND_QUIETLY TRUE) +set (Vorbis_File_FIND_QUIETLY TRUE) + +find_package (Ogg QUIET) + +find_package (PkgConfig QUIET) +pkg_check_modules (PC_Vorbis_Vorbis QUIET vorbis) +pkg_check_modules (PC_Vorbis_Enc QUIET vorbisenc) +pkg_check_modules (PC_Vorbis_File QUIET vorbisfile) + +set (Vorbis_VERSION ${PC_Vorbis_Vorbis_VERSION}) + +find_path (Vorbis_Vorbis_INCLUDE_DIR vorbis/codec.h + HINTS + ${PC_Vorbis_Vorbis_INCLUDEDIR} + ${PC_Vorbis_Vorbis_INCLUDE_DIRS} + ${Vorbis_ROOT} + ) + +find_path (Vorbis_Enc_INCLUDE_DIR vorbis/vorbisenc.h + HINTS + ${PC_Vorbis_Enc_INCLUDEDIR} + ${PC_Vorbis_Enc_INCLUDE_DIRS} + ${Vorbis_ROOT} + ) + +find_path (Vorbis_File_INCLUDE_DIR vorbis/vorbisfile.h + HINTS + ${PC_Vorbis_File_INCLUDEDIR} + ${PC_Vorbis_File_INCLUDE_DIRS} + ${Vorbis_ROOT} + ) + +find_library (Vorbis_Vorbis_LIBRARY + NAMES + vorbis + vorbis_static + libvorbis + libvorbis_static + HINTS + ${PC_Vorbis_Vorbis_LIBDIR} + ${PC_Vorbis_Vorbis_LIBRARY_DIRS} + ${Vorbis_ROOT} + ) + +find_library (Vorbis_Enc_LIBRARY + NAMES + vorbisenc + vorbisenc_static + libvorbisenc + libvorbisenc_static + HINTS + ${PC_Vorbis_Enc_LIBDIR} + ${PC_Vorbis_Enc_LIBRARY_DIRS} + ${Vorbis_ROOT} + ) + +find_library (Vorbis_File_LIBRARY + NAMES + vorbisfile + vorbisfile_static + libvorbisfile + libvorbisfile_static + HINTS + ${PC_Vorbis_File_LIBDIR} + ${PC_Vorbis_File_LIBRARY_DIRS} + ${Vorbis_ROOT} + ) + +include (FindPackageHandleStandardArgs) + +if (Vorbis_Vorbis_LIBRARY AND Vorbis_Vorbis_INCLUDE_DIR AND Ogg_FOUND) + set (Vorbis_Vorbis_FOUND TRUE) +endif () + +if (Vorbis_Enc_LIBRARY AND Vorbis_Enc_INCLUDE_DIR AND Vorbis_Vorbis_FOUND) + set (Vorbis_Enc_FOUND TRUE) +endif () + +if (Vorbis_Vorbis_FOUND AND Vorbis_File_LIBRARY AND Vorbis_File_INCLUDE_DIR) + set (Vorbis_File_FOUND TRUE) +endif () + +find_package_handle_standard_args (Vorbis + REQUIRED_VARS + Vorbis_Vorbis_LIBRARY + Vorbis_Vorbis_INCLUDE_DIR + Ogg_FOUND + HANDLE_COMPONENTS + VERSION_VAR Vorbis_VERSION) + + +if (Vorbis_Vorbis_FOUND) + set (Vorbis_Vorbis_INCLUDE_DIRS ${VORBIS_INCLUDE_DIR}) + set (Vorbis_Vorbis_LIBRARIES ${VORBIS_LIBRARY} ${OGG_LIBRARIES}) + if (NOT TARGET Vorbis::vorbis) + add_library (Vorbis::vorbis UNKNOWN IMPORTED) + set_target_properties (Vorbis::vorbis PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_Vorbis_INCLUDE_DIR}" + IMPORTED_LOCATION "${Vorbis_Vorbis_LIBRARY}" + INTERFACE_LINK_LIBRARIES Ogg::ogg + ) + endif () + + if (Vorbis_Enc_FOUND) + set (Vorbis_Enc_INCLUDE_DIRS ${Vorbis_Enc_INCLUDE_DIR}) + set (Vorbis_Enc_LIBRARIES ${Vorbis_Enc_LIBRARY} ${Vorbis_Enc_LIBRARIES}) + if (NOT TARGET Vorbis::vorbisenc) + add_library (Vorbis::vorbisenc UNKNOWN IMPORTED) + set_target_properties (Vorbis::vorbisenc PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_Enc_INCLUDE_DIR}" + IMPORTED_LOCATION "${Vorbis_Enc_LIBRARY}" + INTERFACE_LINK_LIBRARIES Vorbis::vorbis + ) + endif () + endif () + + if (Vorbis_File_FOUND) + set (Vorbis_File_INCLUDE_DIRS ${Vorbis_File_INCLUDE_DIR}) + set (Vorbis_File_LIBRARIES ${Vorbis_File_LIBRARY} ${Vorbis_File_LIBRARIES}) + if (NOT TARGET Vorbis::vorbisfile) + add_library (Vorbis::vorbisfile UNKNOWN IMPORTED) + set_target_properties (Vorbis::vorbisfile PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_File_INCLUDE_DIR}" + IMPORTED_LOCATION "${Vorbis_File_LIBRARY}" + INTERFACE_LINK_LIBRARIES Vorbis::vorbis + ) + endif () + endif () + +endif () + +mark_as_advanced (Vorbis_Vorbis_INCLUDE_DIR Vorbis_Vorbis_LIBRARY) +mark_as_advanced (Vorbis_Enc_INCLUDE_DIR Vorbis_Enc_LIBRARY) +mark_as_advanced (Vorbis_File_INCLUDE_DIR Vorbis_File_LIBRARY) \ No newline at end of file diff --git a/cmake/modules/FindlibUsb.cmake b/cmake/modules/FindlibUsb.cmake new file mode 100644 index 000000000..3dea9f6c9 --- /dev/null +++ b/cmake/modules/FindlibUsb.cmake @@ -0,0 +1,48 @@ +if (MSVC) + set(WINDOWS_LIBUSB_PATH "$ENV{LIBUSB_PATH}/VS2019/MS64/static") + + # check if we're using something else than 64bit.. + if (NOT "${CMAKE_SIZEOF_VOID_P}" STREQUAL "8") + set(WINDOWS_LIBUSB_PATH "$ENV{LIBUSB_PATH}/VS2019/MS32/static") + endif() +endif() + +if (MINGW) + set(WINDOWS_LIBUSB_PATH "$ENV{LIBUSB_PATH}/MinGW64/static") + # check if we're using something else than 64bit.. + if (NOT "${CMAKE_SIZEOF_VOID_P}" STREQUAL "8") + set(WINDOWS_LIBUSB_PATH "$ENV{LIBUSB_PATH}/MinGW32/static") + endif() +endif() + +find_library (LIBUSB_LIBRARY + NAMES libusb libusb-1.0 usb-1.0 + PATHS "/usr/lib" "/usr/local/lib/" "${WINDOWS_LIBUSB_PATH}") + +find_path (LIBUSB_INCLUDEDIR + NAMES libusb.h libusb-1.0.h + PATHS "/usr/local/include/" "$ENV{LIBUSB_PATH}/include/libusb-1.0" + PATH_SUFFIXES "include" "libusb" "libusb-1.0") + +include(FindPackageHandleStandardArgs) + +find_package_handle_standard_args(libUsb DEFAULT_MSG + LIBUSB_LIBRARY + LIBUSB_INCLUDEDIR) + +if (LIBUSB_FOUND AND NOT TARGET libUsb::libUsb) + add_library(libUsb::libUsb STATIC IMPORTED) + set_target_properties( + libUsb::libUsb + PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${LIBUSB_INCLUDEDIR}" + IMPORTED_LOCATION "${LIBUSB_LIBRARY}") + if (MSVC OR MINGW) + set_target_properties( + libUsb::libUsb + PROPERTIES + IMPORTED_IMPLIB "${LIBUSB_LIBRARY}" + ) + endif() +endif() + diff --git a/cmake/modules/Findudev.cmake b/cmake/modules/Findudev.cmake new file mode 100644 index 000000000..568cc9ce4 --- /dev/null +++ b/cmake/modules/Findudev.cmake @@ -0,0 +1,84 @@ +# - try to find the udev library +# +# Cache Variables: (probably not for direct use in your scripts) +# UDEV_INCLUDE_DIR +# UDEV_SOURCE_DIR +# UDEV_LIBRARY +# +# Non-cache variables you might use in your CMakeLists.txt: +# UDEV_FOUND +# UDEV_INCLUDE_DIRS +# UDEV_LIBRARIES +# +# Requires these CMake modules: +# FindPackageHandleStandardArgs (known included with CMake >=2.6.2) +# +# Original Authors: +# 2014, Kevin M. Godby +# 2021, Ryan Pavlik +# +# Copyright 2014, Kevin M. Godby +# Copyright 2021, Collabora, Ltd. +# +# SPDX-License-Identifier: BSL-1.0 +# +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +set(UDEV_ROOT_DIR + "${UDEV_ROOT_DIR}" + CACHE + PATH + "Directory to search for udev") + +if(NOT ANDROID) + find_package(PkgConfig QUIET) + if(PKG_CONFIG_FOUND) + pkg_check_modules(PC_LIBUDEV QUIET libudev) + endif() +endif() + +find_library(UDEV_LIBRARY + NAMES + udev + PATHS + ${PC_LIBUDEV_LIBRARY_DIRS} + ${PC_LIBUDEV_LIBDIR} + HINTS + "${UDEV_ROOT_DIR}" + PATH_SUFFIXES + lib + ) + +get_filename_component(_libdir "${UDEV_LIBRARY}" PATH) + +find_path(UDEV_INCLUDE_DIR + NAMES + libudev.h + PATHS + ${PC_LIBUDEV_INCLUDE_DIRS} + ${PC_LIBUDEV_INCLUDEDIR} + HINTS + "${_libdir}" + "${_libdir}/.." + "${UDEV_ROOT_DIR}" + PATH_SUFFIXES + include + ) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(udev + DEFAULT_MSG + UDEV_LIBRARY + UDEV_INCLUDE_DIR + ) + +if(UDEV_FOUND) + list(APPEND UDEV_LIBRARIES ${UDEV_LIBRARY}) + list(APPEND UDEV_INCLUDE_DIRS ${UDEV_INCLUDE_DIR}) + mark_as_advanced(UDEV_ROOT_DIR) +endif() + +mark_as_advanced(UDEV_INCLUDE_DIR + UDEV_LIBRARY) diff --git a/cmake/packaging.cmake b/cmake/packaging.cmake new file mode 100644 index 000000000..be0fb3159 --- /dev/null +++ b/cmake/packaging.cmake @@ -0,0 +1,90 @@ +# these are cache variables, so they could be overwritten with -D, + +set(CPACK_PACKAGE_NAME "${PROJECT_NAME}" + CACHE STRING "The resulting package name" +) + +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Simple C++ application" + CACHE STRING "Package description for the package metadata" +) +set(CPACK_PACKAGE_VENDOR "Some Company") + +set(CPACK_VERBATIM_VARIABLES YES) + +set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME}) +SET(CPACK_OUTPUT_FILE_PREFIX "${CMAKE_SOURCE_DIR}/_packages") + +set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) +set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) +set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) +set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") + +set(CPACK_PACKAGE_CONTACT "YOUR@E-MAIL.net") +set(CPACK_DEBIAN_PACKAGE_MAINTAINER "YOUR NAME") + +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md") +set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md") + +if (CMAKE_SYSTEM_NAME STREQUAL "Linux") +set(CPACK_SYSTEM_NAME ${LSB_RELEASE_CODENAME_SHORT}) +# package name for deb +# if set, then instead of some-application-0.9.2-Linux.deb +# you'll get some-application_0.9.2_amd64.deb (note the underscores too) +#set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) +execute_process(COMMAND dpkg --print-architecture OUTPUT_VARIABLE ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE) +set( CPACK_DEBIAN_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}-${ARCHITECTURE}.deb ) +# if you want every group to have its own package, +# although the same happens if this is not sent (so it defaults to ONE_PER_GROUP) +# and CPACK_DEB_COMPONENT_INSTALL is set to YES +set(CPACK_COMPONENTS_GROUPING ALL_COMPONENTS_IN_ONE)#ONE_PER_GROUP) +# without this you won't be able to pack only specified component +set(CPACK_DEB_COMPONENT_INSTALL YES) + +set(CPACK_EXTERNAL_ENABLE_STAGING YES) +set(CPACK_EXTERNAL_PACKAGE_SCRIPT "${PROJECT_BINARY_DIR}/appimage-generate.cmake") + +file(GENERATE + OUTPUT "${PROJECT_BINARY_DIR}/appimage-generate.cmake" + CONTENT [[ +include(CMakePrintHelpers) +cmake_print_variables(CPACK_TEMPORARY_DIRECTORY) +cmake_print_variables(CPACK_TOPLEVEL_DIRECTORY) +cmake_print_variables(CPACK_PACKAGE_DIRECTORY) +cmake_print_variables(CPACK_PACKAGE_FILE_NAME) + +find_program(LINUXDEPLOY_EXECUTABLE + NAMES linuxdeploy linuxdeploy-x86_64.AppImage + PATHS ${CPACK_PACKAGE_DIRECTORY}/linuxdeploy) + +if (NOT LINUXDEPLOY_EXECUTABLE) + message(STATUS "Downloading linuxdeploy") + set(LINUXDEPLOY_EXECUTABLE ${CPACK_PACKAGE_DIRECTORY}/linuxdeploy/linuxdeploy) + file(DOWNLOAD + https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage + ${LINUXDEPLOY_EXECUTABLE} + INACTIVITY_TIMEOUT 10 + LOG ${CPACK_PACKAGE_DIRECTORY}/linuxdeploy/download.log + STATUS LINUXDEPLOY_DOWNLOAD) + execute_process(COMMAND chmod +x ${LINUXDEPLOY_EXECUTABLE} COMMAND_ECHO STDOUT) +endif() + +execute_process( + COMMAND + ${CMAKE_COMMAND} -E env + OUTPUT=${CPACK_PACKAGE_FILE_NAME}.appimage + VERSION=$,${CPACK_PACKAGE_VERSION},0.1.0> + NO_STRIP=true + ${LINUXDEPLOY_EXECUTABLE} + --appimage-extract-and-run + --appdir=${CPACK_TEMPORARY_DIRECTORY} + --executable=$ + $<$>:--desktop-file=$> + $<$>:--icon-file=$> + --output=appimage + --verbosity=2 +) +]]) + +endif() + +include(CPack) \ No newline at end of file diff --git a/cmake/toolchain-x86_64-w64-mingw32.cmake b/cmake/toolchain-x86_64-w64-mingw32.cmake new file mode 100644 index 000000000..ae4b129c6 --- /dev/null +++ b/cmake/toolchain-x86_64-w64-mingw32.cmake @@ -0,0 +1,26 @@ +set (CMAKE_SYSTEM_NAME Windows) +set(CMAKE_SYSTEM_PROCESSOR x86_64) + +# specify the cross compiler +set (CMAKE_C_COMPILER x86_64-w64-mingw32-gcc CACHE STRING "The C compiler to use") +set (CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++ CACHE STRING "The C++ compiler to use") + +# where is the target environment +set (CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32) + +# search for programs in the build host directories +set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +# for libraries and headers in the target directories +set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + +# set the resource compiler (RHBZ #652435) +set (CMAKE_RC_COMPILER windres) +set (CMAKE_MC_COMPILER windmc) + +# override boost thread component suffix as mingw-w64-boost is compiled with threadapi=win32 +set (Boost_THREADAPI win32) + +set (CMAKE_AR:FILEPATH x86_64-w64-mingw32-ar) +set (CMAKE_RANLIB:FILEPATH x86_64-w64-mingw32-ranlib) \ No newline at end of file From 6406b0679e982d6e33e393695c5449865c7fe8a0 Mon Sep 17 00:00:00 2001 From: KiritoDv Date: Sat, 8 Feb 2025 11:12:47 -0600 Subject: [PATCH 6/7] Removed license for now --- cmake/packaging.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/packaging.cmake b/cmake/packaging.cmake index be0fb3159..94d973abc 100644 --- a/cmake/packaging.cmake +++ b/cmake/packaging.cmake @@ -22,7 +22,7 @@ set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSIO set(CPACK_PACKAGE_CONTACT "YOUR@E-MAIL.net") set(CPACK_DEBIAN_PACKAGE_MAINTAINER "YOUR NAME") -set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md") +# set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md") set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md") if (CMAKE_SYSTEM_NAME STREQUAL "Linux") From 6eb0ee294b905ef7391a22965a617b1b44e7691a Mon Sep 17 00:00:00 2001 From: KiritoDv Date: Sat, 8 Feb 2025 11:15:26 -0600 Subject: [PATCH 7/7] Updated packaging cmake --- cmake/packaging.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/packaging.cmake b/cmake/packaging.cmake index 94d973abc..bbd9a5903 100644 --- a/cmake/packaging.cmake +++ b/cmake/packaging.cmake @@ -77,9 +77,9 @@ execute_process( ${LINUXDEPLOY_EXECUTABLE} --appimage-extract-and-run --appdir=${CPACK_TEMPORARY_DIRECTORY} - --executable=$ - $<$>:--desktop-file=$> - $<$>:--icon-file=$> + --executable=$ + $<$>:--desktop-file=$> + $<$>:--icon-file=$> --output=appimage --verbosity=2 )