summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmLoadCommandCommand.cxx4
-rw-r--r--Source/cmLoadCommandCommand.h15
-rw-r--r--Tests/RunCMake/CMakeLists.txt1
-rw-r--r--Tests/RunCMake/load_command/CMakeLists.txt3
-rw-r--r--Tests/RunCMake/load_command/LoadCommandDeprecated-stderr.txt6
-rw-r--r--Tests/RunCMake/load_command/LoadCommandDeprecated.cmake1
-rw-r--r--Tests/RunCMake/load_command/RunCMakeTest.cmake3
7 files changed, 32 insertions, 1 deletions
diff --git a/Source/cmLoadCommandCommand.cxx b/Source/cmLoadCommandCommand.cxx
index b2acf06..181b922 100644
--- a/Source/cmLoadCommandCommand.cxx
+++ b/Source/cmLoadCommandCommand.cxx
@@ -224,6 +224,10 @@ cmLoadedCommand::~cmLoadedCommand()
bool cmLoadCommandCommand
::InitialPass(std::vector<std::string> const& args, cmExecutionStatus &)
{
+ this->Makefile->IssueMessage(
+ cmake::AUTHOR_WARNING,
+ "The \"load_command\" command will be removed in CMake 3.0. "
+ "See command documentation for details.");
if(args.size() < 1 )
{
return true;
diff --git a/Source/cmLoadCommandCommand.h b/Source/cmLoadCommandCommand.h
index f0b34ee..bcd1831 100644
--- a/Source/cmLoadCommandCommand.h
+++ b/Source/cmLoadCommandCommand.h
@@ -47,7 +47,7 @@ public:
*/
virtual const char* GetTerseDocumentation() const
{
- return "Load a command into a running CMake.";
+ return "Deprecated. Use macro() or function() instead.";
}
/**
@@ -56,6 +56,13 @@ public:
virtual const char* GetFullDocumentation() const
{
return
+ "This command will be removed in CMake 3.0. "
+ "It works only when the target architecture matches the "
+ "running CMake binary. "
+ "Use macro() or function() to add commands. "
+ "Use execute_process() to run advanced computations "
+ "in external processes."
+ "\n"
" load_command(COMMAND_NAME <loc1> [loc2 ...])\n"
"The given locations are searched for a library whose name is "
"cmCOMMAND_NAME. If found, it is loaded as a module and the command "
@@ -67,6 +74,12 @@ public:
"Otherwise the variable will not be set.";
}
+ /** This command is kept for compatibility with older CMake versions. */
+ virtual bool IsDiscouraged() const
+ {
+ return true;
+ }
+
cmTypeMacro(cmLoadCommandCommand, cmCommand);
};
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 3ea54f1..a484983 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -53,6 +53,7 @@ add_RunCMake_test(build_command)
add_RunCMake_test(find_package)
add_RunCMake_test(include)
add_RunCMake_test(list)
+add_RunCMake_test(load_command)
if("${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio [^6]")
add_RunCMake_test(include_external_msproject)
diff --git a/Tests/RunCMake/load_command/CMakeLists.txt b/Tests/RunCMake/load_command/CMakeLists.txt
new file mode 100644
index 0000000..e8db6b0
--- /dev/null
+++ b/Tests/RunCMake/load_command/CMakeLists.txt
@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 2.8)
+project(${RunCMake_TEST} NONE)
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/load_command/LoadCommandDeprecated-stderr.txt b/Tests/RunCMake/load_command/LoadCommandDeprecated-stderr.txt
new file mode 100644
index 0000000..7d374b2
--- /dev/null
+++ b/Tests/RunCMake/load_command/LoadCommandDeprecated-stderr.txt
@@ -0,0 +1,6 @@
+CMake Warning \(dev\) at LoadCommandDeprecated.cmake:1 \(load_command\):
+ The "load_command" command will be removed in CMake 3.0. See command
+ documentation for details.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
+This warning is for project developers. Use -Wno-dev to suppress it.
diff --git a/Tests/RunCMake/load_command/LoadCommandDeprecated.cmake b/Tests/RunCMake/load_command/LoadCommandDeprecated.cmake
new file mode 100644
index 0000000..9e9b1f4
--- /dev/null
+++ b/Tests/RunCMake/load_command/LoadCommandDeprecated.cmake
@@ -0,0 +1 @@
+load_command()
diff --git a/Tests/RunCMake/load_command/RunCMakeTest.cmake b/Tests/RunCMake/load_command/RunCMakeTest.cmake
new file mode 100644
index 0000000..9a0f98d
--- /dev/null
+++ b/Tests/RunCMake/load_command/RunCMakeTest.cmake
@@ -0,0 +1,3 @@
+include(RunCMake)
+
+run_cmake(LoadCommandDeprecated)