Welcome to mirror list, hosted at ThFree Co, Russian Federation.

OCConfigPluginDir.cmake « modules « cmake - github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: af6421833e1dc3f7502f1ab8beaedf890e581aaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function(IS_SUBDIR ROOT CHILD OUT)
    file(RELATIVE_PATH REL_PATH "${ROOT}" "${CHILD}")
    string(REGEX MATCH "^\.\./" NOT_SUBDIR "${REL_PATH}")
    if (NOT_SUBDIR)
        set(${OUT} FALSE PARENT_SCOPE)
    else()
        set(${OUT} TRUE PARENT_SCOPE)
    endif()
endfunction()


if (UNIX AND NOT APPLE)
    set(OC_PLUGIN_DIR ${KDE_INSTALL_FULL_PLUGINDIR})
    IS_SUBDIR("${CMAKE_INSTALL_PREFIX}" "${OC_PLUGIN_DIR}" _is_subdir)
    if (NOT _is_subdir)
        if (KDE_INSTALL_USE_QT_SYS_PATHS)
            message(FATAL_ERROR "Using KDE_INSTALL_USE_QT_SYS_PATHS with a non bundled Qt is not supported.")
        else()
            message(FATAL_ERROR "KDE_INSTALL_PLUGINDIR must be located in CMAKE_INSTALL_PREFIX")
        endif()
    endif()

    include(ECMQueryQmake)
    query_qmake(_qt_plugin_dir QT_INSTALL_PLUGINS TRY)
    # any sub dir of _qt_plugin_dir is sufficient
    IS_SUBDIR("${_qt_plugin_dir}" "${OC_PLUGIN_DIR}" _is_subdir)
    if (_is_subdir)
        # no need to add a additional plugin dir
        unset(OC_PLUGIN_DIR)
    else()
        # set plugin dir to a path relative to the binary
        file(RELATIVE_PATH OC_PLUGIN_DIR "${CMAKE_INSTALL_FULL_BINDIR}" "${OC_PLUGIN_DIR}")
        message(STATUS "Adding additional plugin path: ${OC_PLUGIN_DIR}")
    endif()
endif()