diff options
-rw-r--r-- | Help/index.rst | 10 | ||||
-rw-r--r-- | Help/prop_tgt/AUTOMOC.rst | 7 | ||||
-rw-r--r-- | Help/release/dev.txt | 16 | ||||
-rw-r--r-- | Help/release/dev/0-sample-topic.rst | 7 | ||||
-rw-r--r-- | Help/release/index.rst | 14 | ||||
-rw-r--r-- | Modules/CMakeFindDependencyMacro.cmake | 9 | ||||
-rw-r--r-- | Modules/FeatureSummary.cmake | 6 | ||||
-rw-r--r-- | Source/CMakeVersion.cmake | 2 | ||||
-rw-r--r-- | Source/cmFindPackageCommand.cxx | 6 | ||||
-rw-r--r-- | Source/cmPolicies.cxx | 123 | ||||
-rw-r--r-- | Source/cmPolicies.h | 1 | ||||
-rw-r--r-- | Utilities/Sphinx/CMakeLists.txt | 8 |
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 "") |