summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Revert "cmDefinitions: Don't store parent lookups"Ben Boeckel2014-10-243-24/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5abfde6cb8a1ae0b2825797eab6c2e9842eb7c49. The behaviors associated with implicit pulldown on variable lookup seriously conflict with the optimizations made in these commits. Basically, since values were copied upon variable lookup, not just on PARENT_SCOPE, coupled with PARENT_SCOPE's behavior based on whether the variable is in the current scope or not causes serious problems with not storing a value for every variable at every scope. The commit changed behavior of the following example, among other cases: function(test_set) set(blah "value2") message("before PARENT_SCOPE blah=${blah}") set(blah ${blah} PARENT_SCOPE) message("after PARENT_SCOPE blah=${blah}") endfunction() set(blah value1) test_set() message("in parent scope, blah=${blah}") Reported-by: Alex Merry <alex.merry@kde.org> Reported-by: Ben Cooksley <bcooksley@kde.org>
* cmDefinitions: Don't store parent lookupsBen Boeckel2014-06-093-10/+24
| | | | | When looking up scopes, it is faster to not store the lookup locally to keep the maps smaller and avoid extra allocations and rebalancing.
* Merge topic 'dev/backtrace-performance'Brad King2014-06-0934-224/+234
|\ | | | | | | | | | | | | | | | | | | 86be733f cmGeneratorExpression: Add workaround for Borland compiler 3495ab0a tests: update unused variable test expected output 2a1b2d84 backtrace: Convert to local paths in IssueMessage a0829205 genex: remove the need for backtraces efc20569 cmake: remove dummy backtraces for IssueMessage d46c650d cmMakefile: return a backtrace
| * cmGeneratorExpression: Add workaround for Borland compilerBrad King2014-06-061-0/+8
| |
| * backtrace: Convert to local paths in IssueMessageBen Boeckel2014-06-0513-22/+66
| | | | | | | | | | This is the only place we care show the FilePath to the user, so defer the expensive relative path calculation until here.
| * genex: remove the need for backtracesBen Boeckel2014-06-0520-125/+117
| | | | | | | | | | Rather than making dummy backtraces and passing them around, just make backtraces optional.
| * cmake: remove dummy backtraces for IssueMessageBen Boeckel2014-06-055-17/+14
| |
| * cmMakefile: return a backtraceBen Boeckel2014-06-0510-69/+38
| | | | | | | | | | This allows backtraces to be fully controlled by the makefile rather than externally (and makes changing how they are manipulated easier).
* | Merge topic 'fix-ctest-label-regex'Brad King2014-06-091-2/+2
|\ \ | | | | | | | | | | | | 887532f0 CTest: Fix combined inclusive/exclusive label regular expressions
| * | CTest: Fix combined inclusive/exclusive label regular expressionsNils Gladitz2014-06-061-2/+2
| | |
* | | CMake Nightly Date StampKitware Robot2014-06-091-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2014-06-081-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2014-06-071-1/+1
| | |
* | | Merge topic 'xcode-15-string-apis'Brad King2014-06-061-13/+5
|\ \ \ | | | | | | | | | | | | | | | | 23dc6aa1 Xcode: Fix single-configuration generation for version 1.5
| * | | Xcode: Fix single-configuration generation for version 1.5Brad King2014-06-051-13/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 84fdc992 (stringapi: Pass configuration names as strings, 2014-02-09) a few code paths for the Xcode 1.5 single-configuration generator were not updated to use an empty configuration name instead of a NULL pointer when no configuration is specified in CMAKE_BUILD_TYPE. Fix them now.
* | | | Merge topic 'compile-OBJECT_FILE_DIR'Brad King2014-06-064-0/+19
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | 8256ccb7 Add OBJECT_FILE_DIR rule placeholder for compilation lines
| * | | Add OBJECT_FILE_DIR rule placeholder for compilation linesBrad King2014-06-054-0/+19
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Some compilers do not offer an option to specify the path to the object file, but rather only to the directory in which to place the object file. See issue 14876 for some examples. Add a new OBJECT_FILE_DIR placeholder to specify the directory containing the object file for the current compilation. This may differ from the main target OBJECT_DIR when the object corresponds to a source in a subdirectory.
* | | CMake Nightly Date StampKitware Robot2014-06-061-1/+1
| |/ |/|
* | Merge topic 'delay-generator-toolset'Brad King2014-06-059-36/+52
|\ \ | | | | | | | | | | | | | | | | | | 528e8af1 Allow a toolchain file to specify a generator toolset 98afb454 VS: Split user- and generator-provided PlatformToolset 3e9f6e36 Xcode: Rename internal variable {Platform => Generator}Toolset
| * | Allow a toolchain file to specify a generator toolsetBrad King2014-06-047-19/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delay use of CMAKE_GENERATOR_TOOLSET until the CMakeSystem.cmake file has been configured and loaded during the first project() or enable_language() command. This gives the toolchain file named by CMAKE_TOOLCHAIN_FILE a chance to set CMAKE_GENERATOR_TOOLSET. This point is still early enough to set the generator toolset prior to the initialization of any languages that might use the toolset. The cmake::GeneratorToolset member variable remains an indication of what was specified by the -T option or loaded from the cache. It does not need to be updated based on the toolchain file setting. The cmMakefile::TryCompile can still pass cmake::GeneratorToolset into the inner instance because the try-compiled project will do platform and language initialization using the CMakeSystem module configured for the outer project. Extend the RunCMake.GeneratorToolset test with cases that use a toolchain file to set CMAKE_GENERATOR_TOOLSET.
| * | VS: Split user- and generator-provided PlatformToolsetBrad King2014-06-044-13/+25
| | | | | | | | | | | | | | | | | | | | | Divide the cmGlobalVisualStudio10Generator "PlatformToolset" member into two members representing the generator-selected default toolset and the user-specified CMAKE_GENERATOR_TOOLSET value. Prefer the user-specified value, if any, and then fall back to the generator-selected default.
| * | Xcode: Rename internal variable {Platform => Generator}ToolsetBrad King2014-06-042-6/+6
| | | | | | | | | | | | The latter matches with CMAKE_GENERATOR_TOOLSET better.
* | | Merge topic 'fix-ctest-option-summary'Brad King2014-06-051-1/+2
|\ \ \ | | | | | | | | | | | | | | | | 6446eb09 CTest: Added option description for --output-on-failure
| * | | CTest: Added option description for --output-on-failureNils Gladitz2014-06-051-1/+2
| | | | | | | | | | | | | | | | Without it the option list is cut short after --debug.
* | | | Merge topic 'expand_cobertura_coverage'Brad King2014-06-055-26/+78
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | 50daf239 CTest: Generalize Cobertura coverage format handling a2822d30 CTest: Rename coverage implementation for "Python" to "Cobertura"
| * | | | CTest: Generalize Cobertura coverage format handlingJoseph Snyder2014-06-042-9/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for Cobertura coverage files written by Java. Add a test which uses the report from a Java run of Cobertura to calculate coverage. In the documentation of CTEST_COVERAGE_COMMAND, give a sample .sh file to merge the Cobertura .ser files and generate the XML report from the merged file.
| * | | | CTest: Rename coverage implementation for "Python" to "Cobertura"Joseph Snyder2014-06-045-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The coverage.py tool writes out an XML that conforms to the Cobertura Coverage tool standard. Rename the cmParsePythonCoverage files to instead be cmParseCoberturaCoverage.
* | | | | Merge topic 'setlocale'Brad King2014-06-054-0/+10
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | 730e3862 Encoding: Add setlocale() to applications.
| * | | | Encoding: Add setlocale() to applications.Clinton Stimpson2014-06-044-0/+10
| | | | | | | | | | | | | | | | | | | | See also bug #14934 where chinese characters could not be used with cpack.
* | | | | CMake Nightly Date StampKitware Robot2014-06-051-1/+1
| |_|_|/ |/| | |
* | | | Merge topic 'fix-build-crash-on-bad-generator'Brad King2014-06-041-1/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 44e2923f cmake: Fix --build crash on bad CMAKE_GENERATOR in cache
| * | | | cmake: Fix --build crash on bad CMAKE_GENERATOR in cacheBrad King2014-06-031-1/+7
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we fail to create the generator named by CMAKE_GENERATOR, exit with an error message instead of crashing. While at it, fix the wording of the error message when CMAKE_GENERATOR is not set. Extend the RunCMake.CommandLine test with cases covering the "cmake --build" option when the named directory does not provide a CMakeCache.txt with a valid CMAKE_GENERATOR.
* | | | CMake Nightly Date StampKitware Robot2014-06-041-1/+1
| |_|/ |/| |
* | | Merge topic 'cmake-credits'Brad King2014-06-031-1/+1
|\ \ \ | | | | | | | | | | | | | | | | 889f2fd8 Simplify and clarify credit text and link
| * | | Simplify and clarify credit text and linkBrad King2014-06-031-1/+1
| | | | | | | | | | | | | | | | | | | | Use the name "Kitware" rather than "Kitware, Inc." to simplify the text. Provide a CMake-specific URL.
* | | | Merge topic 'cmake-credits'Brad King2014-06-031-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | 8da0a75b Simplify and clarify credit text and link
| * | | Simplify and clarify credit text and linkBrad King2014-06-031-1/+1
| |/ / | | | | | | | | | | | | Use the name "Kitware" rather than "Kitware, Inc." to simplify the text. Provide a CMake-specific URL.
* | | CMake Nightly Date StampKitware Robot2014-06-031-1/+1
| | |
* | | Merge topic 'feature-extensions-by-default'Brad King2014-06-021-2/+10
|\ \ \ | | | | | | | | | | | | | | | | 60a981ea Features: Enable compiler extensions by default.
| * | | Features: Enable compiler extensions by default.Stephen Kelly2014-05-311-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compilers enable their extensions by default, and disabling them implicitly can lead to results which are surprising or non-obvious to debug. http://public.kitware.com/pipermail/cmake-developers/2014-May/010575.html http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/10214 https://www.mail-archive.com/cmake-developers@cmake.org/msg10116.html (Compiler feature extensions by default, 29 May 2014)
* | | | CMake Nightly Date StampKitware Robot2014-06-021-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2014-06-011-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2014-05-311-1/+1
| | | |
* | | | Merge topic 'consistent-genex-target-message'Brad King2014-05-301-14/+14
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | fb2fa476 Genex: Clarify error message on use with non-binary targets (#14899).
| * | | Genex: Clarify error message on use with non-binary targets (#14899).Stephen Kelly2014-05-291-14/+14
| | | |
* | | | CMake Nightly Date StampKitware Robot2014-05-301-1/+1
| |/ / |/| |
* | | Merge topic 'normalize-custom-command-paths'Brad King2014-05-292-1/+15
|\ \ \ | | | | | | | | | | | | | | | | c4af46b4 add_custom_command: Normalize OUTPUT and DEPENDS paths.
| * | | add_custom_command: Normalize OUTPUT and DEPENDS paths.Stephen Kelly2014-05-282-1/+15
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While tracing dependencies of a target, cmTargetTraceDependencies follows sources by full path to determine if the source is to be produced by a custom command. Commit 4959f341 (cmSourceFileLocation: Collapse full path for directory comparisons., 2014-03-27) changed the storage of target sources to be in the form of a normalized path instead of an unnormalized path. The path is followed by looking it up in a mapping via cmMakefile::GetSourceFileWithOutput to acquire an appropriate cmSourceFile. The mapping is populated with the OUTPUT components of add_custom_command invocations, however it is populated with unnormalized paths. This means that the tracing logic does not find appropriate cmSourceFiles, and does not generate appropriate build rules for the generated sources. Normalize the paths in the OUTPUT components of add_custom_command to resolve this. The paths in the DEPENDS component of add_custom_command are also not normalized, leading to the same problem again. Normalize the depends paths after generator evaluation and expansion.
* | | Merge topic 'vs-vcproj-bool-case'Brad King2014-05-292-31/+31
|\ \ \ | | | | | | | | | | | | | | | | b684ce58 VS: Use lower-case boolean values in VS 7-9 (#14927)
| * | | VS: Use lower-case boolean values in VS 7-9 (#14927)Mark Salisbury2014-05-282-31/+31
| | |/ | |/| | | | | | | | | | | | | | | | The VS 7-9 IDEs parse .vcproj file boolean values in lower or upper case. The .NET XML parsing chokes on anything but "true", "false", "0", "1". Teach our generators to use lower-case names since they will work for both parsers. Our VS >= 10 flag tables already use lower-case.