[Cmake-commits] CMake branch, next, updated. v3.3.2-3084-g9c8534c
Ben Boeckel
ben.boeckel at kitware.com
Fri Sep 18 13:21:22 EDT 2015
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 9c8534cd68bdfa1e3f479e3bd9c8681a26a05a4d (commit)
via 971346addd9858b96acf81496f8d4091536235e9 (commit)
via e69ed005747de6eeb05f0605c3ec80f780ed5317 (commit)
via 666ea054fea69ab350a52374caaef139c1528e7f (commit)
from 244bb3caa32a08d6719f0f3f1b63509e5373372f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9c8534cd68bdfa1e3f479e3bd9c8681a26a05a4d
commit 9c8534cd68bdfa1e3f479e3bd9c8681a26a05a4d
Merge: 244bb3c 971346a
Author: Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Fri Sep 18 13:21:20 2015 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Sep 18 13:21:20 2015 -0400
Merge topic 'lib_depends-in-property-conflict' into next
971346ad Merge commit '24ea86e' into lib_depends-in-property-conflict
e69ed005 variables: remove _LIB_DEPENDS variables
666ea054 UseVTKConfig40: remove unused module
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=971346addd9858b96acf81496f8d4091536235e9
commit 971346addd9858b96acf81496f8d4091536235e9
Merge: e69ed00 24ea86e
Author: Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Thu Sep 17 13:29:32 2015 -0400
Commit: Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Thu Sep 17 13:29:32 2015 -0400
Merge commit '24ea86e' into lib_depends-in-property-conflict
* commit '24ea86e':
try_compile: Propogate CMP0065 to the generated project.
CMP0065: Restrict the use of CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS
Conflicts:
Help/manual/cmake-policies.7.rst
Source/cmPolicies.h
Tests/RunCMake/CMakeLists.txt
diff --cc Help/manual/cmake-policies.7.rst
index da8cb83,ae5354f..38047ef
--- a/Help/manual/cmake-policies.7.rst
+++ b/Help/manual/cmake-policies.7.rst
@@@ -122,4 -122,4 +122,5 @@@ All Policie
/policy/CMP0062
/policy/CMP0063
/policy/CMP0064
+ /policy/CMP0065
+ /policy/CMP0066
diff --cc Source/cmPolicies.h
index 2d16a0a,820c9cc..88bd6e2
--- a/Source/cmPolicies.h
+++ b/Source/cmPolicies.h
@@@ -221,9 -221,10 +221,13 @@@ class cmPolicy
SELECT(POLICY, CMP0064, \
"Support new TEST if() operator.", \
3, 3, 0, cmPolicies::WARN) \
+ SELECT(POLICY, CMP0065, \
+ "Only use additional flags to export symbols on executables with " \
+ "the ENABLE_EXPORTS property.", \
- 3, 3, 0, cmPolicies::WARN)
++ 3, 3, 0, cmPolicies::WARN) \
+ SELECT(POLICY, CMP0066, \
+ "Deprecate _LIB_DEPENDS variables.", \
+ 3, 4, 0, cmPolicies::WARN)
#define CM_SELECT_ID(F, A1, A2, A3, A4, A5, A6) F(A1)
#define CM_FOR_EACH_POLICY_ID(POLICY) \
diff --cc Tests/RunCMake/CMakeLists.txt
index a812299,d5d54fc..c0fea67
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@@ -104,7 -104,13 +104,14 @@@ add_RunCMake_test(CMP0057
add_RunCMake_test(CMP0059)
add_RunCMake_test(CMP0060)
add_RunCMake_test(CMP0064)
+add_RunCMake_test(CMP0066)
+
+ # 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.
+ if(NOT CMAKE_GENERATOR MATCHES "Visual Studio|Xcode")
+ add_RunCMake_test(CMP0065)
+ endif()
if(CMAKE_GENERATOR MATCHES "Make")
add_RunCMake_test(Make)
endif()
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e69ed005747de6eeb05f0605c3ec80f780ed5317
commit e69ed005747de6eeb05f0605c3ec80f780ed5317
Author: Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Thu Sep 10 13:10:51 2015 -0400
Commit: Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Thu Sep 17 13:17:52 2015 -0400
variables: remove _LIB_DEPENDS variables
Introduces policy CMP0066 to avoid setting _LIB_DEPENDS cache variables
to track the dependencies of a target. Instead, a global property is
used to store the information since it is only required during a single
configuration anyways.
Benefits include reducing the size of the cache file, fewer variables to
look through in the cache, and INTERFACE libraries can now have the same
name as a target that previously existed (which errored out previously
because old _LIB_DEPENDS variables would cause an error when the
INTERFACE library was declared).
diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst
index 590f10d..da8cb83 100644
--- a/Help/manual/cmake-policies.7.rst
+++ b/Help/manual/cmake-policies.7.rst
@@ -122,3 +122,4 @@ All Policies
/policy/CMP0062
/policy/CMP0063
/policy/CMP0064
+ /policy/CMP0066
diff --git a/Help/policy/CMP0066.rst b/Help/policy/CMP0066.rst
new file mode 100644
index 0000000..afe21ee
--- /dev/null
+++ b/Help/policy/CMP0066.rst
@@ -0,0 +1,16 @@
+CMP0066
+-------
+
+Deprecate the ``_LIB_DEPENDS`` variables.
+
+Instead, the values are stored as global properties.
+
+The ``OLD`` behavior for this policy is to set ``_LIB_DEPENDS`` variables. The
+``NEW`` behavior is to only store them as properties.
+
+This policy was introduced in CMake version 3.4. CMake version
+|release| warns when the policy is not set and uses ``OLD`` behavior. Use
+the :command:`cmake_policy()` command to set it to ``OLD`` or ``NEW``
+explicitly.
+
+.. include:: DEPRECATED.txt
diff --git a/Help/release/dev/lib_depends-in-property.rst b/Help/release/dev/lib_depends-in-property.rst
new file mode 100644
index 0000000..39cc616
--- /dev/null
+++ b/Help/release/dev/lib_depends-in-property.rst
@@ -0,0 +1,7 @@
+lib_depends-in-property
+-----------------------
+
+* Adds policy CMP0066 which deprecates the ``_LIB_DEPENDS`` variables for
+ storing dependency information of targets. Instead, a global propery is
+ used to store the information so that it does not persist between CMake
+ runs (as it is always regenerated as-needed anyways).
diff --git a/Modules/KDE3Macros.cmake b/Modules/KDE3Macros.cmake
index 07864f5..11d4256 100644
--- a/Modules/KDE3Macros.cmake
+++ b/Modules/KDE3Macros.cmake
@@ -330,7 +330,6 @@ macro(KDE3_INSTALL_LIBTOOL_FILE _target)
file(APPEND ${_laname} "old_library=''\n")
file(APPEND ${_laname} "# Libraries that this one depends upon.\n")
file(APPEND ${_laname} "dependency_libs=''\n")
-# file(APPEND ${_laname} "dependency_libs='${${_target}_LIB_DEPENDS}'\n")
file(APPEND ${_laname} "# Version information.\ncurrent=0\nage=0\nrevision=0\n")
file(APPEND ${_laname} "# Is this an already installed library?\ninstalled=yes\n")
file(APPEND ${_laname} "# Should we warn about portability when linking against -modules?\nshouldnotlink=yes\n")
diff --git a/Source/cmComputeLinkDepends.cxx b/Source/cmComputeLinkDepends.cxx
index 1b5c9f4..80e19eb 100644
--- a/Source/cmComputeLinkDepends.cxx
+++ b/Source/cmComputeLinkDepends.cxx
@@ -333,10 +333,8 @@ int cmComputeLinkDepends::AddLinkEntry(cmLinkItem const& item)
}
else
{
- // Look for an old-style <item>_LIB_DEPENDS variable.
- std::string var = entry.Item;
- var += "_LIB_DEPENDS";
- if(const char* val = this->Makefile->GetDefinition(var))
+ // Look for an old-style <item>_LIB_DEPENDS entry.
+ if(const char* val = this->Makefile->GetLibDepends(entry.Item))
{
// The item dependencies are known. Follow them.
BFSEntry qe = {index, val};
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 8a3d197..83c8e32 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -210,6 +210,58 @@ cmBacktraceRange cmMakefile::GetCompileDefinitionsBacktraces() const
.GetCompileDefinitionsEntryBacktraces();
}
+static std::string target_lib_depends_property(std::string const& target)
+{
+ return "cmake_" + target + "_lib_depends";
+}
+
+const char* cmMakefile::GetLibDepends(std::string const& target) const
+{
+ cmake* cm = this->GetCMakeInstance();
+ return cm->GetProperty(target_lib_depends_property(target));
+}
+
+void cmMakefile::SetLibDepends(std::string const& target,
+ std::string const& value)
+{
+ cmake* cm = this->GetCMakeInstance();
+ cm->SetProperty(target_lib_depends_property(target), value.c_str());
+
+ switch (this->GetPolicyStatus(cmPolicies::CMP0066))
+ {
+ case cmPolicies::WARN:
+ // No sense in warning about this...the variable is pretty much always
+ // used.
+ case cmPolicies::OLD:
+ // OLD behavior is to set a variable.
+ this->AddCacheDefinition( target + "_LIB_DEPENDS", value.c_str(),
+ "Dependencies for the target",
+ cmState::STATIC );
+ break;
+ case cmPolicies::REQUIRED_IF_USED:
+ case cmPolicies::REQUIRED_ALWAYS:
+ case cmPolicies::NEW:
+ // NEW behavior is to not set a variable.
+ break;
+ }
+}
+
+bool cmMakefile::CheckLibDepends(std::string const& target) const
+{
+ if (this->GetLibDepends(target))
+ {
+ std::string message = "Target ";
+ message += target;
+ message += " has dependency information when it shouldn't.\n";
+ message += "Your cache is probably stale. Please remove the entry\n ";
+ message += target_lib_depends_property(target);
+ message += "\nfrom the cache.";
+ cmSystemTools::Error( message.c_str() );
+ return false;
+ }
+ return true;
+}
+
//----------------------------------------------------------------------------
cmListFileBacktrace cmMakefile::GetBacktrace() const
{
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 3cf20a6..ee94fbe 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -750,6 +750,11 @@ public:
cmStringRange GetCompileDefinitionsEntries() const;
cmBacktraceRange GetCompileDefinitionsBacktraces() const;
+ const char* GetLibDepends(std::string const& target) const;
+ void SetLibDepends(std::string const& target,
+ std::string const& value);
+ bool CheckLibDepends(std::string const& target) const;
+
bool IsConfigured() const { return this->Configured; }
void SetConfigured(){ this->Configured = true; }
diff --git a/Source/cmPolicies.h b/Source/cmPolicies.h
index a791b89..2d16a0a 100644
--- a/Source/cmPolicies.h
+++ b/Source/cmPolicies.h
@@ -220,7 +220,10 @@ class cmPolicy;
3, 3, 0, cmPolicies::WARN) \
SELECT(POLICY, CMP0064, \
"Support new TEST if() operator.", \
- 3, 3, 0, cmPolicies::WARN)
+ 3, 3, 0, cmPolicies::WARN) \
+ SELECT(POLICY, CMP0066, \
+ "Deprecate _LIB_DEPENDS variables.", \
+ 3, 4, 0, cmPolicies::WARN)
#define CM_SELECT_ID(F, A1, A2, A3, A4, A5, A6) F(A1)
#define CM_FOR_EACH_POLICY_ID(POLICY) \
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 3425f34..ae32331 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -1025,25 +1025,13 @@ void cmTarget::ClearDependencyInformation( cmMakefile& mf,
{
// Clear the dependencies. The cache variable must exist iff we are
// recording dependency information for this target.
- std::string depname = target;
- depname += "_LIB_DEPENDS";
if (this->RecordDependencies)
{
- mf.AddCacheDefinition(depname, "",
- "Dependencies for target", cmState::STATIC);
+ mf.SetLibDepends(target, "");
}
else
{
- if (mf.GetDefinition( depname ))
- {
- std::string message = "Target ";
- message += target;
- message += " has dependency information when it shouldn't.\n";
- message += "Your cache is probably stale. Please remove the entry\n ";
- message += depname;
- message += "\nfrom the cache.";
- cmSystemTools::Error( message.c_str() );
- }
+ mf.CheckLibDepends(target);
}
}
@@ -1176,10 +1164,8 @@ void cmTarget::AddLinkLibrary(cmMakefile& mf,
// will be appropriately eliminated at emit time.
if(this->RecordDependencies)
{
- std::string targetEntry = target;
- targetEntry += "_LIB_DEPENDS";
std::string dependencies;
- const char* old_val = mf.GetDefinition( targetEntry );
+ const char* old_val = mf.GetLibDepends(target);
if( old_val )
{
dependencies += old_val;
@@ -1199,9 +1185,7 @@ void cmTarget::AddLinkLibrary(cmMakefile& mf,
dependencies += ";";
dependencies += lib;
dependencies += ";";
- mf.AddCacheDefinition( targetEntry, dependencies.c_str(),
- "Dependencies for the target",
- cmState::STATIC );
+ mf.SetLibDepends(target, dependencies);
}
}
@@ -1496,7 +1480,7 @@ void cmTarget::GatherDependenciesForVS6( const cmMakefile& mf,
return;
}
- const char* deps = mf.GetDefinition( lib.first+"_LIB_DEPENDS" );
+ const char* deps = mf.GetLibDepends(lib.first);
if( deps && strcmp(deps,"") != 0 )
{
// Make sure this library is in the map, even if it has an empty
diff --git a/Tests/RunCMake/CMP0066/CMP0066-NEW.cmake b/Tests/RunCMake/CMP0066/CMP0066-NEW.cmake
new file mode 100644
index 0000000..c204610
--- /dev/null
+++ b/Tests/RunCMake/CMP0066/CMP0066-NEW.cmake
@@ -0,0 +1,7 @@
+cmake_policy(SET CMP0066 NEW)
+enable_language(C)
+
+add_library(cmp0066test test.c)
+if (DEFINED cmp0066test_LIB_DEPENDS)
+ message(FATAL_ERROR "_LIB_DEPENDS variable is not supposed to be defined")
+endif ()
diff --git a/Tests/RunCMake/CMP0066/CMP0066-OLD.cmake b/Tests/RunCMake/CMP0066/CMP0066-OLD.cmake
new file mode 100644
index 0000000..d42e26d
--- /dev/null
+++ b/Tests/RunCMake/CMP0066/CMP0066-OLD.cmake
@@ -0,0 +1,7 @@
+cmake_policy(SET CMP0066 OLD)
+enable_language(C)
+
+add_library(cmp0066test test.c)
+if (NOT DEFINED cmp0066test_LIB_DEPENDS)
+ message(FATAL_ERROR "_LIB_DEPENDS variable is supposed to be defined")
+endif ()
diff --git a/Tests/RunCMake/CMP0066/CMP0066-WARN.cmake b/Tests/RunCMake/CMP0066/CMP0066-WARN.cmake
new file mode 100644
index 0000000..d42e26d
--- /dev/null
+++ b/Tests/RunCMake/CMP0066/CMP0066-WARN.cmake
@@ -0,0 +1,7 @@
+cmake_policy(SET CMP0066 OLD)
+enable_language(C)
+
+add_library(cmp0066test test.c)
+if (NOT DEFINED cmp0066test_LIB_DEPENDS)
+ message(FATAL_ERROR "_LIB_DEPENDS variable is supposed to be defined")
+endif ()
diff --git a/Tests/RunCMake/CMP0066/CMakeLists.txt b/Tests/RunCMake/CMP0066/CMakeLists.txt
new file mode 100644
index 0000000..74b3ff8
--- /dev/null
+++ b/Tests/RunCMake/CMP0066/CMakeLists.txt
@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 3.3)
+project(${RunCMake_TEST} NONE)
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/CMP0066/RunCMakeTest.cmake b/Tests/RunCMake/CMP0066/RunCMakeTest.cmake
new file mode 100644
index 0000000..a19ae6c
--- /dev/null
+++ b/Tests/RunCMake/CMP0066/RunCMakeTest.cmake
@@ -0,0 +1,5 @@
+include(RunCMake)
+
+run_cmake(CMP0066-OLD)
+run_cmake(CMP0066-WARN)
+run_cmake(CMP0066-NEW)
diff --git a/Tests/RunCMake/CMP0066/test.c b/Tests/RunCMake/CMP0066/test.c
new file mode 100644
index 0000000..c061e4b
--- /dev/null
+++ b/Tests/RunCMake/CMP0066/test.c
@@ -0,0 +1,4 @@
+int test()
+{
+ return 0;
+}
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 241cf90..a812299 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -104,6 +104,7 @@ add_RunCMake_test(CMP0057)
add_RunCMake_test(CMP0059)
add_RunCMake_test(CMP0060)
add_RunCMake_test(CMP0064)
+add_RunCMake_test(CMP0066)
if(CMAKE_GENERATOR MATCHES "Make")
add_RunCMake_test(Make)
endif()
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=666ea054fea69ab350a52374caaef139c1528e7f
commit 666ea054fea69ab350a52374caaef139c1528e7f
Author: Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Thu Sep 10 13:09:56 2015 -0400
Commit: Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Thu Sep 10 13:09:56 2015 -0400
UseVTKConfig40: remove unused module
This should have disappeared with the removal of FindVTK.cmake from
CMake in commit 5b5e80e7288b42b1221b374c86e6ece39853c3bd.
diff --git a/Modules/UseVTKConfig40.cmake b/Modules/UseVTKConfig40.cmake
deleted file mode 100644
index c5022e4..0000000
--- a/Modules/UseVTKConfig40.cmake
+++ /dev/null
@@ -1,409 +0,0 @@
-#
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-# License text for the above reference.)
-
-# This is an implementation detail for using VTK 4.0 with the
-# FindVTK.cmake module. Do not include directly.
-
-# Hard-code the version number since it isn't provided by VTK 4.0.
-set(VTK_MAJOR_VERSION 4)
-set(VTK_MINOR_VERSION 0)
-set(VTK_BUILD_VERSION 2)
-
-# Provide a new UseVTK file that doesn't do a full LOAD_CACHE.
-set(VTK_USE_FILE ${CMAKE_ROOT}/Modules/UseVTK40.cmake)
-
-# Provide a build settings file.
-set(VTK_BUILD_SETTINGS_FILE ${CMAKE_ROOT}/Modules/UseVTKBuildSettings40.cmake)
-
-# There are no CMake extensions for VTK 4.0.
-set(VTK_CMAKE_EXTENSIONS_DIR "")
-
-# grep "VTK40_" UseVTKConfig40.cmake |sed 's/.*VTK40_\([A-Za-z0-9_]*\).*/ \1/'
-load_cache(${VTK_DIR} READ_WITH_PREFIX VTK40_
- BUILD_SHARED_LIBS
- CMAKE_BUILD_TOOL
- CMAKE_BUILD_TYPE
- CMAKE_CACHE_MAJOR_VERSION
- CMAKE_CACHE_MINOR_VERSION
- CMAKE_CXX_COMPILER
- CMAKE_CXX_FLAGS
- CMAKE_CXX_FLAGS_DEBUG
- CMAKE_CXX_FLAGS_MINSIZEREL
- CMAKE_CXX_FLAGS_RELEASE
- CMAKE_CXX_FLAGS_RELWITHDEBINFO
- CMAKE_C_COMPILER
- CMAKE_C_FLAGS
- CMAKE_C_FLAGS_DEBUG
- CMAKE_C_FLAGS_MINSIZEREL
- CMAKE_C_FLAGS_RELEASE
- CMAKE_C_FLAGS_RELWITHDEBINFO
- CMAKE_INSTALL_PREFIX
- CMAKE_Xutil_INCLUDE_PATH
- EXECUTABLE_OUTPUT_PATH
- JAVA_INCLUDE_PATH2
- LIBRARY_OUTPUT_PATH
- MPIRUN
- MPI_INCLUDE_PATH
- MPI_POSTFLAGS
- MPI_PREFLAGS
- OPENGL_INCLUDE_DIR
- OSMESA_INCLUDE_PATH
- PYTHON_INCLUDE_PATH
- TCL_INCLUDE_PATH
- VLI_INCLUDE_PATH_FOR_VG500
- VLI_INCLUDE_PATH_FOR_VP1000
- VTK_BINARY_DIR
- VTK_DEBUG_LEAKS
- VTK_HAVE_VG500
- VTK_HAVE_VP1000
- VTK_MANGLE_MESA
- VTK_OPENGL_HAS_OSMESA
- VTK_PARSE_JAVA_EXE
- VTK_SOURCE_DIR
- VTK_USE_64BIT_IDS
- VTK_USE_ANSI_STDLIB
- VTK_USE_HYBRID
- VTK_USE_MATROX_IMAGING
- VTK_USE_MPI
- VTK_USE_PARALLEL
- VTK_USE_PATENTED
- VTK_USE_RENDERING
- VTK_USE_VIDEO_FOR_WINDOWS
- VTK_USE_VOLUMEPRO
- VTK_USE_X
- VTK_WRAP_JAVA
- VTK_WRAP_JAVA_EXE
- VTK_WRAP_PYTHON
- VTK_WRAP_PYTHON_EXE
- VTK_WRAP_TCL
- VTK_WRAP_TCL_EXE
- vtkCommonJava_LIB_DEPENDS
- vtkCommonPython_LIB_DEPENDS
- vtkCommonTCL_LIB_DEPENDS
- vtkCommon_LIB_DEPENDS
- vtkFilteringJava_LIB_DEPENDS
- vtkFilteringPython_LIB_DEPENDS
- vtkFilteringTCL_LIB_DEPENDS
- vtkFiltering_LIB_DEPENDS
- vtkGraphicsJava_LIB_DEPENDS
- vtkGraphicsPython_LIB_DEPENDS
- vtkGraphicsTCL_LIB_DEPENDS
- vtkGraphics_LIB_DEPENDS
- vtkHybridJava_LIB_DEPENDS
- vtkHybridPython_LIB_DEPENDS
- vtkHybridTCL_LIB_DEPENDS
- vtkHybrid_LIB_DEPENDS
- vtkIOJava_LIB_DEPENDS
- vtkIOPython_LIB_DEPENDS
- vtkIOTCL_LIB_DEPENDS
- vtkIO_LIB_DEPENDS
- vtkImagingJava_LIB_DEPENDS
- vtkImagingPython_LIB_DEPENDS
- vtkImagingTCL_LIB_DEPENDS
- vtkImaging_LIB_DEPENDS
- vtkParallelJava_LIB_DEPENDS
- vtkParallelPython_LIB_DEPENDS
- vtkParallelTCL_LIB_DEPENDS
- vtkParallel_LIB_DEPENDS
- vtkPatentedJava_LIB_DEPENDS
- vtkPatentedPython_LIB_DEPENDS
- vtkPatentedTCL_LIB_DEPENDS
- vtkPatented_LIB_DEPENDS
- vtkRenderingJava_LIB_DEPENDS
- vtkRenderingPythonTkWidgets_LIB_DEPENDS
- vtkRenderingPython_LIB_DEPENDS
- vtkRenderingTCL_LIB_DEPENDS
- vtkRendering_LIB_DEPENDS
- vtkjpeg_LIB_DEPENDS
- vtkpng_LIB_DEPENDS
- vtkzlib_LIB_DEPENDS
-)
-
-# Copy needed settings from the VTK 4.0 cache.
-set(VTK_BUILD_SHARED ${VTK40_BUILD_SHARED_LIBS})
-set(VTK_DEBUG_LEAKS ${VTK40_VTK_DEBUG_LEAKS})
-set(VTK_HAVE_VG500 ${VTK40_VTK_HAVE_VG500})
-set(VTK_HAVE_VP1000 ${VTK40_VTK_HAVE_VP1000})
-set(VTK_USE_MANGLED_MESA ${VTK40_VTK_MANGLE_MESA})
-set(VTK_MPIRUN_EXE ${VTK40_MPIRUN})
-set(VTK_MPI_POSTFLAGS ${VTK40_MPI_POSTFLAGS})
-set(VTK_MPI_PREFLAGS ${VTK40_MPI_PREFLAGS})
-set(VTK_OPENGL_HAS_OSMESA ${VTK40_VTK_OPENGL_HAS_OSMESA})
-set(VTK_USE_64BIT_IDS ${VTK40_VTK_USE_64BIT_IDS})
-set(VTK_USE_ANSI_STDLIB ${VTK40_VTK_USE_ANSI_STDLIB})
-set(VTK_USE_HYBRID ${VTK40_VTK_USE_HYBRID})
-set(VTK_USE_MATROX_IMAGING ${VTK40_VTK_USE_MATROX_IMAGING})
-set(VTK_USE_MPI ${VTK40_VTK_USE_MPI})
-set(VTK_USE_PARALLEL ${VTK40_VTK_USE_PARALLEL})
-set(VTK_USE_PATENTED ${VTK40_VTK_USE_PATENTED})
-set(VTK_USE_RENDERING ${VTK40_VTK_USE_RENDERING})
-set(VTK_USE_VIDEO_FOR_WINDOWS ${VTK40_VTK_USE_VIDEO_FOR_WINDOWS})
-set(VTK_USE_VOLUMEPRO ${VTK40_VTK_USE_VOLUMEPRO})
-set(VTK_USE_X ${VTK40_VTK_USE_X})
-set(VTK_WRAP_JAVA ${VTK40_VTK_WRAP_JAVA})
-set(VTK_WRAP_PYTHON ${VTK40_VTK_WRAP_PYTHON})
-set(VTK_WRAP_TCL ${VTK40_VTK_WRAP_TCL})
-
-# Create the list of available kits.
-set(VTK_KITS COMMON FILTERING GRAPHICS IMAGING IO)
-if(VTK_USE_RENDERING)
- set(VTK_KITS ${VTK_KITS} RENDERING)
-endif()
-if(VTK_USE_HYBRID)
- set(VTK_KITS ${VTK_KITS} HYBRID)
-endif()
-if(VTK_USE_PARALLEL)
- set(VTK_KITS ${VTK_KITS} PARALLEL)
-endif()
-if(VTK_USE_PATENTED)
- set(VTK_KITS ${VTK_KITS} PATENTED)
-endif()
-
-# Create the list of available languages.
-set(VTK_LANGUAGES "")
-if(VTK_WRAP_TCL)
- set(VTK_LANGUAGES ${VTK_LANGUAGES} TCL)
-endif()
-if(VTK_WRAP_PYTHON)
- set(VTK_LANGUAGES ${VTK_LANGUAGES} PYTHON)
-endif()
-if(VTK_WRAP_JAVA)
- set(VTK_LANGUAGES ${VTK_LANGUAGES} JAVA)
-endif()
-
-# Include directories for other projects installed on the system and
-# used by VTK.
-set(VTK_INCLUDE_DIRS_SYS "")
-if(VTK_USE_RENDERING)
- set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
- ${VTK40_OPENGL_INCLUDE_PATH} ${VTK40_OPENGL_INCLUDE_DIR})
- if(VTK_USE_X)
- set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
- ${VTK40_CMAKE_Xlib_INCLUDE_PATH} ${VTK40_CMAKE_Xutil_INCLUDE_PATH})
- endif()
-endif()
-
-if(VTK_OPENGL_HAS_OSMESA)
- set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
- ${VTK40_OSMESA_INCLUDE_PATH})
-endif()
-
-if(VTK_USE_MPI)
- set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_MPI_INCLUDE_PATH})
-endif()
-
-if(VTK_WRAP_TCL)
- set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_TCL_INCLUDE_PATH})
-endif()
-
-if(VTK_WRAP_PYTHON)
- set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_PYTHON_INCLUDE_PATH})
-endif()
-
-if(VTK_WRAP_JAVA)
- set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
- ${VTK40_JAVA_INCLUDE_PATH} ${VTK40_JAVA_INCLUDE_PATH2})
-endif()
-
-if(VTK_HAVE_VG500)
- set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
- ${VTK40_VLI_INCLUDE_PATH_FOR_VG500})
-endif()
-
-if(VTK_HAVE_VP1000)
- set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
- ${VTK40_VLI_INCLUDE_PATH_FOR_VP1000})
-endif()
-
-# See if this is a build tree or install tree.
-if(EXISTS ${VTK_DIR}/Common)
- # This is a VTK 4.0 build tree.
-
- set(VTK_LIBRARY_DIRS ${VTK40_LIBRARY_OUTPUT_PATH})
-
- # Determine the include directories needed.
- set(VTK_INCLUDE_DIRS ${VTK40_VTK_BINARY_DIR})
- if(VTK_USE_PARALLEL)
- set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Parallel)
- endif()
- if(VTK_USE_HYBRID)
- set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Hybrid)
- endif()
- if(VTK_USE_PATENTED)
- set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Patented)
- endif()
- if(VTK_USE_RENDERING)
- set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Rendering)
- endif()
-
- # These directories are always needed.
- set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS}
- ${VTK40_VTK_SOURCE_DIR}/IO
- ${VTK40_VTK_SOURCE_DIR}/Imaging
- ${VTK40_VTK_SOURCE_DIR}/Graphics
- ${VTK40_VTK_SOURCE_DIR}/Filtering
- ${VTK40_VTK_SOURCE_DIR}/Common)
-
- # Give access to a few utilities.
- set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS}
- ${VTK40_VTK_BINARY_DIR}/Utilities/png
- ${VTK40_VTK_SOURCE_DIR}/Utilities/png
- ${VTK40_VTK_BINARY_DIR}/Utilities/zlib
- ${VTK40_VTK_SOURCE_DIR}/Utilities/zlib)
-
- # Executable locations.
- if(VTK_WRAP_TCL)
- set(VTK_TCL_EXE ${VTK40_EXECUTABLE_OUTPUT_PATH}/vtk)
- set(VTK_WRAP_TCL_EXE ${VTK40_VTK_WRAP_TCL_EXE})
- set(VTK_TCL_HOME ${VTK40_VTK_SOURCE_DIR}/Wrapping/Tcl)
- endif()
- if(VTK_WRAP_PYTHON)
- set(VTK_WRAP_PYTHON_EXE ${VTK40_VTK_WRAP_PYTHON_EXE})
- endif()
- if(VTK_WRAP_JAVA)
- set(VTK_PARSE_JAVA_EXE ${VTK40_VTK_PARSE_JAVA_EXE})
- set(VTK_WRAP_JAVA_EXE ${VTK40_VTK_WRAP_JAVA_EXE})
- endif()
-
-else()
- # This is a VTK 4.0 install tree.
-
- set(VTK_INCLUDE_DIRS ${VTK_DIR})
- set(VTK_LIBRARY_DIRS ${VTK40_CMAKE_INSTALL_PREFIX}/lib/vtk)
-
- # Executable locations.
- if(VTK_WRAP_TCL)
- set(VTK_TCL_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtk)
- set(VTK_WRAP_TCL_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapTcl)
- set(VTK_TCL_HOME ${VTK40_CMAKE_INSTALL_PREFIX}/lib/vtk/tcl)
- endif()
- if(VTK_WRAP_PYTHON)
- set(VTK_WRAP_PYTHON_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapPython)
- endif()
- if(VTK_WRAP_JAVA)
- set(VTK_PARSE_JAVA_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkParseJava)
- set(VTK_WRAP_JAVA_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapJava)
- endif()
-endif()
-
-# Add the system include directories last.
-set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK_INCLUDE_DIRS_SYS})
-
-# Find the required C and C++ compiler flags.
-if(CMAKE_COMPILER_IS_GNUCXX)
- if(WIN32)
- # The platform is gcc on cygwin.
- set(VTK_REQUIRED_CXX_FLAGS "${VTK_REQUIRED_CXX_FLAGS} -mwin32")
- set(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} -mwin32")
- endif()
-else()
- if(CMAKE_ANSI_CFLAGS)
- set(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
- endif()
- if(CMAKE_SYSTEM MATCHES "OSF1-V")
- set(VTK_REQUIRED_CXX_FLAGS
- "${VTK_REQUIRED_CXX_FLAGS} -timplicit_local -no_implicit_include")
- endif()
-endif()
-
-if(VTK_USE_X)
- if(CMAKE_X_CFLAGS)
- set(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} ${CMAKE_X_CFLAGS}")
- set(VTK_REQUIRED_CXX_FLAGS "${VTK_REQUIRED_CXX_FLAGS} ${CMAKE_X_CFLAGS}")
- endif()
-endif()
-
-# Copy library dependencies.
-set(vtkCommonJava_LIB_DEPENDS "${VTK40_vtkCommonJava_LIB_DEPENDS}")
-set(vtkCommonPython_LIB_DEPENDS "${VTK40_vtkCommonPython_LIB_DEPENDS}")
-set(vtkCommonTCL_LIB_DEPENDS "${VTK40_vtkCommonTCL_LIB_DEPENDS}")
-set(vtkCommon_LIB_DEPENDS "${VTK40_vtkCommon_LIB_DEPENDS}")
-set(vtkFilteringJava_LIB_DEPENDS "${VTK40_vtkFilteringJava_LIB_DEPENDS}")
-set(vtkFilteringPython_LIB_DEPENDS "${VTK40_vtkFilteringPython_LIB_DEPENDS}")
-set(vtkFilteringTCL_LIB_DEPENDS "${VTK40_vtkFilteringTCL_LIB_DEPENDS}")
-set(vtkFiltering_LIB_DEPENDS "${VTK40_vtkFiltering_LIB_DEPENDS}")
-set(vtkGraphicsJava_LIB_DEPENDS "${VTK40_vtkGraphicsJava_LIB_DEPENDS}")
-set(vtkGraphicsPython_LIB_DEPENDS "${VTK40_vtkGraphicsPython_LIB_DEPENDS}")
-set(vtkGraphicsTCL_LIB_DEPENDS "${VTK40_vtkGraphicsTCL_LIB_DEPENDS}")
-set(vtkGraphics_LIB_DEPENDS "${VTK40_vtkGraphics_LIB_DEPENDS}")
-set(vtkHybridJava_LIB_DEPENDS "${VTK40_vtkHybridJava_LIB_DEPENDS}")
-set(vtkHybridPython_LIB_DEPENDS "${VTK40_vtkHybridPython_LIB_DEPENDS}")
-set(vtkHybridTCL_LIB_DEPENDS "${VTK40_vtkHybridTCL_LIB_DEPENDS}")
-set(vtkHybrid_LIB_DEPENDS "${VTK40_vtkHybrid_LIB_DEPENDS}")
-set(vtkIOJava_LIB_DEPENDS "${VTK40_vtkIOJava_LIB_DEPENDS}")
-set(vtkIOPython_LIB_DEPENDS "${VTK40_vtkIOPython_LIB_DEPENDS}")
-set(vtkIOTCL_LIB_DEPENDS "${VTK40_vtkIOTCL_LIB_DEPENDS}")
-set(vtkIO_LIB_DEPENDS "${VTK40_vtkIO_LIB_DEPENDS}")
-set(vtkImagingJava_LIB_DEPENDS "${VTK40_vtkImagingJava_LIB_DEPENDS}")
-set(vtkImagingPython_LIB_DEPENDS "${VTK40_vtkImagingPython_LIB_DEPENDS}")
-set(vtkImagingTCL_LIB_DEPENDS "${VTK40_vtkImagingTCL_LIB_DEPENDS}")
-set(vtkImaging_LIB_DEPENDS "${VTK40_vtkImaging_LIB_DEPENDS}")
-set(vtkParallelJava_LIB_DEPENDS "${VTK40_vtkParallelJava_LIB_DEPENDS}")
-set(vtkParallelPython_LIB_DEPENDS "${VTK40_vtkParallelPython_LIB_DEPENDS}")
-set(vtkParallelTCL_LIB_DEPENDS "${VTK40_vtkParallelTCL_LIB_DEPENDS}")
-set(vtkParallel_LIB_DEPENDS "${VTK40_vtkParallel_LIB_DEPENDS}")
-set(vtkPatentedJava_LIB_DEPENDS "${VTK40_vtkPatentedJava_LIB_DEPENDS}")
-set(vtkPatentedPython_LIB_DEPENDS "${VTK40_vtkPatentedPython_LIB_DEPENDS}")
-set(vtkPatentedTCL_LIB_DEPENDS "${VTK40_vtkPatentedTCL_LIB_DEPENDS}")
-set(vtkPatented_LIB_DEPENDS "${VTK40_vtkPatented_LIB_DEPENDS}")
-set(vtkRenderingJava_LIB_DEPENDS "${VTK40_vtkRenderingJava_LIB_DEPENDS}")
-set(vtkRenderingPythonTkWidgets_LIB_DEPENDS "${VTK40_vtkRenderingPythonTkWidgets_LIB_DEPENDS}")
-set(vtkRenderingPython_LIB_DEPENDS "${VTK40_vtkRenderingPython_LIB_DEPENDS}")
-set(vtkRenderingTCL_LIB_DEPENDS "${VTK40_vtkRenderingTCL_LIB_DEPENDS}")
-set(vtkRendering_LIB_DEPENDS "${VTK40_vtkRendering_LIB_DEPENDS}")
-set(vtkjpeg_LIB_DEPENDS "${VTK40_vtkjpeg_LIB_DEPENDS}")
-set(vtkpng_LIB_DEPENDS "${VTK40_vtkpng_LIB_DEPENDS}")
-set(vtkzlib_LIB_DEPENDS "${VTK40_vtkzlib_LIB_DEPENDS}")
-
-# List of VTK configuration variables set above.
-# grep "^[ ]*set(VTK" UseVTKConfig40.cmake |sed 's/[ ]*set(\([^ ]*\) .*/ \1/'
-set(VTK_SETTINGS
- VTK_BUILD_SHARED
- VTK_BUILD_VERSION
- VTK_DEBUG_LEAKS
- VTK_HAVE_VG500
- VTK_HAVE_VP1000
- VTK_INCLUDE_DIRS
- VTK_KITS
- VTK_LANGUAGES
- VTK_LIBRARY_DIRS
- VTK_MAJOR_VERSION
- VTK_MANGLE_MESA
- VTK_MINOR_VERSION
- VTK_MPIRUN_EXE
- VTK_MPI_POSTFLAGS
- VTK_MPI_PREFLAGS
- VTK_OPENGL_HAS_OSMESA
- VTK_PARSE_JAVA_EXE
- VTK_TCL_EXE
- VTK_TCL_HOME
- VTK_USE_64BIT_IDS
- VTK_USE_ANSI_STDLIB
- VTK_USE_HYBRID
- VTK_USE_MATROX_IMAGING
- VTK_USE_MPI
- VTK_USE_PARALLEL
- VTK_USE_PATENTED
- VTK_USE_RENDERING
- VTK_USE_VIDEO_FOR_WINDOWS
- VTK_USE_VOLUMEPRO
- VTK_USE_X
- VTK_WRAP_JAVA
- VTK_WRAP_JAVA_EXE
- VTK_WRAP_PYTHON
- VTK_WRAP_PYTHON_EXE
- VTK_WRAP_TCL
- VTK_WRAP_TCL_EXE
-)
-----------------------------------------------------------------------
Summary of changes:
Help/manual/cmake-policies.7.rst | 1 +
Help/policy/CMP0066.rst | 16 ++++++
Help/release/dev/lib_depends-in-property.rst | 7 +++
Modules/KDE3Macros.cmake | 1 -
Source/cmComputeLinkDepends.cxx | 6 +--
Source/cmMakefile.cxx | 52 ++++++++++++++++++++
Source/cmMakefile.h | 5 ++
Source/cmPolicies.h | 5 +-
Source/cmTarget.cxx | 26 ++--------
Tests/RunCMake/CMP0066/CMP0066-NEW.cmake | 7 +++
Tests/RunCMake/CMP0066/CMP0066-OLD.cmake | 7 +++
Tests/RunCMake/CMP0066/CMP0066-WARN.cmake | 7 +++
.../{BuildDepends => CMP0066}/CMakeLists.txt | 0
Tests/RunCMake/CMP0066/RunCMakeTest.cmake | 5 ++
.../main.cpp => CMP0066/test.c} | 3 +-
Tests/RunCMake/CMakeLists.txt | 1 +
16 files changed, 120 insertions(+), 29 deletions(-)
create mode 100644 Help/policy/CMP0066.rst
create mode 100644 Help/release/dev/lib_depends-in-property.rst
create mode 100644 Tests/RunCMake/CMP0066/CMP0066-NEW.cmake
create mode 100644 Tests/RunCMake/CMP0066/CMP0066-OLD.cmake
create mode 100644 Tests/RunCMake/CMP0066/CMP0066-WARN.cmake
copy Tests/RunCMake/{BuildDepends => CMP0066}/CMakeLists.txt (100%)
create mode 100644 Tests/RunCMake/CMP0066/RunCMakeTest.cmake
copy Tests/RunCMake/{COMPILE_LANGUAGE-genex/main.cpp => CMP0066/test.c} (60%)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list