~ubuntu-filemanager-dev/ubuntu-filemanager-app/trunk

« back to all changes in this revision

Viewing changes to CMakeLists.txt

  • Committer: Bileto Bot
  • Date: 2017-04-04 17:06:41 UTC
  • mfrom: (588.1.19 fix-desktop-file)
  • Revision ID: ci-train-bot@canonical.com-20170404170641-1p15lmx8wodlx2ut
* Rename binary file to ubuntu-filemanager-app
* Join plugin packages into the main package 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
project(com.ubuntu.filemanager C CXX)
 
1
project(ubuntu-filemanager-app C CXX)
2
2
cmake_minimum_required(VERSION 2.8.9)
3
3
find_program(INTLTOOL_MERGE intltool-merge)
4
4
find_program(INTLTOOL_EXTRACT intltool-extract)
10
10
include(GNUInstallDirs)
11
11
 
12
12
option(INSTALL_TESTS "Install the tests on make install" on)
13
 
option(CLICK_MODE "Installs to a contained location" on)
14
13
 
15
 
set(APP_NAME filemanager)
 
14
set(APP_NAME ubuntu-filemanager-app)
16
15
set(DESKTOP_FILE "${PROJECT_NAME}.desktop")
17
16
set(LP_PROJECT ubuntu-filemanager-app)
18
17
set(ICON_FILE filemanager64.png)
19
 
set(AUTOPILOT_DIR ${APP_NAME})
 
18
set(AUTOPILOT_DIR "ubuntu_filemanager_app")
20
19
set(EXEC "${APP_NAME}")
21
20
set(CONTENT_HUB_JSON content-hub.json)
22
 
set(UBUNTU_MANIFEST_PATH "manifest.json.in" CACHE INTERNAL "Relative path to the manifest file")
23
21
 
24
22
# global FILE definitions for stat system call, it works for any sub module
25
23
add_definitions(-D_LARGEFILE_SOURCE)
32
30
    OUTPUT_STRIP_TRAILING_WHITESPACE
33
31
)
34
32
 
35
 
if(CLICK_MODE)
36
 
    if(NOT DEFINED BZR_SOURCE)
37
 
        set(BZR_SOURCE "lp:${LP_PROJECT}")
38
 
        message("-- Setting BZR_SOURCE to ${BZR_SOURCE}")
39
 
    endif(NOT DEFINED BZR_SOURCE)
40
 
    # Find out the architecture for package building
41
 
    # to determine the plugin's installation path
42
 
    execute_process(
43
 
        COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH
44
 
        OUTPUT_VARIABLE ARCH_TRIPLET
45
 
        OUTPUT_STRIP_TRAILING_WHITESPACE
46
 
    )
47
 
    set(CMAKE_INSTALL_PREFIX /)
48
 
    set(CMAKE_INSTALL_BINDIR /)
49
 
    set(DATA_DIR /)
50
 
    set(ICON ${ICON_FILE})
51
 
    set(QT_IMPORTS_DIR "/lib/${ARCH_TRIPLET}")
52
 
    set(BIN_DIR /lib/${ARCH_TRIPLET}/bin)
53
 
    set(DESKTOP_DIR ${DATA_DIR})
54
 
    if(NOT BZR_REVNO)
55
 
        set(BZR_REVNO "latest")
56
 
    endif(NOT BZR_REVNO)
57
 
 
58
 
    #query the target architecture
59
 
    execute_process(
60
 
        COMMAND dpkg-architecture -qDEB_HOST_ARCH
61
 
        OUTPUT_VARIABLE CLICK_ARCH
62
 
        OUTPUT_STRIP_TRAILING_WHITESPACE
63
 
    )
64
 
 
65
 
    configure_file(manifest.json.in ${CMAKE_CURRENT_BINARY_DIR}/manifest.json)
66
 
 
67
 
    # make the click files visible in qtcreator
68
 
    file(GLOB CLICK_FILES
69
 
         RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
70
 
         manifest.json.in *.apparmor)
71
 
 
72
 
    add_custom_target(com_ubuntu_calendar_CLICKFiles ALL SOURCES ${CLICK_FILES})
73
 
 
74
 
    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.json filemanager.apparmor ${CONTENT_HUB_JSON} DESTINATION ${CMAKE_INSTALL_PREFIX})
75
 
 
76
 
        set(UPSTREAM_LIBS_DIR ${CMAKE_BINARY_DIR}/upstream-libs)
77
 
 
78
 
    #grab dependencies
79
 
    set(GET_CLICK_DEPS_TOOL ${CMAKE_SOURCE_DIR}/get-click-deps)
