diff options
-rw-r--r-- | Help/command/ctest_build.rst | 4 | ||||
-rw-r--r-- | Help/command/ctest_configure.rst | 4 | ||||
-rw-r--r-- | Help/command/ctest_coverage.rst | 4 | ||||
-rw-r--r-- | Help/command/ctest_test.rst | 4 | ||||
-rw-r--r-- | Help/command/math.rst | 9 | ||||
-rw-r--r-- | Modules/Platform/Darwin-Initialize.cmake | 2 | ||||
-rw-r--r-- | Source/CMakeVersion.cmake | 2 | ||||
-rw-r--r-- | Source/cmGeneratorTarget.cxx | 16 | ||||
-rw-r--r-- | Source/cmGeneratorTarget.h | 3 | ||||
-rw-r--r-- | Source/cmGhsMultiTargetGenerator.cxx | 4 | ||||
-rw-r--r-- | Source/cmGlobalGenerator.cxx | 2 | ||||
-rw-r--r-- | Source/cmGlobalGenerator.h | 3 | ||||
-rw-r--r-- | Source/cmGlobalGhsMultiGenerator.cxx | 6 | ||||
-rw-r--r-- | Source/cmGlobalVisualStudio7Generator.cxx | 4 | ||||
-rw-r--r-- | Source/cmGlobalXCodeGenerator.cxx | 4 | ||||
-rw-r--r-- | Source/cmcldeps.cxx | 11 |
16 files changed, 50 insertions, 32 deletions
diff --git a/Help/command/ctest_build.rst b/Help/command/ctest_build.rst index d3ceb2d..55bb4a3 100644 --- a/Help/command/ctest_build.rst +++ b/Help/command/ctest_build.rst @@ -30,9 +30,11 @@ The options are: :variable:`CTEST_BINARY_DIRECTORY` variable is used. ``APPEND`` - Mark results for append to those previously submitted to a + Mark ``Build.xml`` for append to results previously submitted to a dashboard server since the last :command:`ctest_start` call. Append semantics are defined by the dashboard server in use. + This does *not* cause results to be appended to a ``.xml`` file + produced by a previous call to this command. ``CONFIGURATION <config>`` Specify the build configuration (e.g. ``Debug``). If not diff --git a/Help/command/ctest_configure.rst b/Help/command/ctest_configure.rst index b11e77c..2dea07b 100644 --- a/Help/command/ctest_configure.rst +++ b/Help/command/ctest_configure.rst @@ -23,9 +23,11 @@ The options are: :variable:`CTEST_SOURCE_DIRECTORY` variable is used. ``APPEND`` - Mark results for append to those previously submitted to a + Mark ``Configure.xml`` for append to results previously submitted to a dashboard server since the last :command:`ctest_start` call. Append semantics are defined by the dashboard server in use. + This does *not* cause results to be appended to a ``.xml`` file + produced by a previous call to this command. ``OPTIONS <options>`` Specify command-line arguments to pass to the configuration tool. diff --git a/Help/command/ctest_coverage.rst b/Help/command/ctest_coverage.rst index ec1ee25..8d27b9c 100644 --- a/Help/command/ctest_coverage.rst +++ b/Help/command/ctest_coverage.rst @@ -22,9 +22,11 @@ The options are: :variable:`CTEST_BINARY_DIRECTORY` variable is used. ``APPEND`` - Mark results for append to those previously submitted to a + Mark ``Coverage.xml`` for append to results previously submitted to a dashboard server since the last :command:`ctest_start` call. Append semantics are defined by the dashboard server in use. + This does *not* cause results to be appended to a ``.xml`` file + produced by a previous call to this command. ``LABELS`` Filter the coverage report to include only source files labeled diff --git a/Help/command/ctest_test.rst b/Help/command/ctest_test.rst index 551bc58..ce50d42 100644 --- a/Help/command/ctest_test.rst +++ b/Help/command/ctest_test.rst @@ -32,9 +32,11 @@ The options are: :variable:`CTEST_BINARY_DIRECTORY` variable is used. ``APPEND`` - Mark results for append to those previously submitted to a + Mark ``Test.xml`` for append to results previously submitted to a dashboard server since the last :command:`ctest_start` call. Append semantics are defined by the dashboard server in use. + This does *not* cause results to be appended to a ``.xml`` file + produced by a previous call to this command. ``START <start-number>`` Specify the beginning of a range of test numbers. diff --git a/Help/command/math.rst b/Help/command/math.rst index d4deb16..f99dc3d 100644 --- a/Help/command/math.rst +++ b/Help/command/math.rst @@ -5,9 +5,10 @@ Mathematical expressions. :: - math(EXPR <output variable> <math expression>) + math(EXPR <output-variable> <math-expression>) ``EXPR`` evaluates mathematical expression and returns result in the -output variable. Example mathematical expression is '5 * ( 10 + 13 -)'. Supported operators are + - * / % | & ^ ~ << >> * / %. They have -the same meaning as they do in C code. +output variable. Example mathematical expression is ``5 * (10 + 13)``. +Supported operators are ``+``, ``-``, ``*``, ``/``, ``%``, ``|``, ``&``, +``^``, ``~``, ``<<``, ``>>``, and ``(...)``. They have the same meaning +as they do in C code. diff --git a/Modules/Platform/Darwin-Initialize.cmake b/Modules/Platform/Darwin-Initialize.cmake index 427909d..39374e1 100644 --- a/Modules/Platform/Darwin-Initialize.cmake +++ b/Modules/Platform/Darwin-Initialize.cmake @@ -90,7 +90,7 @@ elseif("${CMAKE_GENERATOR}" MATCHES Xcode endif() endforeach() - if(NOT CMAKE_OSX_DEPLOYMENT_TARGET AND _CURRENT_OSX_VERSION VERSION_LESS _CMAKE_OSX_DEPLOYMENT_TARGET) + if(NOT CMAKE_CROSSCOMPILING AND NOT CMAKE_OSX_DEPLOYMENT_TARGET AND _CURRENT_OSX_VERSION VERSION_LESS _CMAKE_OSX_DEPLOYMENT_TARGET) set(CMAKE_OSX_DEPLOYMENT_TARGET ${_CURRENT_OSX_VERSION} CACHE STRING "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value." FORCE) endif() diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 662ba9f..3640ea8 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 7) -set(CMake_VERSION_PATCH 20161014) +set(CMake_VERSION_PATCH 20161017) #set(CMake_VERSION_RC 1) diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index 7eb0ebf..f11149a 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -1767,6 +1767,22 @@ std::string cmGeneratorTarget::GetMacContentDirectory( return fpath; } +std::string cmGeneratorTarget::GetEffectiveFolderName() const +{ + std::string effectiveFolder; + + if (!this->GlobalGenerator->UseFolderProperty()) { + return effectiveFolder; + } + + const char* targetFolder = this->GetProperty("FOLDER"); + if (targetFolder) { + effectiveFolder += targetFolder; + } + + return effectiveFolder; +} + cmGeneratorTarget::CompileInfo const* cmGeneratorTarget::GetCompileInfo( const std::string& config) const { diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h index 68ffd5c..9382726 100644 --- a/Source/cmGeneratorTarget.h +++ b/Source/cmGeneratorTarget.h @@ -220,6 +220,9 @@ public: std::string GetMacContentDirectory(const std::string& config = CM_NULLPTR, bool implib = false) const; + /** @return folder prefix for IDEs. */ + std::string GetEffectiveFolderName() const; + cmTarget* Target; cmMakefile* Makefile; cmLocalGenerator* LocalGenerator; diff --git a/Source/cmGhsMultiTargetGenerator.cxx b/Source/cmGhsMultiTargetGenerator.cxx index 5fbaea4..3154f8d 100644 --- a/Source/cmGhsMultiTargetGenerator.cxx +++ b/Source/cmGhsMultiTargetGenerator.cxx @@ -44,9 +44,7 @@ cmGhsMultiTargetGenerator::~cmGhsMultiTargetGenerator() std::string cmGhsMultiTargetGenerator::GetRelBuildFilePath( const cmGeneratorTarget* target) { - std::string output; - char const* folderProp = target->GetProperty("FOLDER"); - output = NULL == folderProp ? "" : folderProp; + std::string output = target->GetEffectiveFolderName(); cmSystemTools::ConvertToUnixSlashes(output); if (!output.empty()) { output += "/"; diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 1aa6af1..7d0c2da 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -2377,7 +2377,7 @@ const char* cmGlobalGenerator::GetPredefinedTargetsFolder() return "CMakePredefinedTargets"; } -bool cmGlobalGenerator::UseFolderProperty() +bool cmGlobalGenerator::UseFolderProperty() const { const char* prop = this->GetCMakeInstance()->GetState()->GetGlobalProperty("USE_FOLDERS"); diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h index 38eaa76..c3498e0 100644 --- a/Source/cmGlobalGenerator.h +++ b/Source/cmGlobalGenerator.h @@ -334,6 +334,8 @@ public: i.e. "Can I build Debug and Release in the same tree?" */ virtual bool IsMultiConfig() const { return false; } + virtual bool UseFolderProperty() const; + std::string GetSharedLibFlagsForLanguage(std::string const& lang) const; /** Generate an <output>.rule file path for a given command output. */ @@ -463,7 +465,6 @@ protected: std::string const& name) const; const char* GetPredefinedTargetsFolder(); - virtual bool UseFolderProperty(); private: #if defined(CMAKE_BUILD_WITH_CMAKE) diff --git a/Source/cmGlobalGhsMultiGenerator.cxx b/Source/cmGlobalGhsMultiGenerator.cxx index 0eac338..d4ae677 100644 --- a/Source/cmGlobalGhsMultiGenerator.cxx +++ b/Source/cmGlobalGhsMultiGenerator.cxx @@ -439,11 +439,7 @@ void cmGlobalGhsMultiGenerator::UpdateBuildFiles( tgtsI != tgts.end(); ++tgtsI) { const cmGeneratorTarget* tgt = *tgtsI; if (IsTgtForBuild(tgt)) { - char const* rawFolderName = tgt->GetProperty("FOLDER"); - if (NULL == rawFolderName) { - rawFolderName = ""; - } - std::string folderName(rawFolderName); + std::string folderName = tgt->GetEffectiveFolderName(); if (this->TargetFolderBuildStreams.end() == this->TargetFolderBuildStreams.find(folderName)) { this->AddFilesUpToPath( diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx index 3637fed..0287def 100644 --- a/Source/cmGlobalVisualStudio7Generator.cxx +++ b/Source/cmGlobalVisualStudio7Generator.cxx @@ -409,8 +409,8 @@ void cmGlobalVisualStudio7Generator::WriteTargetsToSolution( // Create "solution folder" information from FOLDER target property // if (written && this->UseFolderProperty()) { - const char* targetFolder = target->GetProperty("FOLDER"); - if (targetFolder) { + const std::string targetFolder = target->GetEffectiveFolderName(); + if (!targetFolder.empty()) { std::vector<cmsys::String> tokens = cmSystemTools::SplitString(targetFolder, '/', false); diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index 0ddfc9a..7b1afa5 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -2723,8 +2723,8 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateOrGetPBXGroup( { std::string s; std::string target; - const char* targetFolder = gtgt->GetProperty("FOLDER"); - if (targetFolder) { + const std::string targetFolder = gtgt->GetEffectiveFolderName(); + if (!targetFolder.empty()) { target = targetFolder; target += "/"; } diff --git a/Source/cmcldeps.cxx b/Source/cmcldeps.cxx index 167d60a..b86ad6e 100644 --- a/Source/cmcldeps.cxx +++ b/Source/cmcldeps.cxx @@ -205,7 +205,7 @@ static int process(const std::string& srcfilename, const std::string& dfile, std::vector<std::string> command; for (std::vector<std::string>::iterator i = args.begin(); i != args.end(); ++i) { - command.push_back(i->c_str()); + command.push_back(*i); } // run the command int exit_code = 0; @@ -258,7 +258,7 @@ int main() // needed to suppress filename output of msvc tools std::string srcfilename; { - std::string::size_type pos = srcfile.rfind("\\"); + std::string::size_type pos = srcfile.rfind('\\'); if (pos == std::string::npos) { srcfilename = srcfile; } else { @@ -279,12 +279,7 @@ int main() clrest = replace(clrest, "/fo", "/out:"); clrest = replace(clrest, objfile, objfile + ".dep.obj "); - // rc: src\x\x.rc -> cl: /Tc src\x\x.rc - if (srcfile.find(" ") != std::string::npos) - srcfile = "\"" + srcfile + "\""; - clrest = replace(clrest, srcfile, "/Tc " + srcfile); - - cl = "\"" + cl + "\" /P /DRC_INVOKED "; + cl = "\"" + cl + "\" /P /DRC_INVOKED /TC "; // call cl in object dir so the .i is generated there std::string objdir; |