diff options
| author | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-02-15 13:54:21 -0600 |
|---|---|---|
| committer | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-02-15 13:54:21 -0600 |
| commit | 2d5cf8d6d6f137bb10b2a63823fc5382d7c78602 (patch) | |
| tree | 4da6093e46d26a8aa199edc2d920c6b323a47993 /src | |
| parent | 49918c699153ad35290f961ae150bf5d4513e440 (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.txt | 29 |
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") |
