CMakeLists.txt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. find_package(Qt6 6.5 REQUIRED COMPONENTS Quick)
  6. qt_standard_project_setup(REQUIRES 6.5)
  7. qt_add_executable(appnooLight
  8. main.cpp
  9. qml.qrc
  10. )
  11. if (ANDROID)
  12. set_property(TARGET appnooLight APPEND PROPERTY QT_ANDROID_EXTRA_LIBS
  13. ${QT_ANDROID_SSL_DIR}/no-asm/ssl_3/${ANDROID_ABI}/libcrypto_3.so
  14. ${QT_ANDROID_SSL_DIR}/no-asm/ssl_3/${ANDROID_ABI}/libssl_3.so)
  15. set_property(TARGET appnooLight APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
  16. ${CMAKE_CURRENT_SOURCE_DIR}/android)
  17. endif()
  18. include(FetchContent)
  19. FetchContent_Declare(
  20. components
  21. GIT_REPOSITORY https://gogs.dended.keenetic.pro/ded/components.git
  22. GIT_TAG master
  23. )
  24. FetchContent_MakeAvailable(components)
  25. # Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
  26. # If you are developing for iOS or macOS you should consider setting an
  27. # explicit, fixed bundle identifier manually though.
  28. set_target_properties(appnooLight PROPERTIES
  29. # MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appnooLight
  30. MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
  31. MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
  32. MACOSX_BUNDLE TRUE
  33. WIN32_EXECUTABLE TRUE
  34. )
  35. target_link_libraries(appnooLight
  36. PRIVATE Qt6::Quick componentsplugin
  37. )
  38. include(GNUInstallDirs)
  39. install(TARGETS appnooLight
  40. BUNDLE DESTINATION .
  41. LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  42. RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
  43. )