Commit Graph

20672 Commits

Author SHA1 Message Date
Daniel Pfeifer 09aa2c9418 Use <unordered_set> where available 2016-06-27 10:37:40 -04:00
Daniel Pfeifer ea5477e43d Make C++ feature checks extensible
Turn the feature check for cxx11_unordered_map into a function such that
we can use it for other features as well.  Drop the 11 suffix, as we may
want to check features from other standards.
2016-06-27 10:37:40 -04:00
Kitware Robot de943c3128 CMake Nightly Date Stamp 2016-06-22 00:01:10 -04:00
Brad King 8380f47cc9 Merge topic 'output-converter'
8ddbd4c2 cmOutputConverter: remove unnecessary conversion
bdaadbdc cmOutputConverter: collapse ConvertToOutputForExisting functions
191fc3a0 cmOutputConverter: remove unused 'local' argument
b86007e3 cmOutputConverter: remove 'optional' argument
cde127b0 cmOutputConverter::Convert: invert condition
c23f89bc cmOutputConverter::Convert: make precondition explicit
2016-06-21 13:57:16 -04:00
Brad King b70f18379b Merge topic 'refactor-flags'
41925efe cmGeneratorTarget: Fix Fortran module directory regression
2016-06-21 13:56:59 -04:00
Brad King 41925efe76 cmGeneratorTarget: Fix Fortran module directory regression
Refactoring in commit 49f10f0d (cmGeneratorTarget: Adopt Fortran module
directory generation, 2016-06-10) accidentally made a local variable
declared `static` causing results to be re-used incorrectly.
2016-06-21 13:37:06 -04:00
Kitware Robot 76c186b72f CMake Nightly Date Stamp 2016-06-21 00:01:11 -04:00
Daniel Pfeifer 8ddbd4c280 cmOutputConverter: remove unnecessary conversion 2016-06-20 23:18:59 +02:00
Daniel Pfeifer bdaadbdc2b cmOutputConverter: collapse ConvertToOutputForExisting functions 2016-06-20 23:11:05 +02:00
Daniel Pfeifer 191fc3a0f3 cmOutputConverter: remove unused 'local' argument 2016-06-20 23:03:28 +02:00
Daniel Pfeifer b86007e385 cmOutputConverter: remove 'optional' argument
Remove the 'optional' paramenter from the second overload of the Convert
function.  This parameter is used from one single location.  Inline the
codepath for which the argument is true to the callsite.
2016-06-20 22:32:02 +02:00
Daniel Pfeifer cde127b084 cmOutputConverter::Convert: invert condition
Make the control flow of the 'optional' argument more explicit.
2016-06-20 22:12:36 +02:00
Daniel Pfeifer c23f89bc76 cmOutputConverter::Convert: make precondition explicit 2016-06-20 22:11:20 +02:00
Brad King cd1f1cb544 Merge topic 'cmDependsJavaParserHelper-dangling-ptr'
fe27879c cmDependsJavaParserHelper: fix dangling pointer
2016-06-20 10:58:10 -04:00
Daniel Pfeifer fe27879c6b cmDependsJavaParserHelper: fix dangling pointer
The cmDependsJavaParserHelper tries to implement a "deep copy" in the
assignment operator of the internal class CurrentClass.  To do that, it
uses std::copy and std::back_inserter.  The copy constructor is
implemented in terms of the assignment operator but it does not
initialize the member NestedClasses, a pointer to vector.  This pointer
is dereferenced in the assignment operator.  Change the pointer to a
value and rely on the compiler generated special functions.
2016-06-20 10:56:39 -04:00
Brad King 74fde78311 Merge topic 'cmake-trace-source'
e63151ff cmake: Add an option to control what files needs to be traced
2016-06-20 09:56:06 -04:00
Brad King 711caeb3bd Merge topic 'refactor-flags'
802b36fb cmExtraSublimeTextGenerator: Use GetTargetCompileFlags
3c488ce8 cmLocalGenerator: Adopt target compile flag generation
5467e794 cmLocalGenerator: Add method to get Fortran-specific compiler flags
49f10f0d cmGeneratorTarget: Adopt Fortran module directory generation
0392f72b Refactor Makefile/Ninja tool working directory storage
2016-06-20 09:55:56 -04:00
Brad King af0f1e4f22 Merge topic 'cmake-gui-Qt-LGPLv3'
9ad10c8f cmake-gui: Reference LGPLv3 when redistributing Qt
2016-06-20 09:55:54 -04:00
Brad King 5c7b2aafbd Merge topic 'revert-vs-clang-minsize'
78249be2 VS: Fix regressed mapping for the cl `/Os` compiler flag
2016-06-20 09:55:48 -04:00
Kitware Robot f4c35c3dc2 CMake Nightly Date Stamp 2016-06-20 00:01:06 -04:00
Kitware Robot d637809136 CMake Nightly Date Stamp 2016-06-19 00:01:06 -04:00
Kitware Robot 2e351f892e CMake Nightly Date Stamp 2016-06-18 00:01:07 -04:00
Brad King 9ad10c8feb cmake-gui: Reference LGPLv3 when redistributing Qt
Download http://www.gnu.org/licenses/lgpl.txt and place it as
Licenses/LGPLv3.txt in our source tree.  When building cmake-gui, use
option CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL to enable notification in the
"About" dialog of how the distribution of Qt is licensed.  Install the
license file as ${CMAKE_ROOT}/Licenses/LGPLv3.txt so that the dialog can
display a path to it.
2016-06-17 15:02:54 -04:00
Tobias Hunger 802b36fb62 cmExtraSublimeTextGenerator: Use GetTargetCompileFlags
Replace some custom code with equivalent code from the framework.

