parent
791479529d
commit
60329b55dc
66
utils.cmake
66
utils.cmake
|
@ -1180,3 +1180,69 @@ function(generate_win32_manifest_file)
|
||||||
")
|
")
|
||||||
file(WRITE "${MF_ARGS_PATH}" ${__contents})
|
file(WRITE "${MF_ARGS_PATH}" ${__contents})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
function(query_qt_paths)
|
||||||
|
cmake_parse_arguments(QT_ARGS "" "SDK_DIR;BIN_DIR;DOC_DIR;INCLUDE_DIR;LIB_DIR;PLUGINS_DIR;QML_DIR;TRANSLATIONS_DIR" "" ${ARGN})
|
||||||
|
find_package(QT NAMES Qt6 Qt5 QUIET COMPONENTS Core)
|
||||||
|
find_package(Qt${QT_VERSION_MAJOR} QUIET COMPONENTS Core)
|
||||||
|
if(NOT (Qt6_FOUND OR Qt5_FOUND))
|
||||||
|
message(AUTHOR_WARNING "You need to install the QtCore module first to be able to query Qt installation paths.")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
# /whatever/Qt/6.5.0/gcc_64/lib/cmake/Qt6
|
||||||
|
set(__qt_inst_dir "${Qt${QT_VERSION_MAJOR}_DIR}")
|
||||||
|
cmake_path(GET __qt_inst_dir PARENT_PATH __qt_inst_dir)
|
||||||
|
cmake_path(GET __qt_inst_dir PARENT_PATH __qt_inst_dir)
|
||||||
|
cmake_path(GET __qt_inst_dir PARENT_PATH __qt_inst_dir)
|
||||||
|
if(QT_ARGS_SDK_DIR)
|
||||||
|
set(${QT_ARGS_SDK_DIR} "${__qt_inst_dir}" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
if(QT_ARGS_BIN_DIR)
|
||||||
|
set(${QT_ARGS_BIN_DIR} "${__qt_inst_dir}/bin" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
if(QT_ARGS_DOC_DIR)
|
||||||
|
set(${QT_ARGS_DOC_DIR} "${__qt_inst_dir}/doc" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
if(QT_ARGS_INCLUDE_DIR)
|
||||||
|
set(${QT_ARGS_INCLUDE_DIR} "${__qt_inst_dir}/include" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
if(QT_ARGS_LIB_DIR)
|
||||||
|
set(${QT_ARGS_LIB_DIR} "${__qt_inst_dir}/lib" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
if(QT_ARGS_PLUGINS_DIR)
|
||||||
|
set(${QT_ARGS_PLUGINS_DIR} "${__qt_inst_dir}/plugins" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
if(QT_ARGS_QML_DIR)
|
||||||
|
set(${QT_ARGS_QML_DIR} "${__qt_inst_dir}/qml" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
if(QT_ARGS_TRANSLATIONS_DIR)
|
||||||
|
set(${QT_ARGS_TRANSLATIONS_DIR} "${__qt_inst_dir}/translations" PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
function(query_qt_library_info)
|
||||||
|
cmake_parse_arguments(QT_ARGS "" "STATIC;SHARED" "" ${ARGN})
|
||||||
|
find_package(QT NAMES Qt6 Qt5 QUIET COMPONENTS Core)
|
||||||
|
find_package(Qt${QT_VERSION_MAJOR} QUIET COMPONENTS Core)
|
||||||
|
if(NOT (Qt6_FOUND OR Qt5_FOUND))
|
||||||
|
message(AUTHOR_WARNING "You need to install the QtCore module first to be able to query Qt library information.")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
if(QT_ARGS_STATIC OR QT_ARGS_SHARED)
|
||||||
|
get_target_property(__lib_type Qt${QT_VERSION_MAJOR}::Core TYPE)
|
||||||
|
if(QT_ARGS_STATIC)
|
||||||
|
if(__lib_type STREQUAL "STATIC_LIBRARY")
|
||||||
|
set(${QT_ARGS_STATIC} ON PARENT_SCOPE)
|
||||||
|
elseif(__lib_type STREQUAL "SHARED_LIBRARY")
|
||||||
|
set(${QT_ARGS_STATIC} OFF PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
if(QT_ARGS_SHARED)
|
||||||
|
if(__lib_type STREQUAL "STATIC_LIBRARY")
|
||||||
|
set(${QT_ARGS_SHARED} OFF PARENT_SCOPE)
|
||||||
|
elseif(__lib_type STREQUAL "SHARED_LIBRARY")
|
||||||
|
set(${QT_ARGS_SHARED} ON PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
Loading…
Reference in New Issue