summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Honor visibility properties for all target types (#15556)Brad King2015-05-2623-27/+269
| | | | | | | | | | | | | | | | The <LANG>_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN were first merged in commit v2.8.12~322 (Merge topic 'VISIBILITY_PRESET-property', 2013-06-05) but worked only for shared libraries and executables with exports. Prior to commit v3.0.0-rc1~581^2 (GenerateExportHeader: Deprecate add_compiler_export_flags function., 2013-09-02) the add_compiler_export_flags function was used to add visibility flags to all targets. The visibility flags are useful for sources in all target types because they may be later linked into shared libraries or executables with exports. Introduce policy CMP0063 to enable them for all target types while preserving compatibility with existing projects that do not expect this.
* Help: Format visibility property and variable documentationBrad King2015-05-224-18/+13
| | | | Add reStructuredText markup appropriately.
* Tests: Rename Visibility{InlinesHidden =>}Brad King2015-05-225-8/+7
| | | | We will soon generalize it to cover other visibility properties.
* Tests: Refactor RunCMake.VisibilityPreset test setupBrad King2015-05-223-22/+9
| | | | | | | | Enable languages only in the individual test case. Enable the test everywhere except Visual Studio generators (which do not implement the properties) and just set fake flags as needed to activate relevant code paths. Drop unneeded CMAKE_SUPPRESS_REGENERATION which seems to have been copied from an unrelated test when this test was created.
* Merge topic 'clean-up-backtrace-handling'Brad King2015-05-224-51/+86
|\ | | | | | | | | | | | | | | | | 8b4b9631 cmake: Add IssueMessage overload taking a single cmListFileContext. 46656aa1 cmake: Extract displayMessage method. 55fc5e7c cmake: Extract printMessageText method. ca7cc2eb cmake: Extract PrintMessagePreamble method. fa752bf3 cmake: Move isError determination to a more-natural place.
| * cmake: Add IssueMessage overload taking a single cmListFileContext.Stephen Kelly2015-05-214-26/+44
| | | | | | | | Port appropriate clients to use it.
| * cmake: Extract displayMessage method.Stephen Kelly2015-05-211-19/+25
| |
| * cmake: Extract printMessageText method.Stephen Kelly2015-05-211-7/+9
| |
| * cmake: Extract PrintMessagePreamble method.Stephen Kelly2015-05-212-8/+19
| |
| * cmake: Move isError determination to a more-natural place.Stephen Kelly2015-05-211-5/+3
| |
* | Merge topic 'vs-cleanup-internal-configs'Brad King2015-05-2210-176/+119
|\ \ | | | | | | | | | | | | 2f4bb4e9 VS: Do not accumulate configurations globally (#15577)
| * | VS: Do not accumulate configurations globally (#15577)Brad King2015-05-2110-176/+119
| |/ | | | | | | | | | | | | | | | | | | | | Drop the VS >= 7 generator's global Configurations member and instead lookup configurations using cmMakefile::GetConfigurations where needed. This avoids accumulating all CMAKE_CONFIGURATION_TYPES values ever encountered by a project() or enable_language() command and allows the final value to be used in each directory. We don't officially support per-directory CMAKE_CONFIGURATION_TYPES values but we certainly should not generate configurations not in the final value in the top level directory.
* | Merge topic 'revert-extra-qbs-generator'Brad King2015-05-228-363/+1
|\ \ | | | | | | | | | | | | deec97d8 Revert "Qbs: Add new 'extra' generator for qbs project files"
| * | Revert "Qbs: Add new 'extra' generator for qbs project files"Brad King2015-05-218-363/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f85db2f32358e6de921aba7d1cb8ecb81da934c0. Discussion by the QtCreator community at https://bugreports.qt.io/browse/QTCREATORBUG-13695 raises concerns about this particular approach to working with CMake projects using QtCreator. Also, the functionality and design of the QBS extra generator was never discussed on the CMake mailing list or with QtCreator developers. There may be better ways to make the two tools work together. In order to avoid committing to long-term support of this generator prior to such discussion taking place, revert it from CMake for now. We may restore this or use an alternative design based on results of such discussion.
* | CMake Nightly Date StampKitware Robot2015-05-221-1/+1
|/
* Merge topic 'ExternalProject_FixLog'Brad King2015-05-212-2/+39
|\ | | | | | | | | a0d620de ExternalProject: Fix log when the first arg of commands is "COMMAND" (#15567)
| * ExternalProject: Fix log when the first arg of commands is "COMMAND" (#15567)Daniele E. Domenichelli2015-05-202-2/+39
| |
* | Merge topic 'use-std-unordered_map'Brad King2015-05-211-1/+3
|\ \ | | | | | | | | | | | | b5906ed0 Check for std::unordered_map only if we are building CMake
| * | Check for std::unordered_map only if we are building CMakeBrad King2015-05-201-1/+3
| | | | | | | | | | | | | | | When CMake_TEST_EXTERNAL_CMAKE is set then we are not actually building CMake so we do not need this check.
* | | Merge topic 'clean-up-cmLocalGenerator'Brad King2015-05-215-26/+13
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e54d2fdf Convert: Remove specification of default parameter. 20c2fe4d cmLocalGenerator: Get enabled languages from cmState. 7601a7b1 cmLocalGenerator: Implement IsRootMakefile in terms of cmState. 4080ca49 cmLocalGenerator: Inline ReadListFile method. ad706819 cmLocalGenerator: Devirtualize method.
| * | | Convert: Remove specification of default parameter.Stephen Kelly2015-05-204-7/+5
| | | |
| * | | cmLocalGenerator: Get enabled languages from cmState.Stephen Kelly2015-05-201-2/+2
| | | |
| * | | cmLocalGenerator: Implement IsRootMakefile in terms of cmState.Stephen Kelly2015-05-201-1/+1
| | | |
| * | | cmLocalGenerator: Inline ReadListFile method.Stephen Kelly2015-05-202-15/+4
| | | |
| * | | cmLocalGenerator: Devirtualize method.Stephen Kelly2015-05-201-1/+1
| | | |
* | | | Merge topic 'clean-up-CMAKE_COMMAND'Brad King2015-05-2116-56/+32
|\ \ \ \ | |/ / / | | | | | | | | | | | | 6fbd4cae Use cmSystemTools::GetCMakeCommand() to get path to cmake internally
| * | | Use cmSystemTools::GetCMakeCommand() to get path to cmake internallyBrad King2015-05-2016-56/+32
| | | | | | | | | | | | | | | | | | | | This is much simpler than finding a way to lookup "CMAKE_COMMAND" everywhere.
* | | | Merge topic 'cmake-gui-osx-install-command-line'Brad King2015-05-217-263/+109
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e462ef74 Help: Add notes for topic 'cmake-gui-osx-install-command-line' 8ea2db26 cmake-gui: Replace command-line install dialog with information box 438ce4a0 cmake-gui: Add --install option to add command-line tools on OS X 41477d5c cmake-gui: Drop undocumented and unused --mac-install option
| * | | | Help: Add notes for topic 'cmake-gui-osx-install-command-line'Brad King2015-05-211-0/+10
| | | | |
| * | | | cmake-gui: Replace command-line install dialog with information boxBrad King2015-05-216-253/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QMacInstallDialog infrastructure no longer works on modern OS X versions. Drop it and replace the dialog with a simple info box that explains to the user how to run 'cmake-gui --install' to add symlinks. Also suggest simply modifying the PATH. This approach is similar to the Xcode 'xcode-select --install' method of installing Xcode Command Line Tools.
| * | | | cmake-gui: Add --install option to add command-line tools on OS XBrad King2015-05-211-0/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On OS X add an "--install[=/path/to/bin]" option (defaulting to /usr/bin) that installs symbolic links into the given directory. This will help OS X users make the tools available on the command line even when they sit inside a CMake.app bundle.
| * | | | cmake-gui: Drop undocumented and unused --mac-install optionBrad King2015-05-191-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This option was once used by our OS X package installer to create symlinks at install time. Since switching to the DragNDrop installer we no longer use this option.
* | | | | Merge topic 'doc-cache-option-space'Brad King2015-05-213-2/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | b0ea3673 Help: Spell '-D' option consistently across documentation (#15575)
| * | | | | Help: Spell '-D' option consistently across documentation (#15575)Brad King2015-05-203-2/+5
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | Always show the option with its argument separate in summary text. State in the main documentation that the option and its argument can be given together too.
* | | | | Merge topic 'clean-up-cmQtAutoGenerators'Brad King2015-05-211-26/+11
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a5b59fae QtAutogen: Create global generator on the stack. fe401ede QtAutogen: Use a more-obvious delete-target. c95a55ad QtAutogen: Remove the need for a local makefile variable. 460e8fb9 QtAutogen: Inline static factory method. 58f41c78 QtAutogen: Remove repeated setters.
| * | | | | QtAutogen: Create global generator on the stack.Stephen Kelly2015-05-191-6/+4
| | | | | |
| * | | | | QtAutogen: Use a more-obvious delete-target.Stephen Kelly2015-05-191-1/+1
| | | | | |
| * | | | | QtAutogen: Remove the need for a local makefile variable.Stephen Kelly2015-05-191-6/+3
| | | | | |
| * | | | | QtAutogen: Inline static factory method.Stephen Kelly2015-05-191-14/+7
| | | | | |
| * | | | | QtAutogen: Remove repeated setters.Stephen Kelly2015-05-191-3/+0
| |/ / / / | | | | | | | | | | | | | | | These methods are called already just before calling the static method.
* | | | | Merge topic 'clean-up-cmMakefile'Brad King2015-05-219-247/+118
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b9f99155 cmMakefile: Remove VarUsageStack. 2b09d9f3 cmMakefile: Remove VarInitStack. 528d6802 cmMakefile: Use more suitable method name to log var usage. 9118b53b cmMakefile: Move internal method to private scope. f58c3774 cmMakefile: Mark definitions explicitly erased, even at top level. ea7b962b cmMakefile: Raise variable in scope explicitly when needed. c8cb6688 cmMakefile: Use early return to reduce nested code. bdd1aa91 cmMakefile: Don't use else after return. c42f0e2b cmMakefile: Remove redundant conditions. caff8e5a cmCTest: Remove unimplemented method. bb1e8c3a cmMakefile: Remove Print() debugging facilities. 1363bff8 cmMakefile: Remove duplicate variable initialization. 5b7ff35c cmMakefile: Don't expect the VarStack iterator to support size(). 390bc324 cmMakefile: Remove redundant condition. 8ab1cce7 cmMakefile: Rename method to something more appropriate. 2dd5d42f cmMakefile: Make the public ReadListFile method take one param. ...
| * | | | | cmMakefile: Remove VarUsageStack.Stephen Kelly2015-05-194-61/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store usage information in the cmDefintions value instead. We already pay for the memory as padding in the Def struct, so we might as well use it.
| * | | | | cmMakefile: Remove VarInitStack.Stephen Kelly2015-05-193-21/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In cmMakefile::PushScope, a copy of the closure of keys initialized in the parent scope is made. In PopScope, essentially the same copy is inserted back into the parent. That means a lot of duplication of strings and a lot of string comparisons. None of it is needed, because the cmDefinitions keys already provide a canonical representation of what is initialized. The removal of the separate container also makes the variable handling code more easy to reason about in general. Before this patch, configuring llvm uses 200 KiB for the VarInitStack. Overall peak memory consumption goes from 35.5 MiB to 35.1 MiB.
| * | | | | cmMakefile: Use more suitable method name to log var usage.Stephen Kelly2015-05-192-7/+7
| | | | | |
| * | | | | cmMakefile: Move internal method to private scope.Stephen Kelly2015-05-191-2/+2
| | | | | |
| * | | | | cmMakefile: Mark definitions explicitly erased, even at top level.Stephen Kelly2015-05-193-16/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Presumably the intention here is to attempt to optimize memory by not storing what is not needed. However, all keys need to be tracked anyway to implement initialization tracking, and this special case gets in the way of simplifying the implementation of that. This doesn't change any observable effects because values set to 0 are considered not to exist by the cmDefinitions API.
| * | | | | cmMakefile: Raise variable in scope explicitly when needed.Stephen Kelly2015-05-193-7/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Get method implicitly pulls a copy of all variables into a local scope. This is not necessary.
| * | | | | cmMakefile: Use early return to reduce nested code.Stephen Kelly2015-05-191-15/+16
| | | | | |
| * | | | | cmMakefile: Don't use else after return.Stephen Kelly2015-05-191-4/+1
| | | | | |
| * | | | | cmMakefile: Remove redundant conditions.Stephen Kelly2015-05-191-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | This container is never empty.