This also fixes some fixmes left in the custom code.
2016-06-17 14:53:01 -04:00
Tobias Hunger 3c488ce899 cmLocalGenerator: Adopt target compile flag generation
Factor the flag generation out of cmCommonTargetGenerator::GetFlags
into a new cmLocalGenerator::GetTargetCompileFlags method.
This will allow it to be used without a target generator available.
2016-06-17 14:49:38 -04:00
Brad King 5467e7945d cmLocalGenerator: Add method to get Fortran-specific compiler flags
Add a cmLocalGenerator::GetTargetFortranFlags virtual method to get
generator-specific generation of Fortran-specific flags.  Implement it
in cmLocalCommonGenerator by moving the implementation from
cmCommonTargetGenerator::AddFortranFlags.  This will allow it to be used
without having a target generator available.

Inspired-by: Tobias Hunger <tobias.hunger@qt.io>
2016-06-17 14:49:29 -04:00
Tobias Hunger 49f10f0d24 cmGeneratorTarget: Adopt Fortran module directory generation
Move code to create/get the fortran module directory from the
cmCommonTargetGenerator to cmGeneratorTarget.

Rename the ComputeFortranModuleDirectory method to
CreateFortranModuleDirectory as this method *creates* the directory if
it is missing.
2016-06-17 14:22:29 -04:00
Brad King 0392f72bef Refactor Makefile/Ninja tool working directory storage
Move cmCommonTargetGenerator::WorkingDirectory to cmLocalCommonGenerator
and add an access method.
2016-06-17 14:22:28 -04:00
Alex Turbov e63151ff54 cmake: Add an option to control what files needs to be traced
Even in relatively small projects using `--trace` (and `--trace-expand`)
may produce a lot of output.  When developing a custom module usually
one is interested in output of only a few particular modules.

