mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-10-04 04:03:22 +03:00
Allow target commands to be invoked with no items (#14325).
Code such as
target_include_directories(foo PRIVATE ${items})
should not work or break based on whether items is defined or not.
This commit is contained in:
1 parent
0cecc7b485
commit
c0b8682200
4 files changed
+27
-3
No files matched your search
@@ -19,7 +19,7 @@ bool cmTargetPropCommandBase
|
||||
::HandleArguments(std::vector<std::string> const& args, const char *prop,
|
||||
ArgumentFlags flags)
|
||||
{
|
||||
if(args.size() < 3)
|
||||
if(args.size() < 2)
|
||||
{
|
||||
this->SetError("called with incorrect number of arguments");
|
||||
return false;
|
||||
@@ -53,7 +53,7 @@ bool cmTargetPropCommandBase
|
||||
|
||||
if ((flags & PROCESS_SYSTEM) && args[argIndex] == "SYSTEM")
|
||||
{
|
||||
if (args.size() < 4)
|
||||
if (args.size() < 3)
|
||||
{
|
||||
this->SetError("called with incorrect number of arguments");
|
||||
return false;
|
||||
@@ -65,7 +65,7 @@ bool cmTargetPropCommandBase
|
||||
bool prepend = false;
|
||||
if ((flags & PROCESS_BEFORE) && args[argIndex] == "BEFORE")
|
||||
{
|
||||
if (args.size() < 4)
|
||||
if (args.size() < 3)
|
||||
{
|
||||
this->SetError("called with incorrect number of arguments");
|
||||
return false;
|
||||
|
||||
@@ -20,3 +20,8 @@ target_compile_definitions(consumer
|
||||
PRIVATE $<TARGET_PROPERTY:target_compile_definitions,INTERFACE_COMPILE_DEFINITIONS>
|
||||
-DDASH_D_DEFINE
|
||||
)
|
||||
|
||||
# Test no items
|
||||
target_compile_definitions(consumer
|
||||
PRIVATE
|
||||
)
|
||||
@@ -33,3 +33,8 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||
"DO_GNU_TESTS"
|
||||
)
|
||||
endif()
|
||||
|
||||
# Test no items
|
||||
target_compile_options(consumer
|
||||
PRIVATE
|
||||
)
|
||||
@@ -47,3 +47,17 @@ target_include_directories(consumer
|
||||
$<TARGET_PROPERTY:target_include_directories,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
relative_dir
|
||||
)
|
||||
|
||||
# Test no items
|
||||
target_include_directories(consumer
|
||||
PRIVATE
|
||||
)
|
||||
target_include_directories(consumer
|
||||
BEFORE PRIVATE
|
||||
)
|
||||
target_include_directories(consumer
|
||||
SYSTEM BEFORE PRIVATE
|
||||
)
|
||||
target_include_directories(consumer
|
||||
SYSTEM PRIVATE
|
||||
)
|
||||
Reference in new issue
Block a user