From 7f77c7e2c18f786bccdceacc774eff5ec288119b Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 12:16:48 +1000 Subject: [PATCH 01/22] chore: don't commit SSL serts or IDE folders --- .gitignore | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitignore b/.gitignore index 0ba1c63..f672adb 100644 --- a/.gitignore +++ b/.gitignore @@ -67,3 +67,11 @@ vcpkg_installed/ # test output & cache Testing/ .cache/ + +# SSL certs +*.crt +*.key + +# IDE Folders +.idea/ +.vscode/ From bed1084beb87a8c336d6114e5a66e49670fa2e4e Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 12:17:15 +1000 Subject: [PATCH 02/22] feat: generate a version.hpp file --- CMakeLists.txt | 18 +++++++++++++++++- generated/version.hpp.in | 10 ++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 generated/version.hpp.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d1a258..1a3220e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,20 @@ cmake_minimum_required(VERSION 3.20) -project(xtrpg_cpp_server LANGUAGES CXX) + +# If no variable is passed from the environment/command line, use a fallback +if(NOT DEFINED APP_VERSION) + set(APP_VERSION "0.1.0") +endif() + +# Separate the SemVer string into major, minor, patch parts +string(REPLACE "." ";" VERSION_LIST ${APP_VERSION}) +list(GET VERSION_LIST 0 PROJECT_VERSION_MAJOR) +list(GET VERSION_LIST 1 PROJECT_VERSION_MINOR) +list(GET VERSION_LIST 2 PROJECT_VERSION_PATCH) + +project(xtrpg_cpp_server VERSION ${APP_VERSION} LANGUAGES CXX) + +# Generate the actual hpp file into the build binary directory +configure_file("generated/version.hpp.in" ${CMAKE_BINARY_DIR}/generated/version.hpp) # Auto-detect vcpkg if VCPKG_ROOT environment variable is set if(DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE) @@ -82,6 +97,7 @@ endif() # Executable Target add_executable(xtrpg_cpp_server apps/main.cpp) target_link_libraries(xtrpg_cpp_server PRIVATE xtrpg_core) +target_include_directories(xtrpg_cpp_server PRIVATE ${CMAKE_BINARY_DIR}/generated) # If modules produce targets registered via xmpp_register_user_module if(USER_MODULE_TARGETS) diff --git a/generated/version.hpp.in b/generated/version.hpp.in new file mode 100644 index 0000000..0801610 --- /dev/null +++ b/generated/version.hpp.in @@ -0,0 +1,10 @@ +#pragma once + +#include + +namespace xtprg { +constexpr std::string_view VERSION = "@PROJECT_VERSION@"; +constexpr int VERSION_MAJOR = @PROJECT_VERSION_MAJOR @; +constexpr int VERSION_MINOR = @PROJECT_VERSION_MINOR @; +constexpr int VERSION_PATCH = @PROJECT_VERSION_PATCH @; +} // namespace xtprg \ No newline at end of file From e5d4bf4e130c97a73bd8390de5bc30cce03e4664 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 12:20:22 +1000 Subject: [PATCH 03/22] refactor: rename APP_VERSION to be BUILD_VERSION --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a3220e..adb18dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,17 +1,17 @@ cmake_minimum_required(VERSION 3.20) # If no variable is passed from the environment/command line, use a fallback -if(NOT DEFINED APP_VERSION) - set(APP_VERSION "0.1.0") +if(NOT DEFINED BUILD_VERSION) + set(BUILD_VERSION "0.1.0") endif() # Separate the SemVer string into major, minor, patch parts -string(REPLACE "." ";" VERSION_LIST ${APP_VERSION}) +string(REPLACE "." ";" VERSION_LIST ${BUILD_VERSION}) list(GET VERSION_LIST 0 PROJECT_VERSION_MAJOR) list(GET VERSION_LIST 1 PROJECT_VERSION_MINOR) list(GET VERSION_LIST 2 PROJECT_VERSION_PATCH) -project(xtrpg_cpp_server VERSION ${APP_VERSION} LANGUAGES CXX) +project(xtrpg_cpp_server VERSION ${BUILD_VERSION} LANGUAGES CXX) # Generate the actual hpp file into the build binary directory configure_file("generated/version.hpp.in" ${CMAKE_BINARY_DIR}/generated/version.hpp) From 615b979ad9d91414c886a39eecf3ec047ecd31f2 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 12:20:48 +1000 Subject: [PATCH 04/22] ci: add a github workflow to tag releases and increment the version number --- .github/workflows/release.yml | 51 +++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..ec08387 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,51 @@ +name: Automated Semantic Release + +on: + push: + branches: + - main + +permissions: + contents: write + +jobs: + release: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Required to see full git tag history + + # Automatically calculate the next version string based on commits + - name: Calculate Next Version + id: semver + uses: paulhatch/semantic-version@v5.4.0 + with: + tag_prefix: "v" + major_pattern: "(MAJOR)" + minor_pattern: "feat:" + version_format: "${major}.${minor}.${patch}" + + # Pass the calculated version variable straight into the CMake config + - name: Configure CMake with New Version + run: | + cmake -B build -S . \ + -DBUILD_VERSION="${{ steps.semver.outputs.version }}" \ + -DCMAKE_BUILD_TYPE=Release + - name: Build C++ Binary + run: cmake --build build --config Release + + # Create the Git Tag and GitHub Release matching the calculated version + - name: Create GitHub Release + uses: softprops/action-gh-release@v2 + with: + tag_name: v${{ steps.semver.outputs.version }} + name: Release v${{ steps.semver.outputs.version }} + body: | + Automated release generated by GitHub Actions. + Version: ${{ steps.semver.outputs.version }} + draft: false + prerelease: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From dba825215461d5452be69d546d9ac7c0be13cd05 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 12:30:22 +1000 Subject: [PATCH 05/22] ci: update the release workflow to use vcpkg for dependency management --- .github/workflows/release.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ec08387..6703c60 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,6 +17,13 @@ jobs: with: fetch-depth: 0 # Required to see full git tag history + # Set up vcpkg executable and binary cache + - name: Setup vcpkg + uses: lukka/run-vcpkg@v11 + with: + # Uses the vcpkg.json in your repository root automatically + vcpkgJsonGlob: 'vcpkg.json' + # Automatically calculate the next version string based on commits - name: Calculate Next Version id: semver @@ -27,12 +34,15 @@ jobs: minor_pattern: "feat:" version_format: "${major}.${minor}.${patch}" - # Pass the calculated version variable straight into the CMake config + # Configure CMake passing the vcpkg toolchain file - name: Configure CMake with New Version run: | cmake -B build -S . \ + -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" \ -DBUILD_VERSION="${{ steps.semver.outputs.version }}" \ -DCMAKE_BUILD_TYPE=Release + + # Build the C++ Binary - name: Build C++ Binary run: cmake --build build --config Release From 77dcecfd993bd9761de1cbe8b1ceb12fb312aefe Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 12:30:43 +1000 Subject: [PATCH 06/22] ci: remove unused dependencies --- vcpkg.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/vcpkg.json b/vcpkg.json index 28a0158..7f1cca4 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -3,11 +3,6 @@ "version-string": "0.1.0", "dependencies": [ "asio", - "openssl", - "pugixml", - { - "name": "sqlite3", - "platform": "windows | linux | osx" - } + "openssl" ] } \ No newline at end of file From 63d7d7ad2ba8126cf81a7d104e2a98a56659d653 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 12:38:12 +1000 Subject: [PATCH 07/22] ci: add build pin for vcpkg --- vcpkg.json | 1 + 1 file changed, 1 insertion(+) diff --git a/vcpkg.json b/vcpkg.json index 7f1cca4..069b655 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -1,6 +1,7 @@ { "name": "xtrpg-cpp-server", "version-string": "0.1.0", + "builtin-baseline": "501db0f171095204123565f4262ae7d17482ea05", "dependencies": [ "asio", "openssl" From 4630b18faaa0e26aa5dd7df6054083c21545cb04 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 12:48:08 +1000 Subject: [PATCH 08/22] ci: config vcpkg to download outside the git repository directory --- .github/workflows/release.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6703c60..caecf2d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,13 +15,18 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 with: - fetch-depth: 0 # Required to see full git tag history + fetch-depth: 0 + + + - name: Configure Git Safe Directory + run: git config --global --add safe.directory '*' # Set up vcpkg executable and binary cache - name: Setup vcpkg uses: lukka/run-vcpkg@v11 with: - # Uses the vcpkg.json in your repository root automatically + # Uses the vcpkg.json in the repository root + vcpkgDirectory: '${{ github.workspace }}/../vcpkg' vcpkgJsonGlob: 'vcpkg.json' # Automatically calculate the next version string based on commits From 2b5a05846e987f15763795dc0b7259b9f682b844 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 12:53:28 +1000 Subject: [PATCH 09/22] Update release.yml --- .github/workflows/release.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index caecf2d..a20b5fc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: with: fetch-depth: 0 - + - name: Configure Git Safe Directory run: git config --global --add safe.directory '*' @@ -26,7 +26,6 @@ jobs: uses: lukka/run-vcpkg@v11 with: # Uses the vcpkg.json in the repository root - vcpkgDirectory: '${{ github.workspace }}/../vcpkg' vcpkgJsonGlob: 'vcpkg.json' # Automatically calculate the next version string based on commits From 65b39fd38309859815b97fc66eff86943a213101 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 12:57:49 +1000 Subject: [PATCH 10/22] ci: add workflow to test that a PR builds and compiles --- .github/workflows/build.yml | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..6ddda5e --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,43 @@ +name: Automated Release Build + +on: + pull_request: + branches: + - main + types: [opened, synchronize, reopened] + # push: + # branches: + # - main + +permissions: + contents: write + +jobs: + release: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Configure Git Safe Directory + run: git config --global --add safe.directory '*' + + # Set up vcpkg executable and binary cache + - name: Setup vcpkg + uses: lukka/run-vcpkg@v11 + with: + # Uses the vcpkg.json in the repository root + vcpkgJsonGlob: 'vcpkg.json' + + # Configure CMake passing the vcpkg toolchain file + - name: Configure CMake with New Version + run: | + cmake -B build -S . \ + -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" \ + -DCMAKE_BUILD_TYPE=Release + + # Build the C++ Binary + - name: Build C++ Binary + run: cmake --build build --config Release From 34267e91a6baecd4feb6eb11667778c65886b976 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 12:58:57 +1000 Subject: [PATCH 11/22] fix: rename step --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6ddda5e..7abd441 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,7 +13,7 @@ permissions: contents: write jobs: - release: + build: runs-on: ubuntu-latest steps: - name: Checkout Code From 37a66b05768121c6e16d82b3597a8a6714bd42bc Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 12:59:36 +1000 Subject: [PATCH 12/22] fix: permissions --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7abd441..d37ceeb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ on: # - main permissions: - contents: write + contents: read jobs: build: From 361350a63a57aebcd783a35cf5eaa4dc9dbf4e79 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 13:01:34 +1000 Subject: [PATCH 13/22] Update build.yml --- .github/workflows/build.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d37ceeb..7a7e256 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,6 +20,13 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 + + - name: Checkout vcpkg + uses: actions/checkout@v4 + with: + repository: 'microsoft/vcpkg' + ref: '501db0f171095204123565f4262ae7d17482ea05' + path: 'vcpkg' - name: Configure Git Safe Directory run: git config --global --add safe.directory '*' From 87447631b58e1d3bb8bb73df2c419d6c88776190 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 13:05:35 +1000 Subject: [PATCH 14/22] fix: checkout vcpkg by thier tag --- .github/workflows/build.yml | 2 +- .github/workflows/release.yml | 8 +++++++- vcpkg.json | 1 - 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7a7e256..46c6c04 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: uses: actions/checkout@v4 with: repository: 'microsoft/vcpkg' - ref: '501db0f171095204123565f4262ae7d17482ea05' + ref: '2026.07.29' path: 'vcpkg' - name: Configure Git Safe Directory diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a20b5fc..0eeb178 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,13 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 - + + - name: Checkout vcpkg + uses: actions/checkout@v4 + with: + repository: 'microsoft/vcpkg' + ref: '2026.07.29' + path: 'vcpkg' - name: Configure Git Safe Directory run: git config --global --add safe.directory '*' diff --git a/vcpkg.json b/vcpkg.json index 069b655..7f1cca4 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -1,7 +1,6 @@ { "name": "xtrpg-cpp-server", "version-string": "0.1.0", - "builtin-baseline": "501db0f171095204123565f4262ae7d17482ea05", "dependencies": [ "asio", "openssl" From f7d8775923afa4ece4b725c88ae15cac6c2f71d3 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 13:12:15 +1000 Subject: [PATCH 15/22] ci: move away from lukka/run-vcpkg --- .github/workflows/build.yml | 30 ++++++++++++++++++------------ .github/workflows/release.yml | 26 ++++++++++++++++---------- 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 46c6c04..cf1bda4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,22 +21,28 @@ jobs: with: fetch-depth: 0 + # Fetch the official vcpkg repo directly - name: Checkout vcpkg uses: actions/checkout@v4 with: - repository: 'microsoft/vcpkg' - ref: '2026.07.29' - path: 'vcpkg' - - - name: Configure Git Safe Directory - run: git config --global --add safe.directory '*' - - # Set up vcpkg executable and binary cache - - name: Setup vcpkg - uses: lukka/run-vcpkg@v11 + repository: "https://github.com/Microsoft/vcpkg" + path: "vcpkg" + + - name: Bootstrap vcpkg + run: | + ./vcpkg/bootstrap-vcpkg.sh + shell: bash + + # Set up GitHub Actions Cache for vcpkg binary caching + - name: Setup vcpkg Cache + uses: actions/cache@v4 with: - # Uses the vcpkg.json in the repository root - vcpkgJsonGlob: 'vcpkg.json' + path: | + ~/.cache/vcpkg + ~/.vcpkg + key: ${{ runner.os }}-vcpkg-${{ hashFiles('vcpkg.json') }} + restore-keys: | + ${{ runner.os }}-vcpkg- # Configure CMake passing the vcpkg toolchain file - name: Configure CMake with New Version diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0eeb178..617499d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,22 +17,28 @@ jobs: with: fetch-depth: 0 + # Fetch the official vcpkg repo directly - name: Checkout vcpkg uses: actions/checkout@v4 with: - repository: 'microsoft/vcpkg' - ref: '2026.07.29' - path: 'vcpkg' + repository: "https://github.com/Microsoft/vcpkg" + path: "vcpkg" - - name: Configure Git Safe Directory - run: git config --global --add safe.directory '*' + - name: Bootstrap vcpkg + run: | + ./vcpkg/bootstrap-vcpkg.sh + shell: bash - # Set up vcpkg executable and binary cache - - name: Setup vcpkg - uses: lukka/run-vcpkg@v11 + # Set up GitHub Actions Cache for vcpkg binary caching + - name: Setup vcpkg Cache + uses: actions/cache@v4 with: - # Uses the vcpkg.json in the repository root - vcpkgJsonGlob: 'vcpkg.json' + path: | + ~/.cache/vcpkg + ~/.vcpkg + key: ${{ runner.os }}-vcpkg-${{ hashFiles('vcpkg.json') }} + restore-keys: | + ${{ runner.os }}-vcpkg- # Automatically calculate the next version string based on commits - name: Calculate Next Version From 57491bc35deef87fae5548de934a560c3aad3a90 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 13:13:42 +1000 Subject: [PATCH 16/22] fix: vcpkg repo path --- .github/workflows/build.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cf1bda4..7e3ed91 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: - name: Checkout vcpkg uses: actions/checkout@v4 with: - repository: "https://github.com/Microsoft/vcpkg" + repository: "Microsoft/vcpkg" path: "vcpkg" - name: Bootstrap vcpkg diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 617499d..bbdc049 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: - name: Checkout vcpkg uses: actions/checkout@v4 with: - repository: "https://github.com/Microsoft/vcpkg" + repository: "Microsoft/vcpkg" path: "vcpkg" - name: Bootstrap vcpkg From d3a7678adf720a7252ad729aea7fce8232701c52 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 13:15:26 +1000 Subject: [PATCH 17/22] fix: path to vcpkg cmake file --- .github/workflows/build.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7e3ed91..5d87630 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,7 +48,7 @@ jobs: - name: Configure CMake with New Version run: | cmake -B build -S . \ - -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" \ + -DCMAKE_TOOLCHAIN_FILE="./vcpkg/scripts/buildsystems/vcpkg.cmake" \ -DCMAKE_BUILD_TYPE=Release # Build the C++ Binary diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bbdc049..ba0cabf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -54,7 +54,7 @@ jobs: - name: Configure CMake with New Version run: | cmake -B build -S . \ - -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" \ + -DCMAKE_TOOLCHAIN_FILE="./vcpkg/scripts/buildsystems/vcpkg.cmake" \ -DBUILD_VERSION="${{ steps.semver.outputs.version }}" \ -DCMAKE_BUILD_TYPE=Release From ccb55fcb738b2e2be0cb9f4e816eea14a840e0e3 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 13:19:00 +1000 Subject: [PATCH 18/22] ci: remove unused dependecy --- CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index adb18dd..5b256e7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,7 +28,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) # Find Packages - vcpkg provides standard CMake target configs find_package(asio CONFIG REQUIRED) find_package(OpenSSL REQUIRED) -find_package(pugixml CONFIG REQUIRED) find_package(threads REQUIRED) # Append cmake directory to module path @@ -58,7 +57,6 @@ target_link_libraries(xtrpg_core PUBLIC asio::asio OpenSSL::SSL OpenSSL::Crypto - pugixml::pugixml Threads::Threads ) From 1d9a767da1f3b1c823cd9a02c5b2066b5202bda2 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 13:42:04 +1000 Subject: [PATCH 19/22] Update CMakeLists.txt --- CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5b256e7..e155cbc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,7 +28,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) # Find Packages - vcpkg provides standard CMake target configs find_package(asio CONFIG REQUIRED) find_package(OpenSSL REQUIRED) -find_package(threads REQUIRED) # Append cmake directory to module path list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") @@ -57,7 +56,6 @@ target_link_libraries(xtrpg_core PUBLIC asio::asio OpenSSL::SSL OpenSSL::Crypto - Threads::Threads ) # Platform-specific OS network primitives for raw sockets From 1a3fcdc32e626c4a69f5bf6fb39037c052fc9114 Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 14:13:28 +1000 Subject: [PATCH 20/22] Update CMakeLists.txt --- CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e155cbc..f86596d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,9 +45,6 @@ option(ENABLE_STORAGE_POSTGRES "Include PostgreSQL storage backend" OFF) # Core Server Target add_library(xtrpg_core STATIC - src/core/C2SServer.cpp - src/core/S2SServer.cpp - src/core/ModuleRegistry.cpp ) target_include_directories(xtrpg_core PUBLIC include) From f750cf2c0d0f897f74ffeca72db462b07089b04b Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 14:17:56 +1000 Subject: [PATCH 21/22] Update CMakeLists.txt --- CMakeLists.txt | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f86596d..4b845d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,9 +44,9 @@ option(ENABLE_STORAGE_SQLITE "Include SQLite storage backend" OFF) option(ENABLE_STORAGE_POSTGRES "Include PostgreSQL storage backend" OFF) # Core Server Target -add_library(xtrpg_core STATIC -) -target_include_directories(xtrpg_core PUBLIC include) +# add_library(xtrpg_core STATIC +# ) +# target_include_directories(xtrpg_core PUBLIC include) # Link imported targets across platforms target_link_libraries(xtrpg_core PUBLIC @@ -56,24 +56,24 @@ target_link_libraries(xtrpg_core PUBLIC ) # Platform-specific OS network primitives for raw sockets -if(WIN32) - target_link_libraries(xtrpg_core PUBLIC ws2_32 wsock32 crypt32) -elseif(UNIX AND NOT APPLE) - target_link_libraries(xtrpg_core PUBLIC pthread dl) -endif() +# if(WIN32) +# target_link_libraries(xtrpg_core PUBLIC ws2_32 wsock32 crypt32) +# elseif(UNIX AND NOT APPLE) +# target_link_libraries(xtrpg_core PUBLIC pthread dl) +# endif() # Conditional Storage Compilation -if(ENABLE_STORAGE_SQLITE) - find_package(SQLite3 REQUIRED) - target_sources(xtrpg_core PRIVATE src/storage/SQLiteBackend.cpp) - target_compile_definitions(xtrpg_core PUBLIC HAS_STORAGE_SQLITE) - target_link_libraries(xtrpg_core PRIVATE SQLite::SQLite3) -endif() - -if(ENABLE_STORAGE_MEMORY) - target_sources(xtrpg_core PRIVATE src/storage/MemoryBackend.cpp) - target_compile_definitions(xtrpg_core PUBLIC HAS_STORAGE_MEMORY) -endif() +# if(ENABLE_STORAGE_SQLITE) +# find_package(SQLite3 REQUIRED) +# target_sources(xtrpg_core PRIVATE src/storage/SQLiteBackend.cpp) +# target_compile_definitions(xtrpg_core PUBLIC HAS_STORAGE_SQLITE) +# target_link_libraries(xtrpg_core PRIVATE SQLite::SQLite3) +# endif() + +# if(ENABLE_STORAGE_MEMORY) +# target_sources(xtrpg_core PRIVATE src/storage/MemoryBackend.cpp) +# target_compile_definitions(xtrpg_core PUBLIC HAS_STORAGE_MEMORY) +# endif() # Include discovered modules into the build if(UserModules_FOUND) @@ -89,7 +89,7 @@ endif() # Executable Target add_executable(xtrpg_cpp_server apps/main.cpp) -target_link_libraries(xtrpg_cpp_server PRIVATE xtrpg_core) +# target_link_libraries(xtrpg_cpp_server PRIVATE xtrpg_core) target_include_directories(xtrpg_cpp_server PRIVATE ${CMAKE_BINARY_DIR}/generated) # If modules produce targets registered via xmpp_register_user_module From 5a942ef37abebcc197e68164442dddab812e204b Mon Sep 17 00:00:00 2001 From: Xeno Fox Date: Wed, 19 Aug 2026 14:18:56 +1000 Subject: [PATCH 22/22] Update CMakeLists.txt --- CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b845d2..f4d5f40 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,9 +39,9 @@ set(USER_MODULES_DIR "" CACHE PATH "Directory containing custom XMPP user module find_package(UserModules QUIET) # Modular Build Options -option(ENABLE_STORAGE_MEMORY "Include in-memory storage backend" ON) -option(ENABLE_STORAGE_SQLITE "Include SQLite storage backend" OFF) -option(ENABLE_STORAGE_POSTGRES "Include PostgreSQL storage backend" OFF) +# option(ENABLE_STORAGE_MEMORY "Include in-memory storage backend" ON) +# option(ENABLE_STORAGE_SQLITE "Include SQLite storage backend" OFF) +# option(ENABLE_STORAGE_POSTGRES "Include PostgreSQL storage backend" OFF) # Core Server Target # add_library(xtrpg_core STATIC @@ -49,11 +49,11 @@ option(ENABLE_STORAGE_POSTGRES "Include PostgreSQL storage backend" OFF) # target_include_directories(xtrpg_core PUBLIC include) # Link imported targets across platforms -target_link_libraries(xtrpg_core PUBLIC - asio::asio - OpenSSL::SSL - OpenSSL::Crypto -) +# target_link_libraries(xtrpg_core PUBLIC +# asio::asio +# OpenSSL::SSL +# OpenSSL::Crypto +# ) # Platform-specific OS network primitives for raw sockets # if(WIN32) @@ -94,5 +94,5 @@ target_include_directories(xtrpg_cpp_server PRIVATE ${CMAKE_BINARY_DIR}/generate # If modules produce targets registered via xmpp_register_user_module if(USER_MODULE_TARGETS) - target_link_libraries(xmpp_server PRIVATE ${USER_MODULE_TARGETS}) + target_link_libraries(xtrpg_cpp_server PRIVATE ${USER_MODULE_TARGETS}) endif()