Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. {
  2. "template": "cmake",
  3. "kill": "somafm",
  4. "dependencies_target": [
  5. "qtbase5-dev",
  6. "qtbase5-dev-tools",
  7. "qtchooser",
  8. "qtdeclarative5-dev",
  9. "qtdeclarative5-dev-tools"
  10. ],
  11. "libraries": {
  12. "ergo": {
  13. "template": "cmake",
  14. "build_args": [
  15. "-DCLICK_MODE=on"
  16. ]
  17. }
  18. },
  19. "install_lib": [
  20. "$ergo_LIB_INSTALL_DIR/lib/$ARCH_TRIPLET/*"
  21. ]
  22. }
  23. -------------------------------------------------------------------------------------
  24. cmake_minimum_required(VERSION 3.0.0)
  25. project(somafm C CXX)
  26.  
  27. set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
  28.  
  29. find_package(Qt5Core)
  30. find_package(Qt5Qml)
  31. find_package(Qt5Quick)
  32. find_package(Qt5Gui REQUIRED)
  33. find_package(Qt5QuickControls2 REQUIRED)
  34. find_package(Qt5Widgets REQUIRED)
  35.  
  36. # Automatically create moc files
  37. set(CMAKE_AUTOMOC ON)
  38.  
  39. # Components PATH
  40. execute_process(
  41. COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH
  42. OUTPUT_VARIABLE ARCH_TRIPLET
  43. OUTPUT_STRIP_TRAILING_WHITESPACE
  44. )
  45.  
  46. set(QT_IMPORTS_DIR "lib/${ARCH_TRIPLET}")
  47.  
  48. set(PROJECT_NAME "somafm")
  49. set(FULL_PROJECT_NAME "somafm.wdehoog")
  50. set(CMAKE_INSTALL_PREFIX /)
  51. set(DATA_DIR /)
  52. set(DESKTOP_FILE_NAME ${PROJECT_NAME}.desktop)
  53.  
  54. # This command figures out the target architecture for use in the manifest file
  55. execute_process(
  56. COMMAND dpkg-architecture -qDEB_HOST_ARCH
  57. OUTPUT_VARIABLE CLICK_ARCH
  58. OUTPUT_STRIP_TRAILING_WHITESPACE
  59. )
  60.  
  61. configure_file(manifest.json.in ${CMAKE_CURRENT_BINARY_DIR}/manifest.json)
  62. install(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.json DESTINATION ${CMAKE_INSTALL_PREFIX})
  63. install(FILES ${PROJECT_NAME}.apparmor DESTINATION ${DATA_DIR})
  64. install(DIRECTORY qml DESTINATION ${DATA_DIR})
  65. install(DIRECTORY assets DESTINATION ${DATA_DIR})
  66.  
  67. add_executable(${PROJECT_NAME} main.cpp)
  68. qt5_use_modules(${PROJECT_NAME} Gui Qml Quick QuickControls2)
  69. install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX})
  70.  
  71. # Translations
  72. file(GLOB_RECURSE I18N_SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/po qml/*.qml qml/*.js)
  73. list(APPEND I18N_SRC_FILES ${DESKTOP_FILE_NAME}.in.h)
  74.  
  75. find_program(INTLTOOL_MERGE intltool-merge)
  76. if(NOT INTLTOOL_MERGE)
  77. message(FATAL_ERROR "Could not find intltool-merge, please install the intltool package")
  78. endif()
  79. find_program(INTLTOOL_EXTRACT intltool-extract)
  80. if(NOT INTLTOOL_EXTRACT)
  81. message(FATAL_ERROR "Could not find intltool-extract, please install the intltool package")
  82. endif()
  83.  
  84. add_custom_target(${DESKTOP_FILE_NAME} ALL
  85. COMMENT "Merging translations into ${DESKTOP_FILE_NAME}..."
  86. COMMAND LC_ALL=C ${INTLTOOL_MERGE} -d -u ${CMAKE_SOURCE_DIR}/po ${CMAKE_SOURCE_DIR}/${DESKTOP_FILE_NAME}.in ${DESKTOP_FILE_NAME}
  87. COMMAND sed -i 's/${PROJECT_NAME}-//g' ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE_NAME}
  88. )
  89.  
  90. install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE_NAME} DESTINATION ${DATA_DIR})
  91.  
  92. add_subdirectory(po)
  93. #add_subdirectory(ergo)
  94.  
  95. # Make source files visible in qtcreator
  96. file(GLOB_RECURSE PROJECT_SRC_FILES
  97. RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  98. qml/*.qml
  99. qml/*.js
  100. *.json
  101. *.json.in
  102. *.apparmor
  103. *.desktop.in
  104. )
  105.  
  106. add_custom_target(${PROJECT_NAME}_FILES ALL SOURCES ${PROJECT_SRC_FILES})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement