mirror of
https://github.com/reactos/CMake.git
synced 2025-04-07 09:41:32 +00:00
cmake: Convert no source/build dir error to warning
Temporarily restore previous behavior that allowed specifying no source or build directory to work, even though it was neither documented nor supported. This commit is expected to eventually be reverted to restore the fatal error for such cases. Relates: #18817
This commit is contained in:
parent
fa5bf870df
commit
68b51fb19a
@ -810,8 +810,11 @@ void cmake::SetArgs(const std::vector<std::string>& args)
|
||||
|
||||
if (this->CurrentWorkingMode == cmake::NORMAL_MODE && !haveSourceDir &&
|
||||
!haveBinaryDir) {
|
||||
cmSystemTools::Error("No source or binary directory provided");
|
||||
return;
|
||||
this->IssueMessage(
|
||||
MessageType::WARNING,
|
||||
"No source or binary directory provided. Both will be assumed to be "
|
||||
"the same as the current working directory, but note that this "
|
||||
"warning will become a fatal error in future CMake releases.");
|
||||
}
|
||||
|
||||
if (!haveSourceDir) {
|
||||
|
@ -56,12 +56,22 @@ run_cmake_command(cache-empty-entry
|
||||
${CMAKE_COMMAND} --build ${RunCMake_SOURCE_DIR}/cache-empty-entry/)
|
||||
|
||||
function(run_ExplicitDirs)
|
||||
set(source_dir ${RunCMake_BINARY_DIR}/ExplicitDirsMissing)
|
||||
|
||||
file(REMOVE_RECURSE "${source_dir}")
|
||||
file(MAKE_DIRECTORY "${source_dir}")
|
||||
file(WRITE ${source_dir}/CMakeLists.txt [=[
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
project(ExplicitDirsMissing LANGUAGES NONE)
|
||||
]=])
|
||||
run_cmake_command(no-S-B ${CMAKE_COMMAND} -E chdir ${source_dir}
|
||||
${CMAKE_COMMAND} -DFOO=BAR)
|
||||
|
||||
set(source_dir ${RunCMake_SOURCE_DIR}/ExplicitDirs)
|
||||
set(binary_dir ${RunCMake_BINARY_DIR}/ExplicitDirs-build)
|
||||
|
||||
file(REMOVE_RECURSE "${binary_dir}")
|
||||
file(MAKE_DIRECTORY "${binary_dir}")
|
||||
run_cmake_command(no-S-B ${CMAKE_COMMAND} -DFOO=BAR)
|
||||
run_cmake_command(S-arg ${CMAKE_COMMAND} -S ${source_dir} ${binary_dir})
|
||||
run_cmake_command(S-arg-reverse-order ${CMAKE_COMMAND} ${binary_dir} -S${source_dir} )
|
||||
run_cmake_command(S-no-arg ${CMAKE_COMMAND} -S )
|
||||
|
@ -1 +0,0 @@
|
||||
1
|
@ -1 +1,4 @@
|
||||
CMake Error: No source or binary directory provided
|
||||
CMake Warning:
|
||||
No source or binary directory provided. Both will be assumed to be the
|
||||
same as the current working directory, but note that this warning will
|
||||
become a fatal error in future CMake releases.
|
||||
|
Loading…
x
Reference in New Issue
Block a user