53 lines
1.3 KiB
CMake
53 lines
1.3 KiB
CMake
|
|
cmake_minimum_required(VERSION 3.16)
|
||
|
|
project(MacModifier LANGUAGES CXX)
|
||
|
|
|
||
|
|
set(CMAKE_CXX_STANDARD 17)
|
||
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||
|
|
set(CMAKE_AUTOMOC ON)
|
||
|
|
set(CMAKE_AUTORCC ON)
|
||
|
|
set(CMAKE_AUTOUIC ON)
|
||
|
|
|
||
|
|
# Try Qt6 first, fall back to Qt5 for wider compatibility
|
||
|
|
set(QT_MIN_VERSION 5.15)
|
||
|
|
find_package(Qt6 6.2 COMPONENTS Widgets Core QUIET)
|
||
|
|
if (NOT Qt6_FOUND)
|
||
|
|
find_package(Qt5 ${QT_MIN_VERSION} COMPONENTS Widgets Core REQUIRED)
|
||
|
|
endif()
|
||
|
|
|
||
|
|
if (WIN32)
|
||
|
|
add_executable(MacModifier WIN32
|
||
|
|
src/main.cpp
|
||
|
|
src/MainWindow.cpp
|
||
|
|
src/MainWindow.h
|
||
|
|
src/NetworkManager.cpp
|
||
|
|
src/NetworkManager.h
|
||
|
|
src/SshClient.cpp
|
||
|
|
src/SshClient.h
|
||
|
|
src/Logger.cpp
|
||
|
|
src/Logger.h
|
||
|
|
)
|
||
|
|
else()
|
||
|
|
add_executable(MacModifier
|
||
|
|
src/main.cpp
|
||
|
|
src/MainWindow.cpp
|
||
|
|
src/MainWindow.h
|
||
|
|
src/NetworkManager.cpp
|
||
|
|
src/NetworkManager.h
|
||
|
|
src/SshClient.cpp
|
||
|
|
src/SshClient.h
|
||
|
|
src/Logger.cpp
|
||
|
|
src/Logger.h
|
||
|
|
)
|
||
|
|
endif()
|
||
|
|
|
||
|
|
if (Qt6_FOUND)
|
||
|
|
target_link_libraries(MacModifier PRIVATE Qt6::Widgets Qt6::Core)
|
||
|
|
else()
|
||
|
|
target_link_libraries(MacModifier PRIVATE Qt5::Widgets Qt5::Core)
|
||
|
|
endif()
|
||
|
|
|
||
|
|
if (WIN32)
|
||
|
|
# No extra linker flags needed; WIN32 executable suppresses console window
|
||
|
|
endif()
|
||
|
|
|
||
|
|
install(TARGETS MacModifier RUNTIME DESTINATION .)
|