aboutsummaryrefslogtreecommitdiff
path: root/modules/ECMQueryQmake.cmake
blob: 2aa19ff7c30c30aa9a047988edfdc9f2811a5202 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
find_package(Qt5Core QUIET)

if (TARGET Qt5::qmake)
  get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION)
else()
  set(QMAKE_EXECUTABLE "qmake-qt5" CACHE)
endif()

# This is not public API (yet)!
function(query_qmake result_variable qt_variable)
    execute_process(
        COMMAND ${QMAKE_EXECUTABLE} -query "${qt_variable}"
        RESULT_VARIABLE return_code
        OUTPUT_VARIABLE output
    )
    string(STRIP ${output} output)
    if(return_code EQUAL 0)
        file(TO_CMAKE_PATH "${output}" output_path)
        set(${result_variable} "${output_path}" PARENT_SCOPE)
    else()
        message(FATAL "QMake call failed: ${error}")
    endif()
endfunction()