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.

46 lines
1.2 KiB

2 years ago
2 years ago
2 years ago
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 Concurrent REQUIRED)
  12. set(PROJECT_SOURCES
  13. src/logger.cpp
  14. src/main.cpp
  15. src/zqthread.cpp
  16. src/QFunction.cpp
  17. mainwindow.cpp
  18. mainwindow.h
  19. mainwindow.ui
  20. libxsync/xsync.cpp
  21. libxsync/iflytop_xsync_protocol/iflytop_xsync_protocol.c
  22. src/xsync_udp_factory_impl.cpp
  23. )
  24. add_executable(xsync
  25. ${PROJECT_SOURCES}
  26. )
  27. target_link_libraries(xsync PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Charts Qt${QT_VERSION_MAJOR}::Concurrent wsock32)
  28. set_target_properties(xsync PROPERTIES
  29. MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
  30. MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
  31. MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
  32. )
  33. if(QT_VERSION_MAJOR EQUAL 6)
  34. qt_finalize_executable(xsync)
  35. endif()