first commit, correct read, correct config ini

This commit is contained in:
2025-07-04 02:07:18 +07:00
commit d482560e7b
6 changed files with 473 additions and 0 deletions

89
CMakeLists.txt Normal file
View File

@@ -0,0 +1,89 @@
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 ()