You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.1 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. cmake_minimum_required(VERSION 3.5)
  2. project(xsync VERSION 0.1 LANGUAGES CXX)
  3. set(CMAKE_INCLUDE_CURRENT_DIR ON)
  4. set(CMAKE_AUTOUIC ON)
  5. set(CMAKE_AUTOMOC ON)
  6. set(CMAKE_AUTORCC ON)
  7. set(CMAKE_CXX_STANDARD 11)
  8. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  9. set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
  10. find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets console REQUIRED)
  11. find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets Charts REQUIRED)
  12. set(PROJECT_SOURCES
  13. src/logger.cpp
  14. src/main.cpp
  15. src/zqthread.cpp
  16. mainwindow.cpp
  17. mainwindow.h
  18. mainwindow.ui
  19. libxsync/xsync.cpp
  20. libxsync/iflytop_xsync_protocol/iflytop_xsync_protocol.c
  21. src/xsync_udp_factory_impl.cpp
  22. )
  23. add_executable(xsync
  24. ${PROJECT_SOURCES}
  25. )
  26. target_link_libraries(xsync PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Charts wsock32)
  27. set_target_properties(xsync PROPERTIES
  28. MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
  29. MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
  30. MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
  31. )
  32. if(QT_VERSION_MAJOR EQUAL 6)
  33. qt_finalize_executable(xsync)
  34. endif()