aboutsummaryrefslogtreecommitdiff
path: root/libs/lootcli/src/CMakeLists.txt
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-12 03:00:11 -0500
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-12 03:00:11 -0500
commitb54e479a3f9e973a083c643905f21c59fadd63bb (patch)
treeff920cc2614c5d014e7de910cbad75875257776e /libs/lootcli/src/CMakeLists.txt
parentbf7a57fc55493247a624ecfd65e4d73964e7d8d2 (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.txt138
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
-)