80
 
    set(DEPS_MANIFEST ${CMAKE_CURRENT_SOURCE_DIR}/filemanager-libs.json)
81
 
    MESSAGE("Grabbing upstream libs to ${UPSTREAM_LIBS_DIR}")
82
 
 
83
 
    get_filename_component(BLD_CONFIGURATION_NAME ${CMAKE_BINARY_DIR} NAME)
84
 
    set(UPSTREAM_CACHE $ENV{HOME}/dev/upstream-libs-filemanager/${BLD_CONFIGURATION_NAME})
85
 
    MESSAGE("Upstream libs cache path: ${UPSTREAM_CACHE}")
86
 
 
87
 
    if(EXISTS "${UPSTREAM_CACHE}")
88
 
      MESSAGE("Upstream libs cache exists.")
89
 
      file(COPY ${UPSTREAM_CACHE}/upstream-libs/ DESTINATION ${UPSTREAM_LIBS_DIR} PATTERN * )
90
 
    else()
91
 
      MESSAGE("Cache miss, downloading from network.")
92
 
      file(MAKE_DIRECTORY ${UPSTREAM_LIBS_DIR})
93
 
      file(MAKE_DIRECTORY ${UPSTREAM_CACHE})
94
 
      execute_process(
95
 
        COMMAND ${GET_CLICK_DEPS_TOOL} -d ${DEPS_MANIFEST} ${CLICK_ARCH} ${UPSTREAM_LIBS_DIR}
96
 
      )
97
 
      # Cache for next usage
98
 
      file(COPY ${UPSTREAM_LIBS_DIR} DESTINATION ${UPSTREAM_CACHE} )
99
 
    endif()
100
 
    MESSAGE("Installing upstream libs from ${CMAKE_CURRENT_BINARY_DIR}/upstream-libs/usr/lib/${ARCH_TRIPLET}/ to ${DATA_DIR}lib/${ARCH_TRIPLET}")
101
 
    file(GLOB_RECURSE UPSTREAM_LIBS "${CMAKE_CURRENT_BINARY_DIR}/upstream-libs/usr/lib/${ARCH_TRIPLET}/*")
102
 
    foreach(ITEM ${UPSTREAM_LIBS})
103
 
       IF( IS_DIRECTORY "${ITEM}" )
104
 
          LIST( APPEND DIRS_TO_DEPLOY "${ITEM}" )
105
 
       ELSE()
106
 
          LIST( APPEND FILES_TO_DEPLOY "${ITEM}" )
107
 
       ENDIF()
108
 
    endforeach()
109
 
    MESSAGE("Following files to install:- ${FILES_TO_DEPLOY}")
110
 
    INSTALL( FILES ${FILES_TO_DEPLOY} DESTINATION ${DATA_DIR}lib/${ARCH_TRIPLET} )
111
 
else(CLICK_MODE)
112
 
    execute_process(
113
 
        COMMAND qmake -query QT_INSTALL_QML
114
 
        OUTPUT_VARIABLE QT_IMPORTS_DIR
115
 
        OUTPUT_STRIP_TRAILING_WHITESPACE
116
 
    )
117
 
    set(DATA_DIR ${CMAKE_INSTALL_DATADIR}/${APP_NAME})
118
 
    set(ICON ${CMAKE_INSTALL_PREFIX}/${DATA_DIR}/${ICON_FILE})
119
 
    set(DESKTOP_DIR ${CMAKE_INSTALL_DATADIR}/applications)
120
 
endif(CLICK_MODE)
 
33
set(DATA_DIR ${CMAKE_INSTALL_FULL_DATADIR}/${APP_NAME})
 
34
set(ICON ${DATA_DIR}/${ICON_FILE})
 
35
set(QT_IMPORTS_DIR ${CMAKE_INSTALL_FULL_LIBDIR}/${APP_NAME}/qml/)
 
36
set(DESKTOP_DIR ${CMAKE_INSTALL_DATADIR}/applications)
 
37
install(FILES ${CONTENT_HUB_JSON} DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/content-hub/peers/ RENAME ubuntu-filemanager-app)
121
38
 
122
39
file(GLOB_RECURSE I18N_SRC_FILES
123
40
     RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/po
140
57
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE}
141
58
    DESTINATION ${DESKTOP_DIR})
142
59
 
 
60
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.in"
 
61
    "${CMAKE_CURRENT_BINARY_DIR}/config.h"
 
62
    IMMEDIATE @ONLY)
 
63
 
143
64
# Tests
144
65
enable_testing()
145
66