cmake_minimum_required(VERSION 3.5) project(electrocardiograph_upper VERSION 0.1 LANGUAGES CXX) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED) find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets PrintSupport SerialPort Charts Concurrent REQUIRED) include_directories(libxsync/include) include_directories(src) include_directories(./) include_directories(libzqt) add_compile_options(-Wall ) set(PROJECT_SOURCES libzqt/logger.cpp libzqt/zqthread.cpp libzqt/QFunction.cpp libzqt/zcsv.cpp src/main.cpp mainwindow.cpp mainwindow.h mainwindow.ui src/qt_serial_datachannel.cpp src/electrocardiograph_tester.cpp src/filter_algo_mgr.cpp libzqt/widgetplot2d.cpp libzqt/widgetplot2d.ui libzqt/qcustomplot.cpp src/algo/iflytop_simple_filter.cpp ) add_executable(electrocardiograph_upper WIN32 ${PROJECT_SOURCES} ) target_link_options(electrocardiograph_upper PRIVATE -static -static-libgcc -static-libstdc++) target_link_libraries(electrocardiograph_upper PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::PrintSupport Qt${QT_VERSION_MAJOR}::SerialPort Qt${QT_VERSION_MAJOR}::Charts Qt${QT_VERSION_MAJOR}::Concurrent wsock32) set_target_properties(electrocardiograph_upper PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} ) if(QT_VERSION_MAJOR EQUAL 6) qt_finalize_executable(electrocardiograph_upper) endif()