diff options
| author | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-04-12 03:00:11 -0500 |
|---|---|---|
| committer | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-04-12 03:00:11 -0500 |
| commit | b54e479a3f9e973a083c643905f21c59fadd63bb (patch) | |
| tree | ff920cc2614c5d014e7de910cbad75875257776e /libs/lootcli/src/CMakeLists.txt | |
| parent | bf7a57fc55493247a624ecfd65e4d73964e7d8d2 (diff) | |
Remove LOOT integration entirely
The sort button was already hidden on Linux (setVisible(false)) and
the LOOT feedback path (LootDialog -> addLootReport) has always been
Windows-only, meaning the dirty/incompatibilities/missingMasters/messages
tooltip bullets and the dirty-plugin icon could never fire on Linux.
MO2 shipped lootcli + libloot for a load-order sort mechanism that was
unreachable from the UI.
Users who want LOOT can download it from https://github.com/loot/loot
and run it against their instance directly.
- Drop libs/lootcli/, libloot Dockerfile build step, and lootcli
staging/patchelf in build-inner.sh
- Drop src/src/loot.{cpp,h}, src/src/lootdialog.{cpp,h,ui}
- Extract MarkdownDocument / MarkdownPage (used by UpdateDialog for its
changelog view) into src/src/markdowndocument.{h,cpp}
- Strip addLootReport, makeLootTooltip, Loot::Plugin field, LOOT icon
checks, and LOOT tooltip/isProblematic/hasInfo paths from pluginlist
- Delete sortButton widget, updateSortButton(), onSortButtonClicked(),
and all m_didUpdateMasterList wiring
- Delete lootLogLevel setting, combo box, and "Integrated LOOT" group
from the diagnostics settings tab
Diffstat (limited to 'libs/lootcli/src/CMakeLists.txt')
| -rw-r--r-- | libs/lootcli/src/CMakeLists.txt | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/libs/lootcli/src/CMakeLists.txt b/libs/lootcli/src/CMakeLists.txt deleted file mode 100644 index fdc292e..0000000 --- a/libs/lootcli/src/CMakeLists.txt +++ /dev/null @@ -1,138 +0,0 @@ -cmake_minimum_required(VERSION 3.16) - -# Qt is not required, this allows us to skip building the executable and only create -# the single-header interface when using this as a VCPKG dependency - -find_package(Qt6 CONFIG COMPONENTS Core) - -if (Qt6_FOUND) - -message(STATUS "Qt6 found, building lootcli executable") - -find_package(tomlplusplus CONFIG REQUIRED) -find_package(Boost REQUIRED CONFIG COMPONENTS locale) - -# Try to find libloot via cmake config, then fall back to pkg-config -find_package(libloot CONFIG QUIET) -if(NOT libloot_FOUND) - # On Linux with AUR package, libloot installs a .pc file - find_package(PkgConfig) - if(PkgConfig_FOUND) - pkg_check_modules(LIBLOOT REQUIRED IMPORTED_TARGET libloot) - endif() -endif() - -if(TARGET libloot::loot) - # avoid CMake error/warning - set_target_properties(libloot::loot PROPERTIES - MAP_IMPORTED_CONFIG_RELEASE RelWithDebInfo - MAP_IMPORTED_CONFIG_MINSIZEREL RelWithDebInfo - ) -endif() - -if(WIN32) - add_executable(lootcli WIN32) - set_target_properties(lootcli PROPERTIES - CXX_STANDARD 20 - WIN32_EXECUTABLE TRUE) -else() - add_executable(lootcli) - set_target_properties(lootcli PROPERTIES - CXX_STANDARD 20) -endif() - -set(LOOTCLI_SOURCES - game_settings.cpp - game_settings.h - lootthread.cpp - lootthread.h - main.cpp - pch.h - version.h - ${CMAKE_CURRENT_SOURCE_DIR}/../include/lootcli/lootcli.h -) - -if(WIN32) - list(APPEND LOOTCLI_SOURCES version.rc) -endif() - -target_sources(lootcli PRIVATE ${LOOTCLI_SOURCES}) - -if(WIN32) - target_compile_definitions(lootcli - PRIVATE - _UNICODE UNICODE - _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING) -endif() - -target_include_directories(lootcli PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../include) -target_precompile_headers(lootcli PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/pch.h) - -# Link libraries -if(TARGET libloot::loot) - target_link_libraries(lootcli PRIVATE libloot::loot) -elseif(TARGET PkgConfig::LIBLOOT) - target_link_libraries(lootcli PRIVATE PkgConfig::LIBLOOT) -else() - # Fallback: try to find the library manually - find_library(LIBLOOT_LIBRARY NAMES loot libloot) - find_path(LIBLOOT_INCLUDE_DIR NAMES loot/api.h) - if(LIBLOOT_LIBRARY AND LIBLOOT_INCLUDE_DIR) - target_link_libraries(lootcli PRIVATE ${LIBLOOT_LIBRARY}) - target_include_directories(lootcli PRIVATE ${LIBLOOT_INCLUDE_DIR}) - else() - message(FATAL_ERROR "libloot not found. Install libloot or set CMAKE_PREFIX_PATH.") - endif() -endif() - -target_link_libraries(lootcli - PRIVATE Boost::headers Boost::locale - tomlplusplus::tomlplusplus Qt6::Core) - -if(NOT WIN32) - find_package(CURL REQUIRED) - target_link_libraries(lootcli PRIVATE CURL::libcurl) -endif() - -if (MSVC) - target_compile_options(lootcli - PRIVATE - "/MP" - "/W4" - "/external:anglebrackets" - "/external:W0" - ) - target_link_options(lootcli - PRIVATE - $<$<CONFIG:RelWithDebInfo>:/LTCG /INCREMENTAL:NO /OPT:REF /OPT:ICF> - ) - target_compile_definitions(lootcli PRIVATE _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING) - - set_target_properties(lootcli PROPERTIES VS_STARTUP_PROJECT lootcli) -endif() - -if(WIN32) - install(FILES - $<TARGET_FILE:lootcli> - $<TARGET_FILE:libloot::loot> - DESTINATION bin/loot) -else() - install(TARGETS lootcli DESTINATION bin/loot) -endif() - -endif() - -# library to make the header available -add_library(lootcli-header INTERFACE) -target_sources(lootcli-header INTERFACE - FILE_SET HEADERS - BASE_DIRS ${CMAKE_CURRENT_LIST_DIR}/../include - FILES ${CMAKE_CURRENT_LIST_DIR}/../include/lootcli/lootcli.h) -add_library(mo2::lootcli-header ALIAS lootcli-header) - -install(TARGETS lootcli-header EXPORT lootcliHeaderTargets FILE_SET HEADERS) -install(EXPORT lootcliHeaderTargets - FILE mo2-lootcli-header-targets.cmake - NAMESPACE mo2:: - DESTINATION lib/cmake/mo2-lootcli-header -) |
