diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 3185e6a..7e78949 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,4 +1,4 @@
-name: Build Installer FOMOD C# Plugin
+name: Build Installer FOMOD C#
on:
push:
@@ -6,11 +6,42 @@ on:
pull_request:
types: [opened, synchronize, reopened]
+env:
+ VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
+
jobs:
build:
runs-on: windows-2022
steps:
- - name: Build Installer FOMOD C# Plugin
- uses: ModOrganizer2/build-with-mob-action@master
+ # https://learn.microsoft.com/en-us/vcpkg/consume/binary-caching-github-actions-cache
+ - name: Export GitHub Actions cache environment variables
+ uses: actions/github-script@v7
+ with:
+ script: |
+ core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
+ core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
+
+ - name: Install Qt
+ uses: jurplel/install-qt-action@v3
with:
- mo2-dependencies: cmake_common uibase
+ setup-python: false
+ version: 6.7.0
+ modules:
+ cache: true
+
+ - uses: actions/checkout@v4
+
+ - name: "Set environmental variables"
+ shell: bash
+ run: |
+ echo "VCPKG_ROOT=$VCPKG_INSTALLATION_ROOT" >> $GITHUB_ENV
+
+ - name: Configure Installer FOMOD C#
+ shell: pwsh
+ run: |
+ cmake --preset vs2022-windows-standalone `
+ "-DCMAKE_PREFIX_PATH=${env:QT_ROOT_DIR}\msvc2019_64" `
+ "-DCMAKE_INSTALL_PREFIX=install"
+
+ - name: Build Installer FOMOD C#
+ run: cmake --build vsbuild --config RelWithDebInfo --target INSTALL
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3afad35..3170ab3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,10 +2,4 @@ cmake_minimum_required(VERSION 3.16)
project(installer_fomod_csharp)
-if(DEFINED DEPENDENCIES_DIR)
- include(${DEPENDENCIES_DIR}/modorganizer_super/cmake_common/mo2.cmake)
-else()
- include(${CMAKE_CURRENT_LIST_DIR}/../cmake_common/mo2.cmake)
-endif()
-
add_subdirectory(src)
diff --git a/CMakePresets.json b/CMakePresets.json
new file mode 100644
index 0000000..16e1e6f
--- /dev/null
+++ b/CMakePresets.json
@@ -0,0 +1,60 @@
+{
+ "configurePresets": [
+ {
+ "errors": {
+ "deprecated": true
+ },
+ "hidden": true,
+ "name": "cmake-dev",
+ "warnings": {
+ "deprecated": true,
+ "dev": true
+ }
+ },
+ {
+ "cacheVariables": {
+ "VCPKG_MANIFEST_NO_DEFAULT_FEATURES": {
+ "type": "BOOL",
+ "value": "ON"
+ }
+ },
+ "toolchainFile": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
+ "hidden": true,
+ "name": "vcpkg"
+ },
+ {
+ "hidden": true,
+ "inherits": ["vcpkg"],
+ "name": "vcpkg-dev"
+ },
+ {
+ "binaryDir": "${sourceDir}/vsbuild",
+ "architecture": {
+ "strategy": "set",
+ "value": "x64"
+ },
+ "cacheVariables": {
+ "CMAKE_CXX_FLAGS": "/EHsc /MP /W4",
+ "VCPKG_TARGET_TRIPLET": {
+ "type": "STRING",
+ "value": "x64-windows-static-md"
+ }
+ },
+ "generator": "Visual Studio 17 2022",
+ "inherits": ["cmake-dev", "vcpkg-dev"],
+ "name": "vs2022-windows",
+ "toolset": "v143"
+ },
+ {
+ "cacheVariables": {
+ "VCPKG_MANIFEST_FEATURES": {
+ "type": "STRING",
+ "value": "standalone"
+ }
+ },
+ "inherits": "vs2022-windows",
+ "name": "vs2022-windows-standalone"
+ }
+ ],
+ "version": 4
+}
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 0577735..09b3015 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,7 +1,11 @@
cmake_minimum_required(VERSION 3.16)
+find_package(mo2-cmake CONFIG REQUIRED)
+find_package(mo2-uibase CONFIG REQUIRED)
+
add_library(installer_fomod_csharp SHARED)
mo2_configure_plugin(installer_fomod_csharp WARNINGS OFF CLI ON)
-mo2_install_target(installer_fomod_csharp)
+target_link_libraries(installer_fomod_csharp PRIVATE mo2::uibase)
+mo2_install_plugin(installer_fomod_csharp)
set_target_properties(installer_fomod_csharp PROPERTIES CXX_STANDARD 20)
diff --git a/src/base_script.cpp b/src/base_script.cpp
index b80f9aa..5ec4e6e 100644
--- a/src/base_script.cpp
+++ b/src/base_script.cpp
@@ -15,39 +15,39 @@ You should have received a copy of the GNU General Public License
along with Mod Organizer. If not, see .
*/
-// clang-format off
-
#include "base_script.h"
#include
#include