Skip to content
Snippets Groups Projects
Commit 2e99949c authored by Brad King's avatar Brad King
Browse files

include: Ignore empty string as file name (#13388)

Previously CMake silently accepted the empty string and added a bogus
dependency on the current directory.  Instead warn about the empty file
name and ignore it.  We cannot make this an error because there may be
existing projects that accidentally depend on the old behavior.

Add a RunCMake.include test to cover this case.
parent 6274ca6f
No related branches found
No related tags found
No related merge requests found
......@@ -70,6 +70,13 @@ bool cmIncludeCommand
}
}
if(fname.empty())
{
this->Makefile->IssueMessage(cmake::AUTHOR_WARNING,
"include() given empty file name (ignored).");
return true;
}
if(!cmSystemTools::FileIsFullPath(fname.c_str()))
{
// Not a path. Maybe module.
......
......@@ -50,6 +50,7 @@ add_RunCMake_test(ObjectLibrary)
add_RunCMake_test(build_command)
add_RunCMake_test(find_package)
add_RunCMake_test(include)
add_RunCMake_test(list)
if("${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio [^6]")
......
cmake_minimum_required(VERSION 2.8)
project(${RunCMake_TEST} NONE)
include(${RunCMake_TEST}.cmake)
CMake Warning \(dev\) at EmptyString.cmake:1 \(include\):
include\(\) given empty file name \(ignored\).
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
This warning is for project developers. Use -Wno-dev to suppress it.
include("")
CMake Warning \(dev\) at EmptyStringOptional.cmake:1 \(include\):
include\(\) given empty file name \(ignored\).
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
This warning is for project developers. Use -Wno-dev to suppress it.
include("" OPTIONAL)
include(RunCMake)
run_cmake(EmptyString)
run_cmake(EmptyStringOptional)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment