90 lines
3.0 KiB
CMake
90 lines
3.0 KiB
CMake
cmake_minimum_required(VERSION 3.23)
|
|
project(mbIoUniversal LANGUAGES CXX)
|
|
|
|
# Set the C++ standard to C++17
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(CMAKE_AUTOUIC ON) # Enable automatic processing of .ui files
|
|
set(CMAKE_AUTORCC ON) # Enable automatic processing of .qrc files
|
|
set(CMAKE_AUTOMOC ON) # Enable automatic processing of MOC files
|
|
|
|
if (WIN32)
|
|
set(CMAKE_PREFIX_PATH "C:/Qt/5.15.2/mingw81_64/lib/cmake")
|
|
endif ()
|
|
|
|
set(QT_COMPONENTS Core Gui Widgets Network Svg OpenGL SerialBus SerialPort Charts)
|
|
|
|
find_package(Qt5 COMPONENTS
|
|
${QT_COMPONENTS}
|
|
REQUIRED)
|
|
|
|
add_definitions(-DQT_DEPRECATED_WARNINGS)
|
|
|
|
include_directories(Inc)
|
|
file(GLOB_RECURSE PROJECT_SOURCES SOURCES "Src/*.*" "Inc/*.*")
|
|
|
|
# List your UI form files
|
|
set(PROJECT_FORMS
|
|
# windows.ui
|
|
)
|
|
|
|
# List your resource files
|
|
set(PROJECT_RESOURCES
|
|
# resources.qrc
|
|
)
|
|
|
|
# Add the executable target
|
|
add_executable(${PROJECT_NAME}
|
|
${PROJECT_SOURCES}
|
|
${PROJECT_HEADERS}
|
|
${PROJECT_FORMS}
|
|
${PROJECT_RESOURCES}
|
|
)
|
|
|
|
foreach(QT_LIB ${QT_COMPONENTS})
|
|
target_link_libraries(${PROJECT_NAME} Qt5::${QT_LIB})
|
|
endforeach(QT_LIB)
|
|
|
|
if (WIN32)
|
|
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 ()
|
|
set(MINGW_BIN_DIR "C:/PROGRA~1/JETBRA~1/CLion/bin/mingw/bin") # <-- Укажите правильный путь
|
|
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
"${MINGW_BIN_DIR}/libstdc++-6.dll"
|
|
"$<TARGET_FILE_DIR:${PROJECT_NAME}>")
|
|
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
"${MINGW_BIN_DIR}/libgcc_s_seh-1.dll"
|
|
"$<TARGET_FILE_DIR:${PROJECT_NAME}>")
|
|
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
"${MINGW_BIN_DIR}/libwinpthread-1.dll"
|
|
"$<TARGET_FILE_DIR:${PROJECT_NAME}>")
|
|
if (EXISTS "${QT_INSTALL_PATH}/plugins/")
|
|
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory
|
|
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/")
|
|
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
"${QT_INSTALL_PATH}/plugins/"
|
|
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/")
|
|
endif ()
|
|
foreach (QT_LIB ${QT_COMPONENTS})
|
|
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
"${QT_INSTALL_PATH}/bin/Qt5${QT_LIB}${DEBUG_SUFFIX}.dll"
|
|
"$<TARGET_FILE_DIR:${PROJECT_NAME}>")
|
|
endforeach (QT_LIB)
|
|
endif ()
|