exec_program(): Remove by policy CMP0153
This commit is contained in:
parent
89a692aa18
commit
ff12a57d5e
@ -1,6 +1,10 @@
|
||||
exec_program
|
||||
------------
|
||||
|
||||
.. versionchanged:: 3.28
|
||||
This command is available only if policy :policy:`CMP0153` is not set to ``NEW``.
|
||||
Port projects to the :command:`execute_process` command.
|
||||
|
||||
.. deprecated:: 3.0
|
||||
|
||||
Use the :command:`execute_process` command instead.
|
||||
|
@ -57,6 +57,7 @@ Policies Introduced by CMake 3.28
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
CMP0153: The exec_program command should not be called. </policy/CMP0153>
|
||||
CMP0152: file(REAL_PATH) resolves symlinks before collapsing ../ components. </policy/CMP0152>
|
||||
|
||||
Policies Introduced by CMake 3.27
|
||||
|
12
Help/policy/CMP0153.rst
Normal file
12
Help/policy/CMP0153.rst
Normal file
@ -0,0 +1,12 @@
|
||||
CMP0153
|
||||
-------
|
||||
|
||||
The :command:`exec_program` command should not be called.
|
||||
|
||||
This command has long been superseded by the :command:`execute_process`
|
||||
command and has been deprecated since CMake 3.0.
|
||||
|
||||
.. |disallowed_version| replace:: 3.28
|
||||
.. include:: DISALLOWED_COMMAND.txt
|
||||
|
||||
.. include:: DEPRECATED.txt
|
6
Help/release/dev/exec_program-policy.rst
Normal file
6
Help/release/dev/exec_program-policy.rst
Normal file
@ -0,0 +1,6 @@
|
||||
exec_program-policy
|
||||
-------------------
|
||||
|
||||
* The :command:`exec_program` command, which has been deprecated since CMake
|
||||
3.0, has been removed by policy :policy:`CMP0153`. Use the
|
||||
:command:`execute_process` command instead.
|
@ -135,7 +135,6 @@ void GetScriptingCommands(cmState* state)
|
||||
state->AddBuiltinCommand("cmake_path", cmCMakePathCommand);
|
||||
state->AddBuiltinCommand("cmake_policy", cmCMakePolicyCommand);
|
||||
state->AddBuiltinCommand("configure_file", cmConfigureFileCommand);
|
||||
state->AddBuiltinCommand("exec_program", cmExecProgramCommand);
|
||||
state->AddBuiltinCommand("execute_process", cmExecuteProcessCommand);
|
||||
state->AddBuiltinCommand("file", cmFileCommand);
|
||||
state->AddBuiltinCommand("find_file", cmFindFile);
|
||||
@ -220,6 +219,9 @@ void GetScriptingCommands(cmState* state)
|
||||
state->AddDisallowedCommand(
|
||||
"use_mangled_mesa", cmUseMangledMesaCommand, cmPolicies::CMP0030,
|
||||
"The use_mangled_mesa command should not be called; see CMP0030.");
|
||||
state->AddDisallowedCommand(
|
||||
"exec_program", cmExecProgramCommand, cmPolicies::CMP0153,
|
||||
"The exec_program command should not be called; see CMP0153.");
|
||||
|
||||
#endif
|
||||
}
|
||||
|
@ -463,7 +463,9 @@ class cmMakefile;
|
||||
SELECT( \
|
||||
POLICY, CMP0152, \
|
||||
"file(REAL_PATH) resolves symlinks before collapsing ../ components.", 3, \
|
||||
28, 0, cmPolicies::WARN)
|
||||
28, 0, cmPolicies::WARN) \
|
||||
SELECT(POLICY, CMP0153, "The exec_program command should not be called.", \
|
||||
3, 28, 0, cmPolicies::WARN)
|
||||
|
||||
#define CM_SELECT_ID(F, A1, A2, A3, A4, A5, A6) F(A1)
|
||||
#define CM_FOR_EACH_POLICY_ID(POLICY) \
|
||||
|
1
Tests/RunCMake/CMP0153/CMP0153-NEW-result.txt
Normal file
1
Tests/RunCMake/CMP0153/CMP0153-NEW-result.txt
Normal file
@ -0,0 +1 @@
|
||||
1
|
3
Tests/RunCMake/CMP0153/CMP0153-NEW-stderr.txt
Normal file
3
Tests/RunCMake/CMP0153/CMP0153-NEW-stderr.txt
Normal file
@ -0,0 +1,3 @@
|
||||
^CMake Error at [^
|
||||
]*/Tests/RunCMake/CMP0153/CMP0153-NEW\.cmake:[0-9]+ \(exec_program\):
|
||||
The exec_program command should not be called; see CMP0153\.$
|
1
Tests/RunCMake/CMP0153/CMP0153-NEW-stdout.txt
Normal file
1
Tests/RunCMake/CMP0153/CMP0153-NEW-stdout.txt
Normal file
@ -0,0 +1 @@
|
||||
^$
|
2
Tests/RunCMake/CMP0153/CMP0153-NEW.cmake
Normal file
2
Tests/RunCMake/CMP0153/CMP0153-NEW.cmake
Normal file
@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0153 NEW)
|
||||
exec_program("${CMAKE_COMMAND}" ARGS "-E echo \"exec_program() called\"")
|
1
Tests/RunCMake/CMP0153/CMP0153-OLD-stdout.txt
Normal file
1
Tests/RunCMake/CMP0153/CMP0153-OLD-stdout.txt
Normal file
@ -0,0 +1 @@
|
||||
exec_program\(\) called
|
2
Tests/RunCMake/CMP0153/CMP0153-OLD.cmake
Normal file
2
Tests/RunCMake/CMP0153/CMP0153-OLD.cmake
Normal file
@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0153 OLD)
|
||||
exec_program("${CMAKE_COMMAND}" ARGS "-E echo \"exec_program() called\"")
|
6
Tests/RunCMake/CMP0153/CMP0153-WARN-stderr.txt
Normal file
6
Tests/RunCMake/CMP0153/CMP0153-WARN-stderr.txt
Normal file
@ -0,0 +1,6 @@
|
||||
^CMake Warning \(dev\) at [^
|
||||
]*/Tests/RunCMake/CMP0153/CMP0153-WARN\.cmake:[0-9]+ \(exec_program\):
|
||||
Policy CMP0153 is not set: The exec_program command should not be called\.
|
||||
Run "cmake --help-policy CMP0153" for policy details\. Use the cmake_policy
|
||||
command to set the policy and suppress this warning\.
|
||||
This warning is for project developers\. Use -Wno-dev to suppress it\.$
|
1
Tests/RunCMake/CMP0153/CMP0153-WARN-stdout.txt
Normal file
1
Tests/RunCMake/CMP0153/CMP0153-WARN-stdout.txt
Normal file
@ -0,0 +1 @@
|
||||
exec_program\(\) called
|
1
Tests/RunCMake/CMP0153/CMP0153-WARN.cmake
Normal file
1
Tests/RunCMake/CMP0153/CMP0153-WARN.cmake
Normal file
@ -0,0 +1 @@
|
||||
exec_program("${CMAKE_COMMAND}" ARGS "-E echo \"exec_program() called\"")
|
3
Tests/RunCMake/CMP0153/CMakeLists.txt
Normal file
3
Tests/RunCMake/CMP0153/CMakeLists.txt
Normal file
@ -0,0 +1,3 @@
|
||||
cmake_minimum_required(VERSION 3.27)
|
||||
project(${RunCMake_TEST} NONE)
|
||||
include(${RunCMake_TEST}.cmake)
|
9
Tests/RunCMake/CMP0153/RunCMakeTest.cmake
Normal file
9
Tests/RunCMake/CMP0153/RunCMakeTest.cmake
Normal file
@ -0,0 +1,9 @@
|
||||
include(RunCMake)
|
||||
|
||||
function(run_cmp0153 name)
|
||||
run_cmake_command(${name} ${CMAKE_COMMAND} -P "${RunCMake_SOURCE_DIR}/${name}.cmake")
|
||||
endfunction()
|
||||
|
||||
run_cmp0153(CMP0153-WARN)
|
||||
run_cmp0153(CMP0153-OLD)
|
||||
run_cmp0153(CMP0153-NEW)
|
@ -169,6 +169,8 @@ if(NOT WIN32 OR CYGWIN)
|
||||
add_RunCMake_test(CMP0152)
|
||||
endif()
|
||||
|
||||
add_RunCMake_test(CMP0153)
|
||||
|
||||
# The test for Policy 65 requires the use of the
|
||||
# CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS variable, which both the VS and Xcode
|
||||
# generators ignore. The policy will have no effect on those generators.
|
||||
|
Loading…
Reference in New Issue
Block a user