ExternalProject: make SOURCE_SUBDIR directly appendable
This allows it to be used in expansions without being conditional based on its value.
This commit is contained in:
parent
fdce782b61
commit
615f3ed2b4
|
@ -1087,10 +1087,14 @@ function(_ep_set_directories name)
|
||||||
endforeach()
|
endforeach()
|
||||||
get_property(source_subdir TARGET ${name} PROPERTY _EP_SOURCE_SUBDIR)
|
get_property(source_subdir TARGET ${name} PROPERTY _EP_SOURCE_SUBDIR)
|
||||||
if(NOT source_subdir)
|
if(NOT source_subdir)
|
||||||
set_property(TARGET ${name} PROPERTY _EP_SOURCE_SUBDIR ".")
|
set_property(TARGET ${name} PROPERTY _EP_SOURCE_SUBDIR "")
|
||||||
elseif(IS_ABSOLUTE "${source_subdir}")
|
elseif(IS_ABSOLUTE "${source_subdir}")
|
||||||
message(FATAL_ERROR
|
message(FATAL_ERROR
|
||||||
"External project ${name} has non-relative SOURCE_SUBDIR!")
|
"External project ${name} has non-relative SOURCE_SUBDIR!")
|
||||||
|
else()
|
||||||
|
# Prefix with a slash so that when appended to the source directory, it
|
||||||
|
# behaves as expected.
|
||||||
|
set_property(TARGET ${name} PROPERTY _EP_SOURCE_SUBDIR "/${source_subdir}")
|
||||||
endif()
|
endif()
|
||||||
if(build_in_source)
|
if(build_in_source)
|
||||||
get_property(source_dir TARGET ${name} PROPERTY _EP_SOURCE_DIR)
|
get_property(source_dir TARGET ${name} PROPERTY _EP_SOURCE_DIR)
|
||||||
|
@ -2257,11 +2261,7 @@ function(_ep_add_configure_command name)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(source_subdir STREQUAL ".")
|
list(APPEND cmd "${source_dir}${source_subdir}")
|
||||||
list(APPEND cmd "${source_dir}")
|
|
||||||
else()
|
|
||||||
list(APPEND cmd "${source_dir}/${source_subdir}")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# If anything about the configure command changes, (command itself, cmake
|
# If anything about the configure command changes, (command itself, cmake
|
||||||
|
|
Loading…
Reference in New Issue