add_subdirectory: Fix error message on missing CMakeLists.txt (#15680)

Refactoring in commit v3.3.0-rc1~76^2 (cmMakefile: Handle CMP0014 before
configuring the generator, 2015-05-14) accidentally left the file name
"/CMakeLists.txt" in the error message.  Remove it and add a test case.
This commit is contained in:
Brad King 2015-08-04 16:39:31 -04:00
parent 3a0db0223b
commit c4d2f64f3c
11 changed files with 27 additions and 2 deletions

View File

@ -1564,8 +1564,8 @@ void cmMakefile::ConfigureSubDirectory(cmLocalGenerator *lg2)
cmSystemTools::Message(msg.c_str()); cmSystemTools::Message(msg.c_str());
} }
currentStart += "/CMakeLists.txt"; std::string const currentStartFile = currentStart + "/CMakeLists.txt";
if(!cmSystemTools::FileExists(currentStart.c_str(), true)) if (!cmSystemTools::FileExists(currentStartFile, true))
{ {
// The file is missing. Check policy CMP0014. // The file is missing. Check policy CMP0014.
std::ostringstream e; std::ostringstream e;

View File

@ -118,6 +118,7 @@ add_RunCMake_test(Syntax)
add_RunCMake_test(add_custom_command) add_RunCMake_test(add_custom_command)
add_RunCMake_test(add_custom_target) add_RunCMake_test(add_custom_target)
add_RunCMake_test(add_dependencies) add_RunCMake_test(add_dependencies)
add_RunCMake_test(add_subdirectory)
add_RunCMake_test(build_command) add_RunCMake_test(build_command)
add_RunCMake_test(execute_process) add_RunCMake_test(execute_process)
add_RunCMake_test(export) add_RunCMake_test(export)

View File

@ -0,0 +1,3 @@
cmake_minimum_required(VERSION 3.2)
project(${RunCMake_TEST} NONE)
include(${RunCMake_TEST}.cmake)

View File

@ -0,0 +1 @@
1

View File

@ -0,0 +1,5 @@
^CMake Error at DoesNotExist.cmake:1 \(add_subdirectory\):
add_subdirectory given source "DoesNotExist" which is not an existing
directory.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)$

View File

@ -0,0 +1 @@
add_subdirectory(DoesNotExist)

View File

@ -0,0 +1 @@
1

View File

@ -0,0 +1,8 @@
^CMake Error at Missing.cmake:1 \(add_subdirectory\):
The source directory
.*/Tests/RunCMake/add_subdirectory/Missing
does not contain a CMakeLists.txt file.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)$

View File

@ -0,0 +1 @@
add_subdirectory(Missing)

View File

@ -0,0 +1,4 @@
include(RunCMake)
run_cmake(DoesNotExist)
run_cmake(Missing)