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.

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