diff options
author | Rohan Garg <rohan16garg@gmail.com> | 2014-09-03 14:28:14 +0200 |
---|---|---|
committer | Rohan Garg <rohan16garg@gmail.com> | 2014-09-03 14:28:14 +0200 |
commit | 96e7fb9969b761cce956a3500ede3b1c6cb29c65 (patch) | |
tree | 0db7e79e5523cdaf22bb9d95124d99042a5ff667 /modules | |
parent | 5d6171f4c3a3f87e4e7114131304028b8b54941b (diff) | |
download | extra-cmake-modules-96e7fb9969b761cce956a3500ede3b1c6cb29c65.tar.gz extra-cmake-modules-96e7fb9969b761cce956a3500ede3b1c6cb29c65.tar.bz2 |
Fix ECM to use qmake instead of hardcoding plugin install dirs
Packagers and other interested folks should pass -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
when building in order to install various files to the same dir as the Qt5 install
dirs.
CCMAIL: kde-packagers@kde.org
REVIEW: 119901
Diffstat (limited to 'modules')
-rw-r--r-- | modules/ECMGeneratePriFile.cmake | 8 | ||||
-rw-r--r-- | modules/ECMQueryQmake.cmake | 15 |
2 files changed, 22 insertions, 1 deletions
diff --git a/modules/ECMGeneratePriFile.cmake b/modules/ECMGeneratePriFile.cmake index 34001d6c..53cd69db 100644 --- a/modules/ECMGeneratePriFile.cmake +++ b/modules/ECMGeneratePriFile.cmake @@ -82,7 +82,13 @@ # (To distribute this file outside of extra-cmake-modules, substitute the full # License text for the above reference.) -set(ECM_MKSPECS_INSTALL_DIR mkspecs/modules CACHE PATH "The directory where mkspecs will be installed to.") +if(KDE_ECM_INSTALL_TO_QT_SYS_DIR) + include(ECMQueryQmake) + query_qmake(qt_host_data_dir QT_HOST_DATA) + set(ECM_MKSPECS_INSTALL_DIR ${qt_host_data_dir}/mkspecs/modules CACHE PATH "The directory where mkspecs will be installed to.") +else () + set(ECM_MKSPECS_INSTALL_DIR mkspecs/modules CACHE PATH "The directory where mkspecs will be installed to.") +endif() function(ECM_GENERATE_PRI_FILE) set(options ) diff --git a/modules/ECMQueryQmake.cmake b/modules/ECMQueryQmake.cmake new file mode 100644 index 00000000..5147fcc7 --- /dev/null +++ b/modules/ECMQueryQmake.cmake @@ -0,0 +1,15 @@ +find_package(Qt5Core QUIET) + +if (TARGET Qt5::qmake) + get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION) +else() + set(QMAKE_EXECUTABLE "qmake-qt5" CACHE) +endif() + +function(QUERY_QMAKE RESULT VAR) + exec_program(${QMAKE_EXECUTABLE} ARGS "-query ${VAR}" RETURN_VALUE return_code OUTPUT_VARIABLE output ) + if(NOT return_code) + file(TO_CMAKE_PATH "${output}" output) + set(${RESULT} ${output} PARENT_SCOPE) + endif() +endfunction(QUERY_QMAKE) |