75 lines
1.5 KiB
CMake
75 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.5)
|
|
|
|
project(AnalysisTool VERSION 1.0.0 LANGUAGES CXX)
|
|
|
|
# Set C++11 as the minimum standard
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
|
|
|
# Find Qt libraries
|
|
find_package(Qt5 REQUIRED COMPONENTS Core Gui SerialPort PrintSupport Widgets)
|
|
|
|
set(CMAKE_AUTOUIC ON)
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
# 定义搜索的文件夹
|
|
set(SEARCH_FOLDERS
|
|
${CMAKE_SOURCE_DIR}
|
|
serialport
|
|
ui
|
|
thirdparty/qcustomplot
|
|
data
|
|
)
|
|
|
|
# 初始化空的源文件列表
|
|
set(SOURCES "")
|
|
set(HEADERS "")
|
|
|
|
# 分别搜索 .cpp 和 .h 文件
|
|
foreach(FOLDER ${SEARCH_FOLDERS})
|
|
file(GLOB_RECURSE TEMP_CPP ${FOLDER}/*.cpp)
|
|
file(GLOB_RECURSE TEMP_H ${FOLDER}/*.h)
|
|
list(APPEND SOURCES ${TEMP_CPP})
|
|
list(APPEND HEADERS ${TEMP_H})
|
|
endforeach()
|
|
|
|
|
|
set(FORMS
|
|
mainwindow.ui
|
|
ui/experimentsettingform.ui
|
|
ui/realtimedataform.ui
|
|
)
|
|
|
|
# Resources
|
|
set(RESOURCES
|
|
images.qrc
|
|
)
|
|
|
|
# Add UI files to the project and automatically run uic
|
|
qt5_wrap_ui(UI_HEADERS ${FORMS})
|
|
|
|
# Add resources to the project and automatically run rcc
|
|
qt5_add_resources(RESOURCES_RCC ${RESOURCES})
|
|
|
|
# Create the executable
|
|
add_executable(${PROJECT_NAME}
|
|
${SOURCES}
|
|
${HEADERS}
|
|
${UI_HEADERS}
|
|
${RESOURCES_RCC}
|
|
)
|
|
|
|
target_include_directories(${PROJECT_NAME} PRIVATE
|
|
${SEARCH_FOLDERS}
|
|
${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
# Link against Qt5 libraries
|
|
target_link_libraries(${PROJECT_NAME}
|
|
Qt5::Core
|
|
Qt5::Gui
|
|
Qt5::SerialPort
|
|
Qt5::PrintSupport
|
|
Qt5::Widgets
|
|
)
|
|
|