forked from qt-creator/qt-creator
CMake: Error out when dependent targets are disabled
Change-Id: I0cc1e250dbe6eca66ed5f4ddecf9d5a8acfe955a Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -231,12 +231,26 @@ function(finalize_test_setup test_name)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(check_qtc_disabled_targets target_name dependent_targets)
|
||||
foreach(dependency IN LISTS ${dependent_targets})
|
||||
foreach(type PLUGIN LIBRARY)
|
||||
string(TOUPPER "BUILD_${type}_${dependency}" build_target)
|
||||
if (DEFINED ${build_target} AND NOT ${build_target})
|
||||
message(SEND_ERROR "Target ${name} depends on ${dependency} which was disabled via ${build_target} set to ${${build_target}}")
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
function(add_qtc_depends target_name)
|
||||
cmake_parse_arguments(_arg "" "" "PRIVATE;PUBLIC" ${ARGN})
|
||||
if (${_arg_UNPARSED_ARGUMENTS})
|
||||
message(FATAL_ERROR "add_qtc_depends had unparsed arguments")
|
||||
endif()
|
||||
|
||||
check_qtc_disabled_targets(${target_name} _arg_PRIVATE)
|
||||
check_qtc_disabled_targets(${target_name} _arg_PUBLIC)
|
||||
|
||||
separate_object_libraries("${_arg_PRIVATE}"
|
||||
depends object_lib_depends object_lib_depends_objects)
|
||||
separate_object_libraries("${_arg_PUBLIC}"
|
||||
|
Reference in New Issue
Block a user