Files
Applications/LCDLLN-GPT/client/CMakeLists.txt
T
2026-03-16 18:26:47 +01:00

39 lines
1.0 KiB
CMake

cmake_minimum_required(VERSION 3.18)
project(LCDLLN_Client VERSION 1.0.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Include directories
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/include
)
# Find Qt6
find_package(Qt6 COMPONENTS Widgets REQUIRED)
# External libraries
find_package(OpenSSL REQUIRED)
find_package(Argon2 REQUIRED)
find_package(spdlog REQUIRED)
# Sources
file(GLOB CLIENT_SOURCES "src/*.cpp")
add_executable(lcdlln ${CLIENT_SOURCES})
target_link_libraries(lcdlln PRIVATE Qt6::Widgets OpenSSL::SSL OpenSSL::Crypto spdlog::spdlog argon2)
# Windows: copy Qt DLLs automatically
if(WIN32)
set(QT_DLLS_DIR $ENV{QTDIR}/bin)
add_custom_command(TARGET lcdlln POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${QT_DLLS_DIR}/Qt6Core.dll" "$<TARGET_FILE_DIR:lcdlln>"
)
add_custom_command(TARGET lcdlln POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${QT_DLLS_DIR}/Qt6Widgets.dll" "$<TARGET_FILE_DIR:lcdlln>"
)
endif()