project(com.ubuntu.music) cmake_minimum_required(VERSION 2.8.9) # Standard install paths include(GNUInstallDirs) option(INSTALL_TESTS "Install the tests on make install" on) option(CLICK_MODE "Installs to a contained location" off) set(APP_NAME music) set(DESKTOP_FILE "${PROJECT_NAME}_${APP_NAME}.desktop") set(URLS_FILE "${PROJECT_NAME}_${APP_NAME}.url-dispatcher") set(APP_HARDCODE music-app) set(MAIN_QML music-app.qml) set(ICON_FILE images/music-app@30.png) set(AUTOPILOT_DIR music_app) if(CLICK_MODE) if(NOT DEFINED BZR_SOURCE) set(BZR_SOURCE "lp:${APP_HARDCODE}") message("-- Setting BZR_SOURCE to ${BZR_SOURCE}") endif(NOT DEFINED BZR_SOURCE) set(CMAKE_INSTALL_PREFIX /) set(CMAKE_INSTALL_BINDIR /) set(DATA_DIR /) set(ICON ${ICON_FILE}) set(EXEC "qmlscene -qt5 ${MAIN_QML} --url=%u -I ./plugins") set(DESKTOP_DIR ${DATA_DIR}) set(URLS_DIR ${DATA_DIR}) else(CLICK_MODE) set(DATA_DIR ${CMAKE_INSTALL_DATADIR}/${APP_HARDCODE}) set(EXEC ${APP_HARDCODE}) set(ICON ${CMAKE_INSTALL_PREFIX}/${DATA_DIR}/${ICON_FILE}) configure_file(${APP_HARDCODE}.in ${CMAKE_CURRENT_BINARY_DIR}/${APP_HARDCODE}) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${APP_HARDCODE} DESTINATION ${CMAKE_INSTALL_BINDIR}) set(DESKTOP_DIR ${CMAKE_INSTALL_DATADIR}/applications) set(URLS_DIR ${CMAKE_INSTALL_DATADIR}/url-dispatcher/urls) endif(CLICK_MODE) file(GLOB_RECURSE I18N_SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.qml *.js ${DESKTOP_FILE}.in) list(SORT I18N_SRC_FILES) list(REMOVE_ITEM I18N_SRC_FILES .build/${DESKTOP_FILE}.in) file(GLOB SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.qml *.js *.png *.js *.json) install(DIRECTORY common images DESTINATION ${DATA_DIR}) install(FILES ${SRC_FILES} ${ICON_FILE} DESTINATION ${DATA_DIR}) configure_file(${DESKTOP_FILE}.in ${DESKTOP_FILE}.in @ONLY) file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE}) file(STRINGS ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE}.in DESKTOP_FILE_CONTENTS) foreach(LINE ${DESKTOP_FILE_CONTENTS}) string(REGEX REPLACE "tr\\\(\"(.*)\"\\\)" "\\1" LINE "${LINE}") file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE} "${LINE}\n") endforeach(LINE) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE} DESTINATION ${DESKTOP_DIR}) install(FILES ${URLS_FILE} DESTINATION ${URLS_DIR}) # Tests enable_testing() add_subdirectory(click) add_subdirectory(po) add_subdirectory(tests)