Commit cbb861ad authored by Daniel Eiband's avatar Daniel Eiband

add_custom_command: Add tests for custom command output checks

parent ebb93464
......@@ -396,8 +396,8 @@ bool cmAddCustomCommandCommandCheckOutputs(
// Make sure the file will not be generated into the source
// directory during an out of source build.
if (!mf.CanIWriteThisFile(o)) {
std::string e = "attempted to have a file \"" + o +
"\" in a source directory as an output of custom command.";
std::string e = "attempted to have a file\n\"" + o +
"\"\nin a source directory as an output of custom command.";
status.SetError(e);
cmSystemTools::SetFatalErrorOccured();
return false;
......
CMake Error at BadByproduct.cmake:2 \(add_custom_command\):
add_custom_command called with OUTPUT containing a "#". This character is
not allowed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Error at BadByproduct.cmake:3 \(add_custom_command\):
add_custom_command called with OUTPUT containing a "<". This character is
not allowed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Error at BadByproduct.cmake:4 \(add_custom_command\):
add_custom_command called with OUTPUT containing a ">". This character is
not allowed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Error at BadByproduct.cmake:5 \(add_custom_command\):
add_custom_command called with OUTPUT containing a "<". This character is
not allowed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Error at BadByproduct.cmake:6 \(add_custom_command\):
add_custom_command attempted to have a file
.*/f".*
in a source directory as an output of custom command.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
add_custom_command(OUTPUT a BYPRODUCTS "a#")
add_custom_command(OUTPUT b BYPRODUCTS "a<")
add_custom_command(OUTPUT c BYPRODUCTS "a>")
add_custom_command(OUTPUT d BYPRODUCTS "$<CONFIG>/#")
add_custom_command(OUTPUT e BYPRODUCTS ${CMAKE_CURRENT_SOURCE_DIR}/f)
CMake Error at BadOutput.cmake:2 \(add_custom_command\):
add_custom_command called with OUTPUT containing a "#". This character is
not allowed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Error at BadOutput.cmake:3 \(add_custom_command\):
add_custom_command called with OUTPUT containing a "<". This character is
not allowed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Error at BadOutput.cmake:4 \(add_custom_command\):
add_custom_command called with OUTPUT containing a ">". This character is
not allowed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Error at BadOutput.cmake:5 \(add_custom_command\):
add_custom_command called with OUTPUT containing a "<". This character is
not allowed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Error at BadOutput.cmake:6 \(add_custom_command\):
add_custom_command attempted to have a file
.*/e".*
in a source directory as an output of custom command.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
add_custom_command(OUTPUT "a#" COMMAND a)
add_custom_command(OUTPUT "a<" COMMAND b)
add_custom_command(OUTPUT "a>" COMMAND c)
add_custom_command(OUTPUT "$<CONFIG>/#" COMMAND d)
add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/e COMMAND f)
......@@ -4,6 +4,8 @@ run_cmake(AppendLiteralQuotes)
run_cmake(AppendNoOutput)
run_cmake(AppendNotOutput)
run_cmake(BadArgument)
run_cmake(BadByproduct)
run_cmake(BadOutput)
run_cmake(GeneratedProperty)
run_cmake(LiteralQuotes)
run_cmake(NoArguments)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment