Avoid converting paths to relative for headersclean comment if they are relative
When calling file (RELATIVE_PATH), check if the base directory and header path are absolute. Use the original file path if the paths are relative to avoid critical errors. Fixes: QTBUG-108617 Change-Id: I6daddd5c1553cdbfd965650b7c469673c62f0a3d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
This commit is contained in:
parent
71f35d6057
commit
8155bd5426
@ -241,12 +241,18 @@ function(qt_internal_add_headersclean_target module_target module_headers)
|
|||||||
get_filename_component(input_file_name ${input_path} NAME)
|
get_filename_component(input_file_name ${input_path} NAME)
|
||||||
set(artifact_path "${CMAKE_CURRENT_BINARY_DIR}/header_check/${input_file_name}.o")
|
set(artifact_path "${CMAKE_CURRENT_BINARY_DIR}/header_check/${input_file_name}.o")
|
||||||
|
|
||||||
|
unset(input_base_dir)
|
||||||
if(input_path MATCHES "${CMAKE_BINARY_DIR}")
|
if(input_path MATCHES "${CMAKE_BINARY_DIR}")
|
||||||
set(input_base_dir "${CMAKE_BINARY_DIR}")
|
set(input_base_dir "${CMAKE_BINARY_DIR}")
|
||||||
elseif(input_path MATCHES "${CMAKE_SOURCE_DIR}")
|
elseif(input_path MATCHES "${CMAKE_SOURCE_DIR}")
|
||||||
set(input_base_dir "${CMAKE_SOURCE_DIR}")
|
set(input_base_dir "${CMAKE_SOURCE_DIR}")
|
||||||
endif()
|
endif()
|
||||||
file(RELATIVE_PATH comment_header_path "${input_base_dir}" "${input_path}")
|
|
||||||
|
if(input_base_dir AND IS_ABSOLUTE "${input_base_dir}" AND IS_ABSOLUTE "${input_path}")
|
||||||
|
file(RELATIVE_PATH comment_header_path "${input_base_dir}" "${input_path}")
|
||||||
|
else()
|
||||||
|
set(comment_header_path "${input_path}")
|
||||||
|
endif()
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT "${artifact_path}"
|
OUTPUT "${artifact_path}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user