aboutsummaryrefslogtreecommitdiff
path: root/libs/lootcli/src/CMakeLists.txt
diff options
context:
space:
mode:
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
-)