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 ) 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()