cmake_minimum_required(VERSION 3.30) project(AHNU-Portal-Authenticator) set(CMAKE_CXX_STANDARD 23) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) set(APP_NAME AHNU) if (WIN32) set(app_icon_resource_windows "${CMAKE_CURRENT_SOURCE_DIR}/icon.rc") endif () find_package(Qt6 COMPONENTS Core Gui Widgets Network REQUIRED ) add_executable(${APP_NAME} WIN32 main.cpp mainwindow.cpp mainwindow.h mainwindow.ui res.qrc ${app_icon_resource_windows} ) target_compile_definitions(${APP_NAME} PRIVATE PRIVATE APPNAME="${APP_NAME}") target_link_libraries(${APP_NAME} Qt::Core Qt::Gui Qt::Widgets Qt::Network ) if (WIN32 AND NOT DEFINED CMAKE_TOOLCHAIN_FILE) set(DEBUG_SUFFIX) if (MSVC AND CMAKE_BUILD_TYPE MATCHES "Debug") set(DEBUG_SUFFIX "d") endif () set(QT_INSTALL_PATH "${CMAKE_PREFIX_PATH}") if (NOT EXISTS "${QT_INSTALL_PATH}/bin") set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..") if (NOT EXISTS "${QT_INSTALL_PATH}/bin") set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..") endif () endif () if (EXISTS "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll") add_custom_command(TARGET ${APP_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "$/plugins/platforms/") add_custom_command(TARGET ${APP_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll" "$/plugins/platforms/") endif () foreach (QT_LIB Core Gui Widgets Network) add_custom_command(TARGET ${APP_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${QT_INSTALL_PATH}/bin/Qt6${QT_LIB}${DEBUG_SUFFIX}.dll" "$") endforeach (QT_LIB) endif ()