CMake Lists
CMake Lists
21)
project(lunar-client-qt LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
if(USE_QT6)
set(QT_VER Qt6)
else()
set(QT_VER Qt5)
endif()
set(LCQT_VERSION Unknown)
set(LCQT_VERSION_TAG Unknown)
find_package(Git)
if(Git_FOUND)
execute_process(
COMMAND ${GIT_EXECUTABLE} describe --match "v[0-9]*"
OUTPUT_VARIABLE tag
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
config_var("agentsDestDir" AGENTS_DEST_DIR)
config_var("githubReleaseApiLink" GITHUB_RELEASE_LINK)
configure_file(${CMAKE_SOURCE_DIR}/buildconfig.cpp.in
${CMAKE_BINARY_DIR}/buildconfig.cpp @ONLY)
set(VERSION_FILE ${CMAKE_BINARY_DIR}/buildconfig.cpp)
set(SOURCE_FILES
src/main.cpp
src/gui/mainwindow.cpp
src/gui/mainwindow.h
src/launch/offlinelauncher.cpp
src/launch/offlinelauncher.h
src/gui/pages/generalpage.cpp
src/gui/pages/generalpage.h
src/gui/pages/configurationpage.h
src/gui/pages/agentspage.cpp
src/gui/pages/agentspage.h
src/launch/launcher.h
src/launch/launcher.cpp
src/config/config.cpp
src/config/config.h
src/gui/pages/minecraftpage.cpp
src/gui/pages/minecraftpage.h
src/gui/widgets/filechooser.cpp
src/gui/widgets/filechooser.h
src/gui/widgets/widgetutils.cpp
src/gui/widgets/widgetutils.h
src/buildconfig.h
src/gui/agents/agentsmodel.cpp
src/gui/agents/agentsmodel.h
src/gui/agents/agentsview.cpp
src/gui/agents/agentsview.h
src/gui/style/removeoutline.cpp
src/gui/style/removeoutline.h
src/util/fs.cpp src/util/fs.h
src/util/utils.cpp
src/util/utils.h
src/util/sysinfo.cpp
src/util/sysinfo.h
)
if(INCLUDE_UPDATER)
list(APPEND SOURCE_FILES ${UPDATER_SOURCES})
endif()
if(INCLUDE_UPDATER)
list(APPEND QT_COMPONENTS Network)
endif()
find_package(${QT_VER} COMPONENTS ${QT_COMPONENTS} REQUIRED)
if(INCLUDE_UPDATER)
target_compile_definitions(lunar-client-qt PRIVATE INCLUDE_UPDATER)
endif()
copy_jars(agents ${AGENTS_DEST_DIR})
add_subdirectory(3rdparty)