39 lines
1.0 KiB
CMake
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()
|