Merge topic 'cmake--build-dir'
90ad087a cmake: Fix --build <relative-dir> for VS generators (#15609) 7195ec92 Tests: Extend RunCMake.CommandLine to cover --build with no arg
This commit is contained in:
commit
e5ed8b22cb
@ -420,7 +420,7 @@ static int do_build(int ac, char const* const* av)
|
||||
switch (doing)
|
||||
{
|
||||
case DoingDir:
|
||||
dir = av[i];
|
||||
dir = cmSystemTools::CollapseFullPath(av[i]);
|
||||
doing = DoingNone;
|
||||
break;
|
||||
case DoingTarget:
|
||||
|
1
Tests/RunCMake/CommandLine/BuildDir.cmake
Normal file
1
Tests/RunCMake/CommandLine/BuildDir.cmake
Normal file
@ -0,0 +1 @@
|
||||
add_subdirectory(BuildDir)
|
5
Tests/RunCMake/CommandLine/BuildDir/CMakeLists.txt
Normal file
5
Tests/RunCMake/CommandLine/BuildDir/CMakeLists.txt
Normal file
@ -0,0 +1,5 @@
|
||||
add_custom_command(
|
||||
OUTPUT output.txt
|
||||
COMMAND ${CMAKE_COMMAND} -E echo CustomCommand > output.txt
|
||||
)
|
||||
add_custom_target(CustomTarget ALL DEPENDS output.txt)
|
@ -22,13 +22,30 @@ run_cmake_command(G_bad-arg ${CMAKE_COMMAND} -G NoSuchGenerator)
|
||||
run_cmake_command(P_no-arg ${CMAKE_COMMAND} -P)
|
||||
run_cmake_command(P_no-file ${CMAKE_COMMAND} -P nosuchscriptfile.cmake)
|
||||
|
||||
run_cmake_command(build-no-dir
|
||||
${CMAKE_COMMAND} --build)
|
||||
run_cmake_command(build-no-cache
|
||||
${CMAKE_COMMAND} --build ${RunCMake_SOURCE_DIR})
|
||||
run_cmake_command(build-no-generator
|
||||
${CMAKE_COMMAND} --build ${RunCMake_SOURCE_DIR}/cache-no-generator)
|
||||
run_cmake_command(build-bad-dir
|
||||
${CMAKE_COMMAND} --build dir-does-not-exist)
|
||||
run_cmake_command(build-bad-generator
|
||||
${CMAKE_COMMAND} --build ${RunCMake_SOURCE_DIR}/cache-bad-generator)
|
||||
|
||||
function(run_BuildDir)
|
||||
# Use a single build tree for a few tests without cleaning.
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/BuildDir-build)
|
||||
set(RunCMake_TEST_NO_CLEAN 1)
|
||||
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
|
||||
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
|
||||
|
||||
run_cmake(BuildDir)
|
||||
run_cmake_command(BuildDir--build ${CMAKE_COMMAND} -E chdir ..
|
||||
${CMAKE_COMMAND} --build BuildDir-build --target CustomTarget)
|
||||
endfunction()
|
||||
run_BuildDir()
|
||||
|
||||
if(RunCMake_GENERATOR STREQUAL "Ninja")
|
||||
# Use a single build tree for a few tests without cleaning.
|
||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/Build-build)
|
||||
|
1
Tests/RunCMake/CommandLine/build-bad-dir-result.txt
Normal file
1
Tests/RunCMake/CommandLine/build-bad-dir-result.txt
Normal file
@ -0,0 +1 @@
|
||||
1
|
2
Tests/RunCMake/CommandLine/build-bad-dir-stderr.txt
Normal file
2
Tests/RunCMake/CommandLine/build-bad-dir-stderr.txt
Normal file
@ -0,0 +1,2 @@
|
||||
^Error: [^
|
||||
]+/Tests/RunCMake/CommandLine/build-bad-dir-build/dir-does-not-exist is not a directory$
|
1
Tests/RunCMake/CommandLine/build-no-dir-result.txt
Normal file
1
Tests/RunCMake/CommandLine/build-no-dir-result.txt
Normal file
@ -0,0 +1 @@
|
||||
1
|
1
Tests/RunCMake/CommandLine/build-no-dir-stderr.txt
Normal file
1
Tests/RunCMake/CommandLine/build-no-dir-stderr.txt
Normal file
@ -0,0 +1 @@
|
||||
^Usage: cmake --build <dir> \[options\] \[-- \[native-options\]\]
|
Loading…
x
Reference in New Issue
Block a user