From 7ee008e150bc5bcf76082d726f719ee0fdfda982 Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Wed, 11 Feb 2026 02:37:39 -0600 Subject: 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 --- libs/esptk/src/CMakeLists.txt | 55 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 libs/esptk/src/CMakeLists.txt (limited to 'libs/esptk/src/CMakeLists.txt') diff --git a/libs/esptk/src/CMakeLists.txt b/libs/esptk/src/CMakeLists.txt new file mode 100644 index 0000000..8f2b2d3 --- /dev/null +++ b/libs/esptk/src/CMakeLists.txt @@ -0,0 +1,55 @@ +cmake_minimum_required(VERSION 3.16) + +add_library(esptk STATIC) + +target_sources(esptk + PRIVATE + espfile.cpp + record.cpp + subrecord.cpp + tes3record.cpp + tes3subrecord.cpp + PUBLIC + FILE_SET HEADERS + BASE_DIRS ${CMAKE_CURRENT_LIST_DIR}/../include + FILES + ${CMAKE_CURRENT_LIST_DIR}/../include/esptk/espexceptions.h + ${CMAKE_CURRENT_LIST_DIR}/../include/esptk/espfile.h + ${CMAKE_CURRENT_LIST_DIR}/../include/esptk/esptypes.h + ${CMAKE_CURRENT_LIST_DIR}/../include/esptk/record.h + ${CMAKE_CURRENT_LIST_DIR}/../include/esptk/subrecord.h + ${CMAKE_CURRENT_LIST_DIR}/../include/esptk/tes3record.h + ${CMAKE_CURRENT_LIST_DIR}/../include/esptk/tes3subrecord.h +) + + +set_target_properties(esptk PROPERTIES CXX_STANDARD 20) + +# for building +target_include_directories(esptk PRIVATE ${CMAKE_CURRENT_LIST_DIR}/../include/esptk) + +if (MSVC) + target_compile_options(esptk + PRIVATE + "/MP" + "/Wall" + "/external:anglebrackets" + "/external:W0" + ) + target_link_options(esptk + PRIVATE + $<$:/LTCG /INCREMENTAL:NO /OPT:REF /OPT:ICF> + ) + + set_target_properties(esptk PROPERTIES VS_STARTUP_PROJECT esptk) +endif() + +add_library(mo2::esptk ALIAS esptk) + +# isntall +install(TARGETS esptk EXPORT esptkTargets FILE_SET HEADERS) +install(EXPORT esptkTargets + FILE mo2-esptk-targets.cmake + NAMESPACE mo2:: + DESTINATION lib/cmake/mo2-esptk +) -- cgit v1.3.1