Add a `--trace-source=<file>` option to enable tracing only a subset of
source files.  The final output would be only from requested modules,
ignoring anything else not matched to given filename(s).
2016-06-17 11:46:23 -04:00
Brad King 9e47255604 Merge topic 'xcode-mig-support'
8be00e44 Help: Add release note about XCODE_FILE_ATTRIBUTES source file property
27eb657d Xcode: Add support for mig files
811f6c82 Xcode: Add XCODE_FILE_ATTRIBUTES source file property
ef494edf Xcode: Don't emit empty settings blocks.
82ebbf68 Xcode: Add function to conditionally add Xcode Attributes
025edea0 Xcode: Add const qualifiers
2016-06-17 11:06:47 -04:00
Brad King e4cb7d7609 Merge topic 'link_what_you_use'
a0902efa Help: Add notes for topic 'link_what_you_use'
96242f80 Add options to run `ldd -u -r` as a "link-what-you-use" tool
2016-06-17 11:06:44 -04:00
Brad King 44f81be934 Merge topic 'CodeBlocks-generated-sources'
afd6cc6b CodeBlocks: Show generated files in non-utility targets
2016-06-17 11:06:40 -04:00
Brad King 9ef7ccdcf9 Merge topic 'CodeBlocks-include-order'
76b462ea cmExtraCodeBlocksGenerator: Do not shuffle include directories
2016-06-17 11:06:37 -04:00
Bill Hoffman 96242f8022 Add options to run `ldd -u -r` as a "link-what-you-use" tool
Create a LINK_WHAT_YOU_USE target property and corresponding
CMAKE_LINK_WHAT_YOU_USE variable to enable this behavior.
Extend link commands by running `ldd -u -r` to detect shared
libraries that are linked but not needed.
2016-06-17 10:56:40 -04:00
James Touton 27eb657d11 Xcode: Add support for mig files 2016-06-17 10:49:06 -04:00
James Touton 811f6c8252 Xcode: Add XCODE_FILE_ATTRIBUTES source file property
This adds values to the ATTRIBUTES list in PBXBuildFile settings.
2016-06-17 10:49:06 -04:00
James Touton ef494edf76 Xcode: Don't emit empty settings blocks. 2016-06-17 10:49:06 -04:00
Gregor Jasny 82ebbf683e Xcode: Add function to conditionally add Xcode Attributes 2016-06-17 10:49:05 -04:00
James Touton 025edea019 Xcode: Add const qualifiers 2016-06-17 10:49:05 -04:00
Tobias Hunger 76b462eacb cmExtraCodeBlocksGenerator: Do not shuffle include directories
Report include directories in a sensible order. Do not shuffle them
when trying to make them unique.
2016-06-17 10:37:29 -04:00
Brad King 78249be29d VS: Fix regressed mapping for the cl `/Os` compiler flag
In commit v3.6.0-rc1~279^2~10 (VS: in Clang/C2 toolset, setup correct
compiler settings, 2016-02-18) a flag mapping was added for the clang
`-Os` flag.  However, this collides with a mapping we already had for
the MSVC flag of the same name.  This is a symptom of a larger problem
in that the VS generators need a per-toolset flag map (issue #16153).

For now, simply drop the new mapping and drop `-Os` from clang compiler
flags in the MinSizeRel configuration.

Reported-by: Felix Bruns <felixbruns@gmail.com>
2016-06-17 10:18:47 -04:00
Kitware Robot d4283ca18b CMake Nightly Date Stamp 2016-06-17 00:01:07 -04:00
Enrico Bedau afd6cc6b92 CodeBlocks: Show generated files in non-utility targets
Since 2.6.3 the UTILITY target may have source files. A defect was filed
that these files are now visible in the source tree. A fix later removed
all generated files from the source tree, regardless of the target type.
You can't even include them by using the SOURCES option. This fix adds
generated files again, except for the UTILITY target which cluttered the
source tree.

Fixes #14272.
2016-06-16 09:55:29 -04:00
Brad King a854e1795f Merge topic 'cmOutputConverter-stringstream'
d645b03e cmOutputConverter: implement Shell__GetArgument using ostringstream
2016-06-16 09:46:56 -04:00
Brad King 0e523d0612 Merge topic 'cleanup-streams'
ed5fa48d cmXMLWriter: use ifstream from KWSys
24ab29b8 Prefer istringstream and ostringstream over stringstream.
ab8b77dd Remove redundant arguments from fstream constructors
eb79fa72 Access std::ios_base with std::ios
2016-06-16 09:46:54 -04:00
Brad King 290913fab8 Merge topic 'iwyu-preparation'
1c2c6297 cmTargetLinkLibraryType: Extract from cmStandardIncludes.h
ffdc0a8e cmTypeMacro: Extract from cmStandardIncludes.h
e4eb88e2 cmCustomCommandLines: Extract from cmStandardIncludes.h
535ec2bf cmDocumentationEntry: Extract from cmStandardIncludes
c3819aca cmConfigure.h: Establish as 'include first' file
2016-06-16 09:46:49 -04:00
Brad King 84c0fdb192 Merge topic 'clean-up-cmMakefile-IssueMessage'
5bbcf758 cmIfCommand: Don't rely on NestedError logic to issue messages
262ce91e cmMakefile: Extract invoke result variables
2016-06-16 09:46:47 -04:00
Brad King 2701b519b1 Merge topic 'clean-up-Parser'
905e738f Parser: Out-of-line conditional code to cmMakefile
0a9094cd Parser: Issue file open error messages through dedicated API
2016-06-16 09:46:44 -04:00
Brad King ce62454019 Merge topic 'find_package-duplicate-search-paths'
919db25c cmFindPackageCommand: remove duplicate paths from error message
ebf18df5 cmFindPackageCommand: use iterators to loop over configurations
2016-06-16 09:46:42 -04:00
Daniel Pfeifer 1c2c629769 cmTargetLinkLibraryType: Extract from cmStandardIncludes.h 2016-06-16 09:26:50 -04:00