CMakeLists.txt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. cmake_minimum_required(VERSION 3.16)
  2. project(nooLight VERSION 1.0 LANGUAGES CXX)
  3. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  4. set(CMAKE_AUTORCC ON)
  5. include_directories(src)
  6. find_package(Qt6 6.5 REQUIRED COMPONENTS Quick)
  7. qt_standard_project_setup(REQUIRES 6.5)
  8. qt_add_executable(appnooLight
  9. src/main.cpp
  10. resources/resources.qrc
  11. )
  12. qt_add_qml_module(appnooLight
  13. URI ru.ded.noolight
  14. VERSION 1.0
  15. SOURCES
  16. src/settings.h src/settings.cpp
  17. )
  18. if (ANDROID)
  19. set_property(TARGET appnooLight APPEND PROPERTY QT_ANDROID_EXTRA_LIBS
  20. ${QT_ANDROID_SSL_DIR}/no-asm/ssl_3/${ANDROID_ABI}/libcrypto_3.so
  21. ${QT_ANDROID_SSL_DIR}/no-asm/ssl_3/${ANDROID_ABI}/libssl_3.so)
  22. set_property(TARGET appnooLight APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
  23. ${CMAKE_CURRENT_SOURCE_DIR}/android)
  24. endif()
  25. include(FetchContent)
  26. FetchContent_Declare(
  27. components
  28. GIT_REPOSITORY https://gogs.dended.ru/ded/components.git
  29. GIT_TAG master
  30. )
  31. FetchContent_MakeAvailable(components)
  32. # Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
  33. # If you are developing for iOS or macOS you should consider setting an
  34. # explicit, fixed bundle identifier manually though.
  35. set_target_properties(appnooLight PROPERTIES
  36. # MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appnooLight
  37. MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
  38. MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
  39. MACOSX_BUNDLE TRUE
  40. WIN32_EXECUTABLE TRUE
  41. )
  42. target_link_libraries(appnooLight
  43. PRIVATE Qt6::Quick componentsplugin
  44. )
  45. include(GNUInstallDirs)
  46. install(TARGETS appnooLight
  47. BUNDLE DESTINATION .
  48. LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  49. RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
  50. )