⬆️ Update qtkeychain
This commit is contained in:
46
ext/qtkeychain/cmake/Modules/ECMQueryQmake.cmake
Normal file
46
ext/qtkeychain/cmake/Modules/ECMQueryQmake.cmake
Normal file
@@ -0,0 +1,46 @@
|
||||
find_package(Qt5Core QUIET)
|
||||
|
||||
if (Qt5Core_FOUND)
|
||||
set(_qmake_executable_default "qmake-qt5")
|
||||
endif ()
|
||||
if (TARGET Qt5::qmake)
|
||||
get_target_property(_qmake_executable_default Qt5::qmake LOCATION)
|
||||
endif()
|
||||
set(QMAKE_EXECUTABLE ${_qmake_executable_default}
|
||||
CACHE FILEPATH "Location of the Qt5 qmake executable")
|
||||
|
||||
# Helper method
|
||||
# This is not public API (yet)!
|
||||
# Usage: query_qmake(<result_variable> <qt_variable> [TRY])
|
||||
# Passing TRY will result in the method not failing fatal if no qmake executable
|
||||
# has been found, but instead simply returning an empty string
|
||||
function(query_qmake result_variable qt_variable)
|
||||
set(options TRY)
|
||||
set(oneValueArgs )
|
||||
set(multiValueArgs )
|
||||
|
||||
cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
if(NOT QMAKE_EXECUTABLE)
|
||||
if(ARGS_TRY)
|
||||
set(${result_variable} "" PARENT_SCOPE)
|
||||
message(STATUS "No qmake Qt5 binary found. Can't check ${qt_variable}")
|
||||
return()
|
||||
else()
|
||||
message(FATAL_ERROR "No qmake Qt5 binary found. Can't check ${qt_variable} as required")
|
||||
endif()
|
||||
endif()
|
||||
execute_process(
|
||||
COMMAND ${QMAKE_EXECUTABLE} -query "${qt_variable}"
|
||||
RESULT_VARIABLE return_code
|
||||
OUTPUT_VARIABLE output
|
||||
)
|
||||
if(return_code EQUAL 0)
|
||||
string(STRIP "${output}" output)
|
||||
file(TO_CMAKE_PATH "${output}" output_path)
|
||||
set(${result_variable} "${output_path}" PARENT_SCOPE)
|
||||
else()
|
||||
message(WARNING "Failed call: ${QMAKE_EXECUTABLE} -query \"${qt_variable}\"")
|
||||
message(FATAL_ERROR "QMake call failed: ${return_code}")
|
||||
endif()
|
||||
endfunction()
|
Reference in New Issue
Block a user