summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Help/index.rst10
-rw-r--r--Help/prop_tgt/AUTOMOC.rst7
-rw-r--r--Help/release/dev.txt16
-rw-r--r--Help/release/dev/0-sample-topic.rst7
-rw-r--r--Help/release/index.rst14
-rw-r--r--Modules/CMakeFindDependencyMacro.cmake9
-rw-r--r--Modules/FeatureSummary.cmake6
-rw-r--r--Source/CMakeVersion.cmake2
-rw-r--r--Source/cmFindPackageCommand.cxx6
-rw-r--r--Source/cmPolicies.cxx123
-rw-r--r--Source/cmPolicies.h1
-rw-r--r--Utilities/Sphinx/CMakeLists.txt8
12 files changed, 135 insertions, 74 deletions
diff --git a/Help/index.rst b/Help/index.rst
index 7fce223..a4abfbf 100644
--- a/Help/index.rst
+++ b/Help/index.rst
@@ -39,6 +39,16 @@ Reference Manuals
/manual/cmake-toolchains.7
/manual/cmake-variables.7
+.. only:: html or text
+
+ Release Notes
+ #############
+
+ .. toctree::
+ :maxdepth: 1
+
+ /release/index
+
.. only:: html
Index and Search
diff --git a/Help/prop_tgt/AUTOMOC.rst b/Help/prop_tgt/AUTOMOC.rst
index 16094c7..5e07063 100644
--- a/Help/prop_tgt/AUTOMOC.rst
+++ b/Help/prop_tgt/AUTOMOC.rst
@@ -12,8 +12,11 @@ statement like ``#include "moc_foo.cpp"`` is found, the ``Q_OBJECT`` class
declaration is expected in the header, and ``moc`` is run on the header
file. If an ``#include`` statement like ``#include "foo.moc"`` is found, then
a ``Q_OBJECT`` is expected in the current source file and ``moc`` is run on
-the file itself. Additionally, all header files are parsed for
-``Q_OBJECT`` macros, and if found, ``moc`` is also executed on those files.
+the file itself. Additionally, header files with the same base name (like
+``foo.h``) or ``_p`` appended to the base name (like ``foo_p.h``) are parsed
+for ``Q_OBJECT`` macros, and if found, ``moc`` is also executed on those files.
+``AUTOMOC`` checks multiple header alternative extensions, such as
+``hpp``, ``hxx`` etc when searching for headers.
The resulting moc files, which are not included as shown above in any
of the source files are included in a generated
``<targetname>_automoc.cpp`` file, which is compiled as part of the
diff --git a/Help/release/dev.txt b/Help/release/dev.txt
new file mode 100644
index 0000000..2cf9193
--- /dev/null
+++ b/Help/release/dev.txt
@@ -0,0 +1,16 @@
+..
+ This file should be included by the adjacent "index.rst"
+ in development versions but not in release versions.
+
+Changes Since Release
+=====================
+
+The following noteworthy changes have been made in this development
+version since the preceding release but have not yet been consolidated
+into notes for a specific release version:
+
+.. toctree::
+ :maxdepth: 1
+ :glob:
+
+ dev/*
diff --git a/Help/release/dev/0-sample-topic.rst b/Help/release/dev/0-sample-topic.rst
new file mode 100644
index 0000000..e4cc01e
--- /dev/null
+++ b/Help/release/dev/0-sample-topic.rst
@@ -0,0 +1,7 @@
+0-sample-topic
+--------------
+
+* This is a sample release note for the change in a topic.
+ Developers should add similar notes for each topic branch
+ making a noteworthy change. Each document should be named
+ and titled to match the topic name to avoid merge conflicts.
diff --git a/Help/release/index.rst b/Help/release/index.rst
new file mode 100644
index 0000000..f8367d7
--- /dev/null
+++ b/Help/release/index.rst
@@ -0,0 +1,14 @@
+CMake Release Notes
+*******************
+
+..
+ This file should include the adjacent "dev.txt" file
+ in development versions but not in release versions.
+
+.. include:: dev.txt
+
+Releases
+========
+
+.. toctree::
+ :maxdepth: 1
diff --git a/Modules/CMakeFindDependencyMacro.cmake b/Modules/CMakeFindDependencyMacro.cmake
index 596c6fc..0f1f56d 100644
--- a/Modules/CMakeFindDependencyMacro.cmake
+++ b/Modules/CMakeFindDependencyMacro.cmake
@@ -45,7 +45,16 @@ macro(find_dependency dep)
set(required_arg REQUIRED)
endif()
+ get_property(alreadyTransitive GLOBAL PROPERTY
+ _CMAKE_${dep}_TRANSITIVE_DEPENDENCY
+ )
+
find_package(${dep} ${version} ${exact_arg} ${quiet_arg} ${required_arg})
+
+ if(NOT DEFINED alreadyTransitive OR alreadyTransitive)
+ set_property(GLOBAL PROPERTY _CMAKE_${dep}_TRANSITIVE_DEPENDENCY TRUE)
+ endif()
+
if (NOT ${dep}_FOUND)
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "${CMAKE_FIND_PACKAGE_NAME} could not be found because dependency ${dep} could not be found.")
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND False)
diff --git a/Modules/FeatureSummary.cmake b/Modules/FeatureSummary.cmake
index b0f8e16..c0e63d5 100644
--- a/Modules/FeatureSummary.cmake
+++ b/Modules/FeatureSummary.cmake
@@ -376,6 +376,12 @@ function(_FS_GET_FEATURE_SUMMARY _property _var _includeQuiet)
set(includeThisOne FALSE)
endif()
endif()
+ get_property(_isTransitiveDepend
+ GLOBAL PROPERTY _CMAKE_${_currentFeature}_TRANSITIVE_DEPENDENCY
+ )
+ if(_isTransitiveDepend)
+ set(includeThisOne FALSE)
+ endif()
if(includeThisOne)
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 4a70f5a..f42f175 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -2,5 +2,5 @@
set(CMake_VERSION_MAJOR 2)
set(CMake_VERSION_MINOR 8)
set(CMake_VERSION_PATCH 12)
-set(CMake_VERSION_TWEAK 20140204)
+set(CMake_VERSION_TWEAK 20140205)
#set(CMake_VERSION_RC 1)
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index c59aafd..73eba51 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -1043,6 +1043,12 @@ void cmFindPackageCommand::AppendToFoundProperty(bool found)
//----------------------------------------------------------------------------
void cmFindPackageCommand::AppendSuccessInformation()
{
+ {
+ std::string transitivePropName = "_CMAKE_";
+ transitivePropName += this->Name + "_TRANSITIVE_DEPENDENCY";
+ this->Makefile->GetCMakeInstance()
+ ->SetProperty(transitivePropName.c_str(), "False");
+ }
std::string found = this->Name;
found += "_FOUND";
std::string upperFound = cmSystemTools::UpperCase(found);
diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx
index e191256..9cfa1e4 100644
--- a/Source/cmPolicies.cxx
+++ b/Source/cmPolicies.cxx
@@ -22,7 +22,6 @@ public:
unsigned int majorVersionIntroduced,
unsigned int minorVersionIntroduced,
unsigned int patchVersionIntroduced,
- unsigned int tweakVersionIntroduced,
cmPolicies::PolicyStatus status)
{
if (!idString || !shortDescription)
@@ -37,7 +36,6 @@ public:
this->MajorVersionIntroduced = majorVersionIntroduced;
this->MinorVersionIntroduced = minorVersionIntroduced;
this->PatchVersionIntroduced = patchVersionIntroduced;
- this->TweakVersionIntroduced = tweakVersionIntroduced;
this->Status = status;
}
@@ -45,18 +43,16 @@ public:
{
cmOStringStream v;
v << this->MajorVersionIntroduced << "." << this->MinorVersionIntroduced;
- v << "." << this->PatchVersionIntroduced;
- if(this->TweakVersionIntroduced > 0)
+ if(this->PatchVersionIntroduced > 0)
{
- v << "." << this->TweakVersionIntroduced;
+ v << "." << this->PatchVersionIntroduced;
}
return v.str();
}
bool IsPolicyNewerThan(unsigned int majorV,
unsigned int minorV,
- unsigned int patchV,
- unsigned int tweakV)
+ unsigned int patchV)
{
if (majorV < this->MajorVersionIntroduced)
{
@@ -74,15 +70,7 @@ public:
{
return false;
}
- if (patchV < this->PatchVersionIntroduced)
- {
- return true;
- }
- if (patchV > this->PatchVersionIntroduced)
- {
- return false;
- }
- return (tweakV < this->TweakVersionIntroduced);
+ return (patchV < this->PatchVersionIntroduced);
}
cmPolicies::PolicyID ID;
@@ -91,7 +79,6 @@ public:
unsigned int MajorVersionIntroduced;
unsigned int MinorVersionIntroduced;
unsigned int PatchVersionIntroduced;
- unsigned int TweakVersionIntroduced;
cmPolicies::PolicyStatus Status;
};
@@ -101,251 +88,251 @@ cmPolicies::cmPolicies()
this->DefinePolicy(
CMP0000, "CMP0000",
"A minimum required CMake version must be specified.",
- 2,6,0,0, cmPolicies::WARN
+ 2,6,0, cmPolicies::WARN
);
this->DefinePolicy(
CMP0001, "CMP0001",
"CMAKE_BACKWARDS_COMPATIBILITY should no longer be used.",
- 2,6,0,0, cmPolicies::WARN
+ 2,6,0, cmPolicies::WARN
);
this->DefinePolicy(
CMP0002, "CMP0002",
"Logical target names must be globally unique.",
- 2,6,0,0, cmPolicies::WARN
+ 2,6,0, cmPolicies::WARN
);
this->DefinePolicy(
CMP0003, "CMP0003",
"Libraries linked via full path no longer produce linker search paths.",
- 2,6,0,0, cmPolicies::WARN);
+ 2,6,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0004, "CMP0004",
"Libraries linked may not have leading or trailing whitespace.",
- 2,6,0,0, cmPolicies::WARN);
+ 2,6,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0005, "CMP0005",
"Preprocessor definition values are now escaped automatically.",
- 2,6,0,0, cmPolicies::WARN);
+ 2,6,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0006, "CMP0006",
"Installing MACOSX_BUNDLE targets requires a BUNDLE DESTINATION.",
- 2,6,0,0, cmPolicies::WARN);
+ 2,6,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0007, "CMP0007",
"list command no longer ignores empty elements.",
- 2,6,0,0, cmPolicies::WARN);
+ 2,6,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0008, "CMP0008",
"Libraries linked by full-path must have a valid library file name.",
- 2,6,1,0, cmPolicies::WARN);
+ 2,6,1, cmPolicies::WARN);
this->DefinePolicy(
CMP0009, "CMP0009",
"FILE GLOB_RECURSE calls should not follow symlinks by default.",
- 2,6,2,0, cmPolicies::WARN);
+ 2,6,2, cmPolicies::WARN);
this->DefinePolicy(
CMP0010, "CMP0010",
"Bad variable reference syntax is an error.",
- 2,6,3,0, cmPolicies::WARN);
+ 2,6,3, cmPolicies::WARN);
this->DefinePolicy(
CMP0011, "CMP0011",
"Included scripts do automatic cmake_policy PUSH and POP.",
- 2,6,3,0, cmPolicies::WARN);
+ 2,6,3, cmPolicies::WARN);
this->DefinePolicy(
CMP0012, "CMP0012",
"if() recognizes numbers and boolean constants.",
- 2,8,0,0, cmPolicies::WARN);
+ 2,8,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0013, "CMP0013",
"Duplicate binary directories are not allowed.",
- 2,8,0,0, cmPolicies::WARN);
+ 2,8,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0014, "CMP0014",
"Input directories must have CMakeLists.txt.",
- 2,8,0,0, cmPolicies::WARN);
+ 2,8,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0015, "CMP0015",
"link_directories() treats paths relative to the source dir.",
- 2,8,1,0, cmPolicies::WARN);
+ 2,8,1, cmPolicies::WARN);
this->DefinePolicy(
CMP0016, "CMP0016",
"target_link_libraries() reports error if its only argument "
"is not a target.",
- 2,8,3,0, cmPolicies::WARN);
+ 2,8,3, cmPolicies::WARN);
this->DefinePolicy(
CMP0017, "CMP0017",
"Prefer files from the CMake module directory when including from there.",
- 2,8,4,0, cmPolicies::WARN);
+ 2,8,4, cmPolicies::WARN);
this->DefinePolicy(
CMP0018, "CMP0018",
"Ignore CMAKE_SHARED_LIBRARY_<Lang>_FLAGS variable.",
- 2,8,9,0, cmPolicies::WARN);
+ 2,8,9, cmPolicies::WARN);
this->DefinePolicy(
CMP0019, "CMP0019",
"Do not re-expand variables in include and link information.",
- 2,8,11,0, cmPolicies::WARN);
+ 2,8,11, cmPolicies::WARN);
this->DefinePolicy(
CMP0020, "CMP0020",
"Automatically link Qt executables to qtmain target on Windows.",
- 2,8,11,0, cmPolicies::WARN);
+ 2,8,11, cmPolicies::WARN);
this->DefinePolicy(
CMP0021, "CMP0021",
"Fatal error on relative paths in INCLUDE_DIRECTORIES target property.",
- 2,8,12,0, cmPolicies::WARN);
+ 2,8,12, cmPolicies::WARN);
this->DefinePolicy(
CMP0022, "CMP0022",
"INTERFACE_LINK_LIBRARIES defines the link interface.",
- 2,8,12,0, cmPolicies::WARN);
+ 2,8,12, cmPolicies::WARN);
this->DefinePolicy(
CMP0023, "CMP0023",
"Plain and keyword target_link_libraries signatures cannot be mixed.",
- 2,8,12,0, cmPolicies::WARN);
+ 2,8,12, cmPolicies::WARN);
this->DefinePolicy(
CMP0024, "CMP0024",
"Disallow include export result.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0025, "CMP0025",
"Compiler id for Apple Clang is now AppleClang.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0026, "CMP0026",
"Disallow use of the LOCATION target property.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0027, "CMP0027",
"Conditionally linked imported targets with missing include directories.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0028, "CMP0028",
"Double colon in target name means ALIAS or IMPORTED target.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0029, "CMP0029",
"The subdir_depends command should not be called.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0030, "CMP0030",
"The use_mangled_mesa command should not be called.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0031, "CMP0031",
"The load_command command should not be called.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0032, "CMP0032",
"The output_required_files command should not be called.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0033, "CMP0033",
"The export_library_dependencies command should not be called.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0034, "CMP0034",
"The utility_source command should not be called.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0035, "CMP0035",
"The variable_requires command should not be called.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0036, "CMP0036",
"The build_name command should not be called.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0037, "CMP0037",
"Target names should not be reserved and should match a validity pattern.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0038, "CMP0038",
"Targets may not link directly to themselves.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0039, "CMP0039",
"Utility targets may not have link dependencies.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0040, "CMP0040",
"The target in the TARGET signature of add_custom_command() must exist.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0041, "CMP0041",
"Error on relative include with generator expression.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0042, "CMP0042",
"MACOSX_RPATH is enabled by default.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0043, "CMP0043",
"Ignore COMPILE_DEFINITIONS_<Config> properties.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0044, "CMP0044",
"Case sensitive <LANG>_COMPILER_ID generator expressions.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0045, "CMP0045",
"Error on non-existent target in get_target_property.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0046, "CMP0046",
"Error on non-existent dependency in add_dependencies.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0047, "CMP0047",
"Use QCC compiler id for the qcc drivers on QNX.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
this->DefinePolicy(
CMP0048, "CMP0048",
"project() command manages VERSION variables.",
- 3,0,0,0, cmPolicies::WARN);
+ 3,0,0, cmPolicies::WARN);
}
cmPolicies::~cmPolicies()
@@ -365,7 +352,6 @@ void cmPolicies::DefinePolicy(cmPolicies::PolicyID iD,
unsigned int majorVersionIntroduced,
unsigned int minorVersionIntroduced,
unsigned int patchVersionIntroduced,
- unsigned int tweakVersionIntroduced,
cmPolicies::PolicyStatus status)
{
// a policy must be unique and can only be defined once
@@ -381,7 +367,6 @@ void cmPolicies::DefinePolicy(cmPolicies::PolicyID iD,
majorVersionIntroduced,
minorVersionIntroduced,
patchVersionIntroduced,
- tweakVersionIntroduced,
status);
this->PolicyStringMap[idString] = iD;
}
@@ -451,7 +436,7 @@ bool cmPolicies::ApplyPolicyVersion(cmMakefile *mf,
for(std::map<cmPolicies::PolicyID,cmPolicy *>::iterator i
= this->Policies.begin(); i != this->Policies.end(); ++i)
{
- if (i->second->IsPolicyNewerThan(majorVer,minorVer,patchVer,tweakVer))
+ if (i->second->IsPolicyNewerThan(majorVer,minorVer,patchVer))
{
if(i->second->Status == cmPolicies::REQUIRED_ALWAYS)
{
diff --git a/Source/cmPolicies.h b/Source/cmPolicies.h
index 42271dd..f9a4768 100644
--- a/Source/cmPolicies.h
+++ b/Source/cmPolicies.h
@@ -125,7 +125,6 @@ public:
unsigned int majorVersionIntroduced,
unsigned int minorVersionIntroduced,
unsigned int patchVersionIntroduced,
- unsigned int tweakVersionIntroduced,
cmPolicies::PolicyStatus status);
///! Set a policy level for this listfile
diff --git a/Utilities/Sphinx/CMakeLists.txt b/Utilities/Sphinx/CMakeLists.txt
index c60788f..23dc6ae 100644
--- a/Utilities/Sphinx/CMakeLists.txt
+++ b/Utilities/Sphinx/CMakeLists.txt
@@ -24,12 +24,15 @@ project(CMakeHelp NONE)
option(SPHINX_MAN "Build man pages with Sphinx" OFF)
option(SPHINX_HTML "Build html help with Sphinx" OFF)
+option(SPHINX_TEXT "Build text help with Sphinx (not installed)" OFF)
find_program(SPHINX_EXECUTABLE
NAMES sphinx-build
DOC "Sphinx Documentation Builder (sphinx-doc.org)"
)
-if(NOT SPHINX_MAN AND NOT SPHINX_HTML)
+mark_as_advanced(SPHINX_TEXT)
+
+if(NOT SPHINX_MAN AND NOT SPHINX_HTML AND NOT SPHINX_TEXT)
return()
elseif(NOT SPHINX_EXECUTABLE)
message(FATAL_ERROR "SPHINX_EXECUTABLE (sphinx-build) is not found!")
@@ -57,6 +60,9 @@ endif()
if(SPHINX_MAN)
list(APPEND doc_formats man)
endif()
+if(SPHINX_TEXT)
+ list(APPEND doc_formats text)
+endif()
set(doc_format_outputs "")
set(doc_format_last "")