9a5df00a61
Change-Id: I8caee4d1ce0eed27d905194df3c3d46c5d07d2b0
646 lines
29 KiB
CMake
646 lines
29 KiB
CMake
|
|
if (CMAKE_VERSION VERSION_LESS 3.1.0)
|
|
message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\")
|
|
endif()
|
|
|
|
!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
|
|
!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
|
set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
|
|
!!ELSE
|
|
get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
|
|
# Use original install prefix when loaded through a
|
|
# cross-prefix symbolic link such as /lib -> /usr/lib.
|
|
get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
|
|
get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
|
|
if(_realCurr STREQUAL _realOrig)
|
|
get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
|
|
else()
|
|
get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
|
|
endif()
|
|
unset(_realOrig)
|
|
unset(_realCurr)
|
|
unset(_IMPORT_PREFIX)
|
|
!!ENDIF
|
|
!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
|
get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
|
|
!!ELSE
|
|
set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
|
|
!!ENDIF
|
|
|
|
!!IF !equals(TEMPLATE, aux)
|
|
# For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
|
|
set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)")
|
|
|
|
set(Qt5$${CMAKE_MODULE_NAME}_LIBRARIES Qt5::$${CMAKE_MODULE_NAME})
|
|
!!ENDIF // TEMPLATE != aux
|
|
|
|
macro(_qt5_$${CMAKE_MODULE_NAME}_check_file_exists file)
|
|
if(NOT EXISTS \"${file}\" )
|
|
message(FATAL_ERROR \"The imported target \\\"Qt5::$${CMAKE_MODULE_NAME}\\\" references the file
|
|
\\\"${file}\\\"
|
|
but this file does not exist. Possible reasons include:
|
|
* The file was deleted, renamed, or moved to another location.
|
|
* An install or uninstall procedure did not complete successfully.
|
|
* The installation package was faulty and contained
|
|
\\\"${CMAKE_CURRENT_LIST_FILE}\\\"
|
|
but not all the files it references.
|
|
\")
|
|
endif()
|
|
endmacro()
|
|
|
|
!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
|
function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configuration lib_deps link_flags)
|
|
set(_lib_deps)
|
|
set(_link_flags)
|
|
|
|
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
|
set(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}\")
|
|
!!ELSE
|
|
set(_qt5_install_libs \"$${CMAKE_LIB_DIR}\")
|
|
!!ENDIF
|
|
|
|
if(EXISTS \"${prl_file_location}\")
|
|
file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS_FOR_CMAKE[ \\t]*=\")
|
|
|
|
# file(STRINGS) replaces all semicolons read from the file with backslash semicolons.
|
|
# We need to do a reverse transformation in CMake. For that we replace all backslash
|
|
# semicolons with just semicolons, but due to the qmake substitution feature
|
|
# creating this file, we need to double the amount of backslashes, so the final file
|
|
# should have three backslashes and one semicolon.
|
|
string(REGEX REPLACE \"\\\\\\;\" \";\" _prl_strings \"${_prl_strings}\")
|
|
|
|
string(REGEX REPLACE \"QMAKE_PRL_LIBS_FOR_CMAKE[ \\t]*=[ \\t]*([^\\n]*)\" \"\\\\1\" _static_depends \"${_prl_strings}\")
|
|
string(REGEX REPLACE \"[ \\t]+\" \";\" _standard_libraries \"${CMAKE_CXX_STANDARD_LIBRARIES}\")
|
|
set(_search_paths)
|
|
set(_fw_search_paths)
|
|
set(_framework_flag)
|
|
string(REPLACE \"\\$\\$[QT_INSTALL_LIBS]\" \"${_qt5_install_libs}\" _static_depends \"${_static_depends}\")
|
|
foreach(_flag ${_static_depends})
|
|
string(REPLACE \"\\\"\" \"\" _flag ${_flag})
|
|
if(_flag MATCHES \"^-framework$\")
|
|
# Handle the next flag as framework name
|
|
set(_framework_flag 1)
|
|
elseif(_flag MATCHES \"^-F(.*)$\")
|
|
# Handle -F/foo/bar flags by recording the framework search paths to be used
|
|
# by find_library.
|
|
list(APPEND _fw_search_paths \"${CMAKE_MATCH_1}\")
|
|
elseif(_framework_flag OR _flag MATCHES \"^-l(.*)$\")
|
|
if(_framework_flag)
|
|
# Handle Darwin framework bundles passed as -framework Foo
|
|
set(_lib ${_flag})
|
|
else()
|
|
# Handle normal libraries passed as -lfoo
|
|
set(_lib \"${CMAKE_MATCH_1}\")
|
|
foreach(_standard_library ${_standard_libraries})
|
|
if(_standard_library MATCHES \"^${_lib}(\\\\.lib)?$\")
|
|
set(_lib_is_default_linked TRUE)
|
|
break()
|
|
endif()
|
|
endforeach()
|
|
endif()
|
|
if (_lib_is_default_linked)
|
|
unset(_lib_is_default_linked)
|
|
elseif(_lib MATCHES \"^pthread$\")
|
|
find_package(Threads REQUIRED)
|
|
list(APPEND _lib_deps Threads::Threads)
|
|
else()
|
|
set(current_search_paths \"${_search_paths}\")
|
|
if(_framework_flag)
|
|
set(current_search_paths \"${_fw_search_paths}\")
|
|
endif()
|
|
if(current_search_paths)
|
|
find_library(_Qt5$${CMAKE_MODULE_NAME}_${Configuration}_${_lib}_PATH ${_lib} HINTS ${current_search_paths} NO_DEFAULT_PATH)
|
|
endif()
|
|
find_library(_Qt5$${CMAKE_MODULE_NAME}_${Configuration}_${_lib}_PATH ${_lib} HINTS ${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES})
|
|
mark_as_advanced(_Qt5$${CMAKE_MODULE_NAME}_${Configuration}_${_lib}_PATH)
|
|
if(_Qt5$${CMAKE_MODULE_NAME}_${Configuration}_${_lib}_PATH)
|
|
list(APPEND _lib_deps
|
|
${_Qt5$${CMAKE_MODULE_NAME}_${Configuration}_${_lib}_PATH}
|
|
)
|
|
else()
|
|
message(FATAL_ERROR \"Library not found: ${_lib}\")
|
|
endif()
|
|
unset(_framework_flag)
|
|
endif()
|
|
elseif(EXISTS \"${_flag}\")
|
|
# The flag is an absolute path to an existing library
|
|
list(APPEND _lib_deps \"${_flag}\")
|
|
elseif(_flag MATCHES \"^-L(.*)$\")
|
|
# Handle -Lfoo flags by putting their paths in the search path used by find_library above
|
|
list(APPEND _search_paths \"${CMAKE_MATCH_1}\")
|
|
else()
|
|
# Handle all remaining flags by simply passing them to the linker
|
|
list(APPEND _link_flags ${_flag})
|
|
endif()
|
|
endforeach()
|
|
endif()
|
|
|
|
string(REPLACE \";\" \" \" _link_flags \"${_link_flags}\")
|
|
set(${lib_deps} ${_lib_deps} PARENT_SCOPE)
|
|
set(${link_flags} \"SHELL:${_link_flags}\" PARENT_SCOPE)
|
|
endfunction()
|
|
!!ENDIF
|
|
|
|
!!IF !equals(TEMPLATE, aux)
|
|
macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION
|
|
IsDebugAndRelease)
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
|
|
|
|
!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
|
|
set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
|
|
!!ELSE
|
|
set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
|
|
!!ENDIF
|
|
_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
|
|
set(_deps
|
|
${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}
|
|
)
|
|
set(_static_deps
|
|
!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
|
${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LIB_DEPENDENCIES}
|
|
!!ENDIF
|
|
)
|
|
|
|
set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
|
|
\"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
|
|
!!IF !isEmpty(CMAKE_LIB_SONAME)
|
|
\"IMPORTED_SONAME_${Configuration}\" \"$${CMAKE_LIB_SONAME}\"
|
|
!!ENDIF
|
|
# For backward compatibility with CMake < 2.8.12
|
|
\"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_deps};${_static_deps}\"
|
|
)
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
\"${_deps}\"
|
|
)
|
|
|
|
!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
|
if(NOT "${IsDebugAndRelease}")
|
|
set(_genex_condition \"1\")
|
|
else()
|
|
if("${Configuration}" STREQUAL "DEBUG")
|
|
set(_genex_condition \"$<CONFIG:Debug>\")
|
|
else()
|
|
set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
|
|
endif()
|
|
endif()
|
|
|
|
if(_static_deps)
|
|
set(_static_deps_genex \"$<${_genex_condition}:${_static_deps}>\")
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
\"${_static_deps_genex}\"
|
|
)
|
|
endif()
|
|
|
|
set(_static_link_flags \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LINK_FLAGS}\")
|
|
if(_static_link_flags)
|
|
set(_static_link_flags_genex \"$<${_genex_condition}:${_static_link_flags}>\")
|
|
if(NOT CMAKE_VERSION VERSION_LESS \"3.13\")
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_OPTIONS
|
|
\"${_static_link_flags_genex}\"
|
|
)
|
|
else()
|
|
# Abuse INTERFACE_LINK_LIBRARIES to add link flags when CMake version is too low.
|
|
# Strip out SHELL:, because it is not supported in this property. And hope for the best.
|
|
string(REPLACE \"SHELL:\" \"\" _static_link_flags_genex \"${_static_link_flags_genex}\")
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
\"${_static_link_flags_genex}\"
|
|
)
|
|
endif()
|
|
endif()
|
|
!!ENDIF
|
|
|
|
!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
|
|
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
|
set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
|
|
!!ELSE
|
|
set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
|
|
!!ENDIF
|
|
_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
|
|
if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
|
|
set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
|
|
\"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib}
|
|
)
|
|
endif()
|
|
!!ENDIF
|
|
endmacro()
|
|
!!ENDIF
|
|
|
|
if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
|
|
|
|
!!IF !no_module_headers
|
|
!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
|
|
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework\"
|
|
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Headers\"
|
|
)
|
|
!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
|
|
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
|
|
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
|
|
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
|
|
)
|
|
!!ELSE
|
|
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
|
|
!!ENDIF
|
|
!!ELSE
|
|
!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
|
|
!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
|
|
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
|
|
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
|
|
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
|
|
)
|
|
!!ELSE
|
|
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
|
|
!!ENDIF
|
|
!!ELSE
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\" \"$${CMAKE_INCLUDE_DIR}$${CMAKE_INCLUDE_NAME}\")
|
|
!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
|
|
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
|
|
\"$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
|
|
\"$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
|
|
)
|
|
!!ELSE
|
|
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
|
|
!!ENDIF
|
|
!!ENDIF
|
|
!!ENDIF
|
|
!!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
|
|
include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
|
|
!!ENDIF
|
|
!!ELSE
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"\")
|
|
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
|
|
!!ENDIF
|
|
|
|
foreach(_dir ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS})
|
|
_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${_dir})
|
|
endforeach()
|
|
|
|
!!IF isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
|
|
# Only check existence of private includes if the Private component is
|
|
# specified.
|
|
list(FIND Qt5$${CMAKE_MODULE_NAME}_FIND_COMPONENTS Private _check_private)
|
|
if (NOT _check_private STREQUAL -1)
|
|
foreach(_dir ${Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS})
|
|
_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${_dir})
|
|
endforeach()
|
|
endif()
|
|
!!ENDIF
|
|
|
|
!!IF !equals(TEMPLATE, aux)
|
|
set(Qt5$${CMAKE_MODULE_NAME}_INCLUDE_DIRS ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS})
|
|
|
|
set(Qt5$${CMAKE_MODULE_NAME}_DEFINITIONS -D$${MODULE_DEFINE})
|
|
set(Qt5$${CMAKE_MODULE_NAME}_COMPILE_DEFINITIONS $${MODULE_DEFINES})
|
|
!!ENDIF // TEMPLATE != aux
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_MODULE_DEPS}\")
|
|
|
|
!!IF !isEmpty(CMAKE_INTERFACE_MODULE_DEPS)
|
|
list(APPEND _Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_INTERFACE_MODULE_DEPS}\")
|
|
!!ENDIF
|
|
|
|
set(Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS ${Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS})
|
|
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED)
|
|
if (Qt5$${CMAKE_MODULE_NAME}_FIND_REQUIRED)
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED REQUIRED)
|
|
endif()
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_QUIET)
|
|
if (Qt5$${CMAKE_MODULE_NAME}_FIND_QUIETLY)
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET QUIET)
|
|
endif()
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT)
|
|
if (Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT)
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT EXACT)
|
|
endif()
|
|
|
|
!!IF !equals(TEMPLATE, aux)
|
|
set(Qt5$${CMAKE_MODULE_NAME}_EXECUTABLE_COMPILE_FLAGS \"\")
|
|
!!ENDIF // TEMPLATE != aux
|
|
|
|
foreach(_module_dep ${_Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES})
|
|
if (NOT Qt5${_module_dep}_FOUND)
|
|
find_package(Qt5${_module_dep}
|
|
$$VERSION ${_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT}
|
|
${_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET}
|
|
${_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED}
|
|
PATHS \"${CMAKE_CURRENT_LIST_DIR}/..\" NO_DEFAULT_PATH
|
|
)
|
|
endif()
|
|
|
|
if (NOT Qt5${_module_dep}_FOUND)
|
|
set(Qt5$${CMAKE_MODULE_NAME}_FOUND False)
|
|
return()
|
|
endif()
|
|
|
|
!!IF !equals(TEMPLATE, aux)
|
|
list(APPEND Qt5$${CMAKE_MODULE_NAME}_INCLUDE_DIRS \"${Qt5${_module_dep}_INCLUDE_DIRS}\")
|
|
list(APPEND Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"${Qt5${_module_dep}_PRIVATE_INCLUDE_DIRS}\")
|
|
list(APPEND Qt5$${CMAKE_MODULE_NAME}_DEFINITIONS ${Qt5${_module_dep}_DEFINITIONS})
|
|
list(APPEND Qt5$${CMAKE_MODULE_NAME}_COMPILE_DEFINITIONS ${Qt5${_module_dep}_COMPILE_DEFINITIONS})
|
|
list(APPEND Qt5$${CMAKE_MODULE_NAME}_EXECUTABLE_COMPILE_FLAGS ${Qt5${_module_dep}_EXECUTABLE_COMPILE_FLAGS})
|
|
!!ENDIF // TEMPLATE != aux
|
|
endforeach()
|
|
!!IF !equals(TEMPLATE, aux)
|
|
list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_INCLUDE_DIRS)
|
|
list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS)
|
|
list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_DEFINITIONS)
|
|
list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_COMPILE_DEFINITIONS)
|
|
list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_EXECUTABLE_COMPILE_FLAGS)
|
|
!!ENDIF // TEMPLATE != aux
|
|
|
|
# It can happen that the same FooConfig.cmake file is included when calling find_package()
|
|
# on some Qt component. An example of that is when using a Qt static build with auto inclusion
|
|
# of plugins:
|
|
#
|
|
# Qt5WidgetsConfig.cmake -> Qt5GuiConfig.cmake -> Qt5Gui_QSvgIconPlugin.cmake ->
|
|
# Qt5SvgConfig.cmake -> Qt5WidgetsConfig.cmake ->
|
|
# finish processing of second Qt5WidgetsConfig.cmake ->
|
|
# return to first Qt5WidgetsConfig.cmake ->
|
|
# add_library cannot create imported target "Qt5::Widgets".
|
|
#
|
|
# Make sure to return early in the original Config inclusion, because the target has already
|
|
# been defined as part of the second inclusion.
|
|
if(TARGET Qt5::$${CMAKE_MODULE_NAME})
|
|
return()
|
|
endif()
|
|
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_QT5_MODULE_DEPS}\")
|
|
|
|
!!IF !isEmpty(CMAKE_INTERFACE_QT5_MODULE_DEPS)
|
|
list(APPEND _Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_INTERFACE_QT5_MODULE_DEPS}\")
|
|
!!ENDIF
|
|
|
|
!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
|
if(NOT Qt5_EXCLUDE_STATIC_DEPENDENCIES)
|
|
!!IF !isEmpty(CMAKE_DEBUG_TYPE)
|
|
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
|
_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
|
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
|
|
_Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
|
|
_Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LINK_FLAGS
|
|
)
|
|
!!ELSE
|
|
_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
|
\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
|
|
_Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
|
|
_Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LINK_FLAGS
|
|
)
|
|
!!ENDIF
|
|
!!ENDIF
|
|
|
|
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
|
|
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
|
_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
|
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
|
|
_Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
|
|
_Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LINK_FLAGS
|
|
)
|
|
!!ELSE
|
|
_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
|
\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
|
|
_Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
|
|
_Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LINK_FLAGS
|
|
)
|
|
!!ENDIF
|
|
!!ENDIF
|
|
endif()
|
|
|
|
add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED)
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
|
|
!!ELSE
|
|
!!IF equals(TEMPLATE, aux)
|
|
add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
|
|
!!ELSE
|
|
add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED)
|
|
!!ENDIF
|
|
!!ENDIF
|
|
|
|
# Add a versionless target, for compatibility with Qt6.
|
|
if(NOT \"${QT_NO_CREATE_VERSIONLESS_TARGETS}\" AND NOT TARGET Qt::$${CMAKE_MODULE_NAME})
|
|
add_library(Qt::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
|
|
set_target_properties(Qt::$${CMAKE_MODULE_NAME} PROPERTIES
|
|
INTERFACE_LINK_LIBRARIES \"Qt5::$${CMAKE_MODULE_NAME}\"
|
|
)
|
|
endif()
|
|
|
|
!!IF !equals(TEMPLATE, aux)
|
|
!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1)
|
|
!!ENDIF
|
|
!!ENDIF // TEMPLATE != aux
|
|
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
|
|
INTERFACE_INCLUDE_DIRECTORIES ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS})
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
|
|
INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINES})
|
|
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_ENABLED_FEATURES $$join(QT.$${MODULE}.enabled_features, ";"))
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_DISABLED_FEATURES $$join(QT.$${MODULE}.disabled_features, ";"))
|
|
|
|
# Qt 6 forward compatible properties.
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}
|
|
PROPERTY $${CMAKE_FEATURE_PROPERTY_PREFIX}QT_ENABLED_PUBLIC_FEATURES
|
|
$$join(QT.$${MODULE}.enabled_features, ";"))
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}
|
|
PROPERTY $${CMAKE_FEATURE_PROPERTY_PREFIX}QT_DISABLED_PUBLIC_FEATURES
|
|
$$join(QT.$${MODULE}.disabled_features, ";"))
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}
|
|
PROPERTY $${CMAKE_FEATURE_PROPERTY_PREFIX}QT_ENABLED_PRIVATE_FEATURES
|
|
$$join(QT.$${MODULE}_private.enabled_features, ";"))
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}
|
|
PROPERTY $${CMAKE_FEATURE_PROPERTY_PREFIX}QT_DISABLED_PRIVATE_FEATURES
|
|
$$join(QT.$${MODULE}_private.disabled_features, ";"))
|
|
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_PLUGIN_TYPES \"$${CMAKE_MODULE_PLUGIN_TYPES}\")
|
|
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST TRUE)
|
|
foreach (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR ${Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS})
|
|
if (NOT EXISTS ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR})
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST FALSE)
|
|
endif()
|
|
endforeach()
|
|
|
|
if (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST)
|
|
add_library(Qt5::$${CMAKE_MODULE_NAME}Private INTERFACE IMPORTED)
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY
|
|
INTERFACE_INCLUDE_DIRECTORIES ${Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS}
|
|
)
|
|
set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS)
|
|
foreach(dep ${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES})
|
|
if (TARGET ${dep}Private)
|
|
list(APPEND _Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS ${dep}Private)
|
|
endif()
|
|
endforeach()
|
|
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY
|
|
INTERFACE_LINK_LIBRARIES Qt5::$${CMAKE_MODULE_NAME} ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS}
|
|
)
|
|
|
|
# Add a versionless target, for compatibility with Qt6.
|
|
if(NOT \"${QT_NO_CREATE_VERSIONLESS_TARGETS}\" AND NOT TARGET Qt::$${CMAKE_MODULE_NAME}Private)
|
|
add_library(Qt::$${CMAKE_MODULE_NAME}Private INTERFACE IMPORTED)
|
|
set_target_properties(Qt::$${CMAKE_MODULE_NAME}Private PROPERTIES
|
|
INTERFACE_LINK_LIBRARIES \"Qt5::$${CMAKE_MODULE_NAME}Private\"
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
!!IF !equals(TEMPLATE, aux)
|
|
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
|
|
!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
|
|
_populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
|
|
!!ELSE
|
|
_populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
|
|
!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
|
|
|
|
!!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
|
|
!!IF isEmpty(CMAKE_DEBUG_TYPE)
|
|
!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
|
|
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
|
if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
|
|
!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
|
|
if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
|
|
!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
|
|
_populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
|
|
!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
|
|
if (EXISTS
|
|
!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
|
|
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
|
|
!!ELSE
|
|
\"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
|
|
!!ENDIF
|
|
AND EXISTS
|
|
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
|
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
|
|
!!ELSE
|
|
\"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
|
|
!!ENDIF
|
|
_populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
|
|
!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
|
|
endif()
|
|
!!ENDIF // CMAKE_DEBUG_TYPE
|
|
!!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
|
|
|
|
!!ENDIF // CMAKE_RELEASE_TYPE
|
|
|
|
!!IF !isEmpty(CMAKE_DEBUG_TYPE)
|
|
!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
|
|
_populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
|
|
!!ELSE
|
|
_populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
|
|
!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
|
|
|
|
!!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
|
|
!!IF isEmpty(CMAKE_RELEASE_TYPE)
|
|
!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
|
|
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
|
if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
|
|
!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
|
|
if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
|
|
!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
|
|
_populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
|
|
!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
|
|
if (EXISTS
|
|
!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
|
|
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
|
|
!!ELSE
|
|
\"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
|
|
!!ENDIF
|
|
AND EXISTS
|
|
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
|
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
|
|
!!ELSE
|
|
\"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
|
|
!!ENDIF
|
|
_populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
|
|
!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
|
|
endif()
|
|
!!ENDIF // CMAKE_RELEASE_TYPE
|
|
!!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
|
|
|
|
!!ENDIF // CMAKE_DEBUG_TYPE
|
|
!!ELSE // TEMPLATE != aux
|
|
set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
|
|
INTERFACE_LINK_LIBRARIES \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
|
|
)
|
|
!!ENDIF // TEMPLATE != aux
|
|
|
|
!!IF isEmpty(CMAKE_INTERNAL_MODULE)
|
|
|
|
file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*Plugin.cmake\")
|
|
|
|
macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION
|
|
IsDebugAndRelease)
|
|
set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
|
|
|
|
!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
|
|
set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
|
|
!!ELSE
|
|
set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
|
|
!!ENDIF
|
|
_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
|
|
set_target_properties(Qt5::${Plugin} PROPERTIES
|
|
\"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
|
|
)
|
|
|
|
!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
|
set(_static_deps
|
|
${_Qt5${Plugin}_STATIC_${Configuration}_LIB_DEPENDENCIES}
|
|
)
|
|
|
|
if(NOT "${IsDebugAndRelease}")
|
|
set(_genex_condition \"1\")
|
|
else()
|
|
if("${Configuration}" STREQUAL "DEBUG")
|
|
set(_genex_condition \"$<CONFIG:Debug>\")
|
|
else()
|
|
set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
|
|
endif()
|
|
endif()
|
|
if(_static_deps)
|
|
set(_static_deps_genex \"$<${_genex_condition}:${_static_deps}>\")
|
|
set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
\"${_static_deps_genex}\"
|
|
)
|
|
endif()
|
|
|
|
set(_static_link_flags \"${_Qt5${Plugin}_STATIC_${Configuration}_LINK_FLAGS}\")
|
|
if(_static_link_flags)
|
|
set(_static_link_flags_genex \"$<${_genex_condition}:${_static_link_flags}>\")
|
|
if(NOT CMAKE_VERSION VERSION_LESS \"3.13\")
|
|
set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_OPTIONS
|
|
\"${_static_link_flags_genex}\"
|
|
)
|
|
else()
|
|
# Abuse INTERFACE_LINK_LIBRARIES to add link flags when CMake version is too low.
|
|
# Strip out SHELL:, because it is not supported in this property. And hope for the best.
|
|
string(REPLACE \"SHELL:\" \"\" _static_link_flags_genex \"${_static_link_flags_genex}\")
|
|
set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
|
\"${_static_link_flags_genex}\"
|
|
)
|
|
endif()
|
|
endif()
|
|
!!ENDIF
|
|
endmacro()
|
|
|
|
if (pluginTargets)
|
|
foreach(pluginTarget ${pluginTargets})
|
|
include(${pluginTarget})
|
|
endforeach()
|
|
endif()
|
|
|
|
!!ENDIF // isEmpty(CMAKE_INTERNAL_MODULE)
|
|
|
|
|
|
!!IF !isEmpty(CMAKE_MODULE_EXTRAS)
|
|
include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake\")
|
|
!!ENDIF
|
|
|
|
!!IF !isEmpty(CMAKE_MODULE_MACROS)
|
|
include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}Macros.cmake\")
|
|
!!ENDIF
|
|
|
|
_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigVersion.cmake\")
|
|
|
|
endif()
|