aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-15 13:54:21 -0600
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-15 13:54:21 -0600
commit2d5cf8d6d6f137bb10b2a63823fc5382d7c78602 (patch)
tree4da6093e46d26a8aa199edc2d920c6b323a47993 /src
parent49918c699153ad35290f961ae150bf5d4513e440 (diff)
Replace Python build deps with uv across all build paths
Use uv as the single Python package manager for Docker, source, and Flatpak builds. Python 3.13 and pybind11==2.13.6 are now consistent across all three paths. - Docker: install uv + build venv instead of python3-dev/pip/pybind11-dev - CMake: bootstrap pyvenv with uv (REQUIRED/FATAL_ERROR) when no explicit Python provided; pin pybind11==2.13.6, add sip - Flatpak: remove pybind11 cmake module, use uv pip install --target for build deps, uv for portable Python packages - build-inner.sh: use BUILD_PY throughout, uv pip install for portable runtime packages, simplify embed check to direct Python invocation - VFS helper: fall back to shared libfuse3 when static .a unavailable Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'src')
-rw-r--r--src/src/CMakeLists.txt29
1 files changed, 24 insertions, 5 deletions
diff --git a/src/src/CMakeLists.txt b/src/src/CMakeLists.txt
index 664b236..699dfae 100644
--- a/src/src/CMakeLists.txt
+++ b/src/src/CMakeLists.txt
@@ -130,12 +130,25 @@ if(NOT WIN32)
vfs/mo2filesystem.cpp
vfs/inodetable.cpp
vfs/overwritemanager.cpp)
- # Statically link libfuse3 so the helper is fully self-contained (runs on
- # the host via flatpak-spawn where the Flatpak SDK's .so files don't exist).
+ # Prefer static libfuse3 so the helper is fully self-contained (Flatpak
+ # runs it on the host via flatpak-spawn where SDK .so files don't exist).
+ # Fall back to shared linking for source builds where libfuse3.a isn't
+ # available (the helper still works since libfuse3.so is on the host).
+ find_library(_fuse3_static libfuse3.a PATHS ${FUSE3_LIBRARY_DIRS} NO_DEFAULT_PATH)
+ if(NOT _fuse3_static)
+ find_library(_fuse3_static libfuse3.a)
+ endif()
target_link_directories(mo2-vfs-helper PRIVATE ${FUSE3_LIBRARY_DIRS})
- target_link_libraries(mo2-vfs-helper PRIVATE
- -Wl,-Bstatic -lfuse3 -Wl,-Bdynamic
- Threads::Threads)
+ if(_fuse3_static)
+ target_link_libraries(mo2-vfs-helper PRIVATE
+ -Wl,-Bstatic -lfuse3 -Wl,-Bdynamic
+ Threads::Threads)
+ else()
+ message(STATUS "libfuse3.a not found, linking mo2-vfs-helper against shared libfuse3")
+ target_link_libraries(mo2-vfs-helper PRIVATE
+ PkgConfig::FUSE3
+ Threads::Threads)
+ endif()
target_include_directories(mo2-vfs-helper PRIVATE ${FUSE3_INCLUDE_DIRS})
target_compile_definitions(mo2-vfs-helper PRIVATE FUSE_USE_VERSION=35)
target_compile_features(mo2-vfs-helper PRIVATE cxx_std_23)
@@ -262,6 +275,12 @@ if(NOT WIN32)
endif()
endif()
+ # ── Deploy bundled stylesheets (themes) ──
+ add_custom_command(TARGET organizer POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy_directory
+ "${CMAKE_CURRENT_SOURCE_DIR}/stylesheets"
+ "$<TARGET_FILE_DIR:organizer>/stylesheets")
+
# Keep only the canonical Fallout NV plugin filename on Linux (case-sensitive FS).
add_custom_command(TARGET organizer POST_BUILD
COMMAND ${CMAKE_COMMAND} -E rm -f "$<TARGET_FILE_DIR:organizer>/plugins/libgame_falloutnv.so")