mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-16 05:26:58 +08:00
add_custom_command: Add tests for custom command output checks
This commit is contained in:
@@ -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;
|
||||
|
@@ -0,0 +1 @@
|
||||
1
|
36
Tests/RunCMake/add_custom_command/BadByproduct-stderr.txt
Normal file
36
Tests/RunCMake/add_custom_command/BadByproduct-stderr.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
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\)
|
6
Tests/RunCMake/add_custom_command/BadByproduct.cmake
Normal file
6
Tests/RunCMake/add_custom_command/BadByproduct.cmake
Normal file
@@ -0,0 +1,6 @@
|
||||
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)
|
1
Tests/RunCMake/add_custom_command/BadOutput-result.txt
Normal file
1
Tests/RunCMake/add_custom_command/BadOutput-result.txt
Normal file
@@ -0,0 +1 @@
|
||||
1
|
36
Tests/RunCMake/add_custom_command/BadOutput-stderr.txt
Normal file
36
Tests/RunCMake/add_custom_command/BadOutput-stderr.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
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\)
|
6
Tests/RunCMake/add_custom_command/BadOutput.cmake
Normal file
6
Tests/RunCMake/add_custom_command/BadOutput.cmake
Normal file
@@ -0,0 +1,6 @@
|
||||
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)
|
||||
|
Reference in New Issue
Block a user