aboutsummaryrefslogtreecommitdiff
path: root/libs/game_bethesda/CMakeLists.txt
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-11 02:37:39 -0600
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-11 02:37:39 -0600
commit7ee008e150bc5bcf76082d726f719ee0fdfda982 (patch)
tree27fb39be241fdb5ac2734c574de678977d1856d0 /libs/game_bethesda/CMakeLists.txt
Fluorine Manager: full Linux port of Mod Organizer 2
Complete native Linux port with FUSE-based virtual filesystem, Proton/umu-run integration, and Flatpak packaging. Key features: - FUSE VFS replacing Windows USVFS (in-process + standalone helper for Flatpak) - Proton/GE-Proton/umu-run launcher with env var forwarding - Flatpak support (sandbox-aware VFS, NXM handler, umu-run) - Wine prefix management UI - Case-insensitive path resolution for Linux filesystems - QSettings-safe INI handling (avoids Bethesda INI corruption) - Portable instance support with auto-generated launcher scripts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'libs/game_bethesda/CMakeLists.txt')
-rw-r--r--libs/game_bethesda/CMakeLists.txt56
1 files changed, 56 insertions, 0 deletions
diff --git a/libs/game_bethesda/CMakeLists.txt b/libs/game_bethesda/CMakeLists.txt
new file mode 100644
index 0000000..40736b5
--- /dev/null
+++ b/libs/game_bethesda/CMakeLists.txt
@@ -0,0 +1,56 @@
+cmake_minimum_required(VERSION 3.16)
+project(game_bethesda)
+
+find_package(Qt6 COMPONENTS Widgets REQUIRED)
+
+# Compatibility helpers for upstream plugin CMake files that still call mo2-cmake
+# functions. We implement only what this Linux port needs.
+function(mo2_configure_plugin target)
+ set_target_properties(${target} PROPERTIES
+ AUTOMOC ON
+ AUTOUIC ON
+ AUTORCC ON
+ CXX_STANDARD 23
+ CXX_STANDARD_REQUIRED ON
+ POSITION_INDEPENDENT_CODE ON
+ )
+
+ # Keep bare uibase headers after system headers to avoid strings.h collisions.
+ target_compile_options(${target} PRIVATE
+ "-idirafter" "${CMAKE_SOURCE_DIR}/libs/uibase/include/uibase"
+ )
+ set_property(TARGET ${target} APPEND PROPERTY AUTOMOC_MOC_OPTIONS
+ "-I${CMAKE_SOURCE_DIR}/libs/uibase/include/uibase"
+ )
+endfunction()
+
+function(mo2_default_source_group)
+ # no-op for now
+endfunction()
+
+function(mo2_install_plugin target)
+ install(TARGETS ${target}
+ LIBRARY DESTINATION plugins
+ )
+endfunction()
+
+add_subdirectory(src/gamebryo)
+add_subdirectory(src/creation)
+
+# Build all ported game plugins.
+add_subdirectory(src/games/skyrimse)
+add_subdirectory(src/games/skyrim)
+add_subdirectory(src/games/skyrimvr)
+add_subdirectory(src/games/fallout4)
+add_subdirectory(src/games/fallout4vr)
+add_subdirectory(src/games/fallout3)
+add_subdirectory(src/games/falloutnv)
+add_subdirectory(src/games/fallout76)
+add_subdirectory(src/games/oblivion)
+add_subdirectory(src/games/morrowind)
+add_subdirectory(src/games/nehrim)
+add_subdirectory(src/games/enderal)
+add_subdirectory(src/games/enderalse)
+add_subdirectory(src/games/starfield)
+add_subdirectory(src/games/ttw)
+add_subdirectory(src/games/fallout4london)