Commit Graph

20900 Commits

Author SHA1 Message Date
Mariusz Pluciński 445d4d4bf4 VS 14: Add flag map for -std= to CppLanguageStandard tag in project files
This is used by the Clang/C2 toolset.
2016-03-10 09:11:40 -05:00
Mariusz Pluciński 2c2ec4883b VS: in Clang/C2 toolset, setup correct compiler settings 2016-03-10 09:11:39 -05:00
Kitware Robot af35bede1a CMake Nightly Date Stamp 2016-03-10 00:01:06 -05:00
Gregor Jasny 111cd67919 Xcode: ReRunCMake even if files disappeared (#15992) 2016-03-09 20:33:01 +01:00
Brad King b42866a34a Drop Visual Studio 6 generator
This generator has been deprecated since CMake 3.3.  Remove it.
Update documentation, modules, and tests to drop content specific
to this generator.
2016-03-09 09:42:18 -05:00
Brad King cd9ba3ec45 cmLocalVisualStudio7Generator: Fix name of helper function
Rename `cmLVS6G_IsFAT` to `cmLVS7G_IsFAT` since it is for the local
VS 7 generator and not VS 6.
2016-03-09 09:42:04 -05:00
Brad King fd466fe657 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-03-09 (36d8666f)
2016-03-09 09:10:55 -05:00
Brad King b19bc31277 Merge topic 'update-kwsys'
ea04ec09 Merge branch 'upstream-KWSys' into update-kwsys
4ba9b473 KWSys 2016-03-08 (6b60c184)
2016-03-09 08:50:06 -05:00
Kitware Robot 6b9dc804ee CMake Nightly Date Stamp 2016-03-09 00:01:06 -05:00
Brad King ea04ec09d8 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-03-08 (6b60c184)
2016-03-08 09:29:23 -05:00
Brad King b369959eb5 CMake 3.5.0 2016-03-08 08:44:49 -05:00
Brad King 7f1c9fae38 Merge topic 'ninja-osx-versions'
9e165a64 Ninja: Add OS X dylib versioning (#14140)
1f2b39c6 cmCommonTargetGenerator: Adopt AppendOSXVerFlag method
2016-03-08 08:39:40 -05:00
Brad King a6e6f93b6c Merge topic 'toolchain-file-project'
72e0dc58 Diagnose recursive project/enable_language without crashing (#15999)
2016-03-08 08:39:37 -05:00
Brad King 79e05af4a3 Merge topic 'vs14-debug-enum-older-toolsets'
3f15665a VS: Fix VS 2015 .vcxproj debug setting for v100 toolset (#15986)
2016-03-08 08:39:32 -05:00
Kitware Robot 1d1b72a20d CMake Nightly Date Stamp 2016-03-08 00:01:09 -05:00
Bruce Stephens 9e165a64ad Ninja: Add OS X dylib versioning (#14140)
Teach the Ninja generator to add the `-current_version` and the
`-compatibility_version` flags based on the VERSION and SOVERSION target
properties just as the Makefile generators do.

Signed-off-by: Bruce Stephens <bruce.r.stephens@gmail.com>
2016-03-07 15:03:21 -05:00
Bruce Stephens 1f2b39c6ce cmCommonTargetGenerator: Adopt AppendOSXVerFlag method
Move this method from cmMakefileLibraryTargetGenerator so it can be
re-used for the Ninja generator too.

Signed-off-by: Bruce Stephens <bruce.r.stephens@gmail.com>
2016-03-07 14:57:26 -05:00
Brad King 72e0dc58d3 Diagnose recursive project/enable_language without crashing (#15999)
Calling `project()` or `enable_language()` from a toolchain file will
infinitely recurse since those commands load the toolchain file.
Diagnose and reject this case with an error message instead of crashing
when the stack eventually overflows.
2016-03-07 13:52:38 -05:00
Brad King 15a4afe47a Merge branch 'vs14-debug-enum-older-toolsets' into release 2016-03-07 10:09:33 -05:00
Brad King 3aa6fea69c VS: Fix VS 2015 .vcxproj debug setting for older toolsets (#15986)
Since commit v3.4.2~2^2 (VS: Fix VS 2015 .vcxproj file value for
GenerateDebugInformation, 2016-01-08) we generate invalid project
files for the v110 and v120 toolsets.  VS complains:

    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(639,9):
    error MSB4030: "Debug" is an invalid value for the "GenerateDebugInformation" parameter of
    the "Link" task. The "GenerateDebugInformation" parameter is of type "System.Boolean".

This reveals that our VS flag map selection should be based on the
toolset instead of the version of VS.  However, that will be a
non-trivial change so for now fix this particular use case by
hard-coding a correction to the flag map.

Reported-by: Gregor Jasny <gjasny@googlemail.com>
2016-03-07 10:09:09 -05:00
Brad King 3f15665a45 VS: Fix VS 2015 .vcxproj debug setting for v100 toolset (#15986) 2016-03-07 10:07:39 -05:00
Brad King 9fcc8ff455 Merge topic 'vs-vcxproj-ConfigurationType'
6122909c VS: Add option to set `ConfigurationType` of a .vcxproj file
2016-03-07 10:02:40 -05:00
Kitware Robot 4debd8beb1 CMake Nightly Date Stamp 2016-03-07 00:01:05 -05:00
Kitware Robot 7cc8262823 CMake Nightly Date Stamp 2016-03-06 00:01:04 -05:00
Kitware Robot 1bf42fa9b9 CMake Nightly Date Stamp 2016-03-05 00:01:04 -05:00
Kitware Robot 831801671c CMake Nightly Date Stamp 2016-03-04 00:01:03 -05:00
Kitware Robot f37f422a7f CMake Nightly Date Stamp 2016-03-03 00:01:05 -05:00
Kitware Robot 8913ccca43 CMake Nightly Date Stamp 2016-03-02 00:01:05 -05:00
Kitware Robot 3cc22dffb7 CMake Nightly Date Stamp 2016-03-01 00:01:04 -05:00
Kitware Robot 26d615ad9f CMake Nightly Date Stamp 2016-02-29 00:01:04 -05:00
Kitware Robot b500c98c91 CMake Nightly Date Stamp 2016-02-28 00:01:03 -05:00
Kitware Robot 499be36a64 CMake Nightly Date Stamp 2016-02-27 00:01:04 -05:00
Fabian Otto 6122909c33 VS: Add option to set `ConfigurationType` of a .vcxproj file
Add a VS_CONFIGURATION_TYPE target property to set this value
explicitly.  This is useful to build a Windows Kernel Mode Driver,
for example.
2016-02-26 10:52:13 -05:00
Brad King 467f83d2e5 Merge topic 'fix_coverage_file_searching'
bc29ed54 CTest: Make coverage file selection more specific.
2016-02-26 10:31:30 -05:00
Brad King 79d4b5bec9 Merge topic 'try_compile-target-type'
7f1bd9fe try_compile: Add option to control type of target
2016-02-26 10:31:28 -05:00
Brad King cc7a1b1941 Merge topic 'file-download-status-hash-mismatch'
6c9586f9 file(DOWNLOAD): Fill STATUS variable on hash mismatch (#15987)
2016-02-26 10:31:24 -05:00
Kitware Robot 9f7a2328ac CMake Nightly Date Stamp 2016-02-26 00:01:05 -05:00
Joseph Snyder bc29ed542b CTest: Make coverage file selection more specific.
When performing some other testing, the globs for Blanket.js and Delphi
code coverage are picking up unintended files.  Change the query for the
Delphi coverage to follow the naming convention, and check the second line
of the found JSON files for certain text before parsing them as coverage files.
2016-02-25 13:01:37 -05:00
Brad King 6c9586f9c7 file(DOWNLOAD): Fill STATUS variable on hash mismatch (#15987)
Although we fail with an error on a hash mismatch, it is not a fatal
error so the script may continue processing.  If the download itself had
no error then report in the STATUS variable that the operation was not
successful due to the hash mismatch.

Suggested-by: Tobias Hieta <tobias@hieta.se>
2016-02-25 11:40:50 -05:00
Brad King f8af218ea1 Merge topic 'vs14-debug-enum-older-toolsets'
dc422d27 VS: Fix VS 2015 .vcxproj debug setting for older toolsets (#15986)
2016-02-25 09:00:27 -05:00
Brad King c842411dc5 Merge topic 'AddNewEclipseVersions'
aff38945 Eclipse: only add C/CXX macros if the language is enabled
6ee6b17e Eclipse: add newer version numbers
2016-02-25 09:00:24 -05:00
Kitware Robot 9b6fdbfb92 CMake Nightly Date Stamp 2016-02-25 00:01:08 -05:00
Alex Neundorf aff38945d6 Eclipse: only add C/CXX macros if the language is enabled
With this patch, the builtin macros and include dirs are only
added to the project file if the C/CXX langauges are really enabled.
I.e. before this patch the CXX-stuff was in the project file as soon
as CXX had been enabled at least once for this build tree.
I.e. disabling CXX later on did not remove the CXX macros etc.
from the project file (related to #15150)

Alex
2016-02-24 22:13:04 +01:00
Brad King dc422d271e VS: Fix VS 2015 .vcxproj debug setting for older toolsets (#15986)
Since commit v3.4.2~2^2 (VS: Fix VS 2015 .vcxproj file value for
GenerateDebugInformation, 2016-01-08) we generate invalid project
files for the v110 and v120 toolsets.  VS complains:

    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(639,9):
    error MSB4030: "Debug" is an invalid value for the "GenerateDebugInformation" parameter of
    the "Link" task. The "GenerateDebugInformation" parameter is of type "System.Boolean".

This reveals that our VS flag map selection should be based on the
toolset instead of the version of VS.  However, that will be a
non-trivial change so for now fix this particular use case by
hard-coding a correction to the flag map.

Reported-by: Gregor Jasny <gjasny@googlemail.com>
2016-02-24 12:29:50 -05:00
Brad King 2039bf40e4 Merge topic 'CodeBlocksParallelFlag'
84ccd4f7 CodeBlocks: generate parallel project files (make -j)
2016-02-24 09:39:25 -05:00
Brad King 99895f85b3 Merge topic 'xcode-refactor-xcodeobject'
b860a925 Xcode: Refactor block writes to allow any level of nesting
2016-02-24 09:39:22 -05:00
Brad King 2186cff370 Merge topic 'xcode-remove-reftype'
572797f9 Xcode: Write refType only for Xcode 1.5
2016-02-24 09:39:20 -05:00
Brad King 0f48312386 Merge topic 'update-kwsys'
d010ba9f Merge branch 'upstream-KWSys' into update-kwsys
a132064b KWSys 2016-02-22 (4847aedd)
2016-02-24 09:39:18 -05:00
Brad King be98577f13 Merge topic 'revert-automoc-src-per-dir'
091b649e Revert "Automoc: Fix support of files with the same name (#12873)"
2016-02-24 09:39:08 -05:00
Robert Goulet b860a92582 Xcode: Refactor block writes to allow any level of nesting
Reviewed-by: Gregor Jasny <gjasny@googlemail.com>
2016-02-24 09:36:54 -05:00
Gregor Jasny 572797f984 Xcode: Write refType only for Xcode 1.5
This field is not expected by newer versions.
2016-02-24 09:35:54 -05:00
Kitware Robot 3dd42fe4eb CMake Nightly Date Stamp 2016-02-24 00:01:05 -05:00
Alex Neundorf 84ccd4f746 CodeBlocks: generate parallel project files (make -j)
This is done the same way as for Eclipse: cmake tries to determine
the number of CPUs, and then adds the respective -jN to the make
invocations in the project file.

Alex
2016-02-23 22:37:44 +01:00
Kitware Robot f389e6d6e2 CMake Nightly Date Stamp 2016-02-23 00:01:05 -05:00
Brad King d010ba9fa7 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-02-22 (4847aedd)
2016-02-22 09:03:40 -05:00
Kitware Robot df246f7c7f CMake Nightly Date Stamp 2016-02-22 00:01:03 -05:00
Kitware Robot 7e32bd945a CMake Nightly Date Stamp 2016-02-21 00:01:03 -05:00
Kitware Robot 6872a4fde0 CMake Nightly Date Stamp 2016-02-20 00:01:05 -05:00
Brad King 7f1bd9fe69 try_compile: Add option to control type of target
Create a `CMAKE_TRY_COMPILE_TARGET_TYPE` option to specify use
of `add_library(... STATIC ...)` for the generated test project.
This will be useful for cross-compiling toolchains that cannot
link a binary without custom flags or scripts.
2016-02-19 14:07:38 -05:00
Brad King 39a80a1feb Merge topic 'reduce-entropy-consumption'
f23f18ab cmSystemTools: Avoid excess entropy consumption by RandomSeed (#15976)
b13a74b3 cmSystemTools: Remove unused include <fcntl.h>
2016-02-19 09:47:41 -05:00
Brad King c387325d4a Merge topic 'unix-timestamps'
6727270b CMake: Extend TIMESTAMP sub-commands with new unix time format specifier
2016-02-19 09:47:39 -05:00
Brad King 3e3a12a4ab Merge topic 'fix-CPACK_INSTALL_CMAKE_PROJECTS-subdirectory'
26fdd9c3 CPack: Fix CPACK_INSTALL_CMAKE_PROJECTS SubDirectory (4th) option
2016-02-19 09:47:36 -05:00
Cristian Rodríguez f23f18ab68 cmSystemTools: Avoid excess entropy consumption by RandomSeed (#15976)
Read `/dev/urandom` without buffering to avoid taking more than we need.
2016-02-19 09:44:59 -05:00
Brad King b13a74b35b cmSystemTools: Remove unused include <fcntl.h>
We do not seem to need this header anymore, and including it on AIX
causes `#define open open64` which breaks `std::ifstream::open` calls.
2016-02-19 09:44:59 -05:00
Brad King 091b649e19 Revert "Automoc: Fix support of files with the same name (#12873)"
This reverts commit 9beb2744d7.
Our AUTOMOC documentation states that it should be possible to
`#include "moc_foo.cpp"` in `foo.cpp`, and this will not work if
the file is placed in a different directory.  Another solution
will need to be found to the original problem.

Reported-by: Stephen Kelly <steveire@gmail.com>
2016-02-19 08:59:17 -05:00
Kitware Robot 29c266eb56 CMake Nightly Date Stamp 2016-02-19 00:01:05 -05:00
Brad King d203761520 CMake 3.5.0-rc3 2016-02-18 10:41:26 -05:00
Jose-Luis Blanco-Claraco 6727270b75 CMake: Extend TIMESTAMP sub-commands with new unix time format specifier
The new `%s` format specifier is substituted by file()/string()
`TIMESTAMP` sub-commands with the number of seconds since unix-epoch
(1970-01-01 00:00:00 UTC).

Co-Author: Nils Gladitz <nilsgladitz@gmail.com>
2016-02-18 10:30:13 -05:00
Brad King 2321e63734 Merge topic 'fix-static-private-non-target-depends'
87f44b75 Fix export of STATIC library PRIVATE non-target dependencies
2016-02-18 10:08:01 -05:00
Brad King 135a0df525 Merge topic 'automoc-src-per-dir'
9beb2744 Automoc: Fix support of files with the same name (#12873)
2016-02-18 10:07:56 -05:00
Daniel Wirtz 26fdd9c30a CPack: Fix CPACK_INSTALL_CMAKE_PROJECTS SubDirectory (4th) option 2016-02-18 09:37:59 -05:00
Kitware Robot ede2a6ea6b CMake Nightly Date Stamp 2016-02-18 00:01:04 -05:00
Brad King ef10f5259a Merge branch 'fix-static-private-non-target-depends' into release 2016-02-17 14:03:11 -05:00
Brad King 87f44b7525 Fix export of STATIC library PRIVATE non-target dependencies
In commit v3.5.0-rc1~43^2 (Fix export of STATIC library PRIVATE
dependencies with CMP0022 NEW, 2016-01-15) we taught
target_link_libraries to generate `$<LINK_ONLY:$<TARGET_NAME:dep>>` in
INTERFACE_LINK_LIBRARIES instead of `$<LINK_ONLY:dep>` so that `dep` can
be recognized as a target name and updated during export.  However, this
approach does not work when `dep` is just a plain library name and not a
target because `$<TARGET_NAME:...>` requires the name of a reachable
target.

Since we do not know during target_link_libraries whether the name will
correspond to a reachable target or not, we cannot inject the
`$<TARGET_NAME:...>` expression.  Revert this change and solve the
original problem instead by teaching the export logic to recognize and
update target names directly in `$<LINK_ONLY:...>` expressions.

Reported-by: Ben Boeckel <ben.boeckel@kitware.com>
2016-02-17 14:01:11 -05:00
Brad King 445a37fc51 Merge topic 'CodeBlocks-more-compilers'
184da3f4 CodeBlocks: improve support for different compilers
2016-02-17 10:25:26 -05:00
Kitware Robot 4468e083f4 CMake Nightly Date Stamp 2016-02-17 00:01:05 -05:00
Mariusz Pluciński 9beb2744d7 Automoc: Fix support of files with the same name (#12873) 2016-02-16 10:45:19 -05:00
Melven Roehrig-Zoellner 184da3f4f6 CodeBlocks: improve support for different compilers
More elaborate selection of the `compiler` tag in the generated
CodeBlocks project file:

* Fortran language support

* support for several of the predefined compilers recognized by
  CodeBlocks (16.01)
2016-02-16 10:18:38 -05:00
Brad King a64fa04b4b Merge topic 'cmake-gui-reset-generator'
da490e11 cmake-gui: Fix cmState initialization when changing generators (#15959)
2016-02-16 09:52:36 -05:00
Brad King e0a3009cda Merge topic 'fix-cmake_parse_arguments-expansion'
c8c45a2c cmake_parse_arguments: Restore ;-list argument flattening
2016-02-16 09:52:34 -05:00
Brad King c0a0c7d3f2 Merge topic 'ninja-deterministic-gen'
46fa9583 Ninja: Fix non-determinism in generated target dependency order (#15968)
2016-02-16 09:52:25 -05:00
Kitware Robot 28126b8927 CMake Nightly Date Stamp 2016-02-16 00:01:03 -05:00
Kitware Robot f03cb192e9 CMake Nightly Date Stamp 2016-02-15 00:01:04 -05:00
Kitware Robot 7534a4d567 CMake Nightly Date Stamp 2016-02-14 00:01:03 -05:00
Kitware Robot dec7d5c4de CMake Nightly Date Stamp 2016-02-13 00:01:09 -05:00
Brad King 229a5bc903 Merge branch 'fix-cmake_parse_arguments-expansion' into release 2016-02-12 11:25:36 -05:00
Dimitar Yordanov c8c45a2c4e cmake_parse_arguments: Restore ;-list argument flattening
The re-implementation in commit v3.5.0-rc1~116^2~1 (CMakeParseArguments:
replace by native cmake_parse_arguments command, 2015-12-05) introduced
a regression when parsing the ARGN arguments with cmake_parse_arguments.
The original implementation used

    foreach(currentArg ${ARGN})

to iterate over input arguments.  This flattened ;-lists within the
arguments whether they were quoted or not.  Fix our new implementation
to preserve this behavior and add a test case to cover it.

Signed-off-by: Dimitar Yordanov <dimitar.yordanov@sap.com>
Signed-off-by: Matthias Maennich <matthias.maennich@sap.com>
2016-02-12 11:19:40 -05:00
Brad King 2410a20ebb Merge branch 'cmake-gui-reset-generator' into release 2016-02-12 10:22:31 -05:00
Brad King da490e1159 cmake-gui: Fix cmState initialization when changing generators (#15959)
Refactoring in commit v3.3.0-rc1~29^2~1 (cmState: Host some state from
the cmGlobalGenerator, 2015-05-24) moved storage of some generator
traits over to cmState.  However, it accidentally removed initialization
of the values from the cmGlobalGenerator constructor.  This is needed
because generator subclasses update the settings in their constructors.
Since a single cmState instance is shared across multiple build trees by
cmake-gui, initializing the values in its constructor is not enough.
Fix this by restoring the needed initializations to the
cmGlobalGenerator constructor.
2016-02-12 10:21:00 -05:00
Brad King 1c8dadd914 Merge topic 'fix-warnings'
e1ea1df0 cmListFileCache: Fix warning about inconsistent use of class/struct
2016-02-12 09:03:52 -05:00
Brad King 46fa958362 Ninja: Fix non-determinism in generated target dependency order (#15968)
We represent target dependency sets as `set<cmTargetDepend>` which
orders by a `cmGeneratorTarget const*` pointer value.  Therefore the
order of dependencies encountered in AppendTargetDepends is not
predictable.  Sort them by content to make the result deterministic.
2016-02-12 08:51:58 -05:00
Kitware Robot 3fd326695f CMake Nightly Date Stamp 2016-02-12 00:01:04 -05:00
Tobias Hunger e1ea1df07e cmListFileCache: Fix warning about inconsistent use of class/struct
Exposed by Clang trunk.
2016-02-11 13:38:02 -05:00
Brad King 53108f8008 Merge topic 'ninja-deterministic-gen'
59ade844 Ninja: Fix non-determinism in generated build statement order (#15968)
2016-02-11 10:41:18 -05:00
Brad King 59ade844ef Ninja: Fix non-determinism in generated build statement order (#15968)
Generate custom command build statements in the order we encounter
source files specifying them.  Do not depend on pointer values of
internally allocated structures for ordering.
2016-02-11 08:53:37 -05:00
Kitware Robot d83abbf9e3 CMake Nightly Date Stamp 2016-02-11 00:01:04 -05:00
Brad King 8d1b37a2b2 CMake 3.5.0-rc2 2016-02-10 09:23:57 -05:00
Brad King 7540deb185 Merge topic 'curl-pre-7.21.5'
1ea55acf cmCurl: Fix compilation with system curl versions prior to 7.21.5
2016-02-10 08:49:30 -05:00
Kitware Robot 0def7e6e70 CMake Nightly Date Stamp 2016-02-10 00:01:05 -05:00
Brad King b162dd9ea0 Merge branch 'curl-pre-7.21.5' into release 2016-02-09 13:26:50 -05:00
Brad King 1ea55acf8a cmCurl: Fix compilation with system curl versions prior to 7.21.5
This version introduced CURLE_NOT_BUILT_IN which we have used since
commit v3.4.0-rc1~211^2~4 (cmCurl: Tolerate lack of CURLOPT_CAPATH
support, 2015-08-12).  For older versions, just define the name to the
then-unused error code so that we can compile.
2016-02-09 13:24:19 -05:00
Brad King a887c7f1fd Merge topic 'fix-target-lookup-performance-regression'
9b7d5871 Improve internal generator target structure lookup
6cbf6a51 Fix internal target lookup performance regression
2016-02-09 10:10:23 -05:00
Brad King 3b8c0fbfd7 Merge topic 'install-EXCLUDE_FROM_ALL'
586e56d0 Help: Add notes for topic 'install-EXCLUDE_FROM_ALL'
d321c196 Tests: Add cases for install() command EXCLUDE_FROM_ALL option
18ce97c4 install: Add EXCLUDE_FROM_ALL option (#14921)
2016-02-09 10:10:15 -05:00
Brad King e509c0e6d4 Merge topic 'fix-install-EXPORT-crash'
a1ad098d Tests: Avoid OS X 10.5 limitation warning in RunCMake.install test
47460f3e install(EXPORT): Fix crash on target in another directory
e86383e1 Tests: Use newer policy settings in RunCMake.install test
2016-02-09 10:10:09 -05:00
Kitware Robot 41c38ee7cd CMake Nightly Date Stamp 2016-02-09 00:01:05 -05:00
Brad King 0570b4e4ea Merge branch 'fix-target-lookup-performance-regression' into release 2016-02-08 13:23:45 -05:00
Brad King 9b7d5871b8 Improve internal generator target structure lookup
In commit v3.5.0-rc1~272^2~6 (cmGlobalGenerator: Add FindGeneratorTarget
API, 2015-10-25) a lookup was implemented via linear search.  Replace it
with an efficient data structure.

Suggested-by: Stephen Kelly <steveire@gmail.com>
2016-02-08 13:08:11 -05:00
Brad King 6cbf6a5197 Fix internal target lookup performance regression
Refactoring in commit v3.5.0-rc1~272^2~13 (cmGlobalGenerator: Remove
direct storage of targets, 2015-10-25) replaced an efficient data
structure mapping from target name to cmTarget instance with a linear
search.  Lookups through cmGlobalGenerator::FindTarget are done a lot.
Restore the efficient mapping structure with a name indicating its
purpose.

Reported-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2016-02-08 13:08:11 -05:00
Brad King 656bf0da2c Merge branch 'fix-install-EXPORT-crash' into release 2016-02-08 10:46:42 -05:00
Brad King cb409699a4 Merge branch 'fix-Fortran-module-in-subdir' into release 2016-02-08 10:35:30 -05:00
Brad King a7e2021fea Merge topic 'fix-Fortran-module-in-subdir'
c5eb21b6 Fix dependency scanning configuration in subdirectories
2016-02-08 10:33:04 -05:00
Brad King 5643088bb1 Merge topic 'fix-pedantic-warnings'
58a4a771 Make cmLinkInterface:: and cmGeneratorTarget::Multiplicity unsigned ints
2016-02-08 10:32:57 -05:00
Brad King 08e5362004 Merge topic 'error-multiple-targets'
497cad7c cmake: Teach --build to reject multiple --target options
886acd80 Help: Fix reference to `cmake --build` in cmake(1) manual
2016-02-08 10:32:55 -05:00
Kitware Robot ccb2a26095 CMake Nightly Date Stamp 2016-02-08 00:01:05 -05:00
Kitware Robot c8100794b4 CMake Nightly Date Stamp 2016-02-07 00:01:03 -05:00
Kitware Robot d276b6e997 CMake Nightly Date Stamp 2016-02-06 00:01:04 -05:00
Sebastian Schuberth 497cad7c88 cmake: Teach --build to reject multiple --target options
Previously we did not clearly document that `--target` is only supported
to be specified once.  Even worse, specifying it multiple times would
silently ignore any previously specified targets and only build the last
target.

Update the documentation to specify this.  Update the implementation to
reject multiple `--target` options to prevent user errors.
2016-02-05 11:48:16 -05:00
Brad King 47460f3e15 install(EXPORT): Fix crash on target in another directory
Refactoring merged by commit v3.5.0-rc1~299 (Merge topic
'use-generator-target', 2015-10-20) in and around
commit v3.5.0-rc1~299^2~13 (cmExportSet: Store a cmGeneratorTarget,
2015-10-17) changed export sets to delay looking up actual targets and
stores only their names.  However, in InstallCommand::HandleExportMode
we need to lookup targets immediately to check them for
EXPORT_LINK_INTERFACE_LIBRARIES.  The check was accidentally made local
to the current directory, so if an export set contains a target from
another directory the lookup fails and CMake crashes.  Fix the check to
look up the target name globally, and tolerate when no target is found
just in case.

Reported-by: Kelly Thompson <kgt@lanl.gov>
2016-02-05 09:45:16 -05:00
Brad King c5eb21b6d1 Fix dependency scanning configuration in subdirectories
Refactoring in commit v3.5.0-rc1~347^2~2 (Set the current dirs on the
snapshot before creating the cmMakefile) accidentally changed the
source and binary directories configured in `cmake -E cmake_depends`
for use during dependency scanning.  This can cause the wrong directory
information to be loaded.  It also breaks Fortran module dependency
scanning for modules provided by targets in subdirectories that do
not have Fortran_MODULE_DIRECTORY set.

Fix the dependency scanning directory configuration and add a test to
cover the Fortran module case in which the breakage was observed.

Reported-by: Kelly Thompson <kgt@lanl.gov>
2016-02-05 09:26:44 -05:00
Kitware Robot 5ee00b71e9 CMake Nightly Date Stamp 2016-02-05 00:01:04 -05:00
Christoph Grüninger 58a4a77132 Make cmLinkInterface:: and cmGeneratorTarget::Multiplicity unsigned ints 2016-02-04 10:57:02 -05:00
Brad King 7b1fbcc4b0 Merge topic 'list-FILTER-command'
0205f882 list: Add FILTER subcommand (#3986)
2016-02-04 10:53:14 -05:00
Nick Lewis 18ce97c4a2 install: Add EXCLUDE_FROM_ALL option (#14921)
Let us take an example of a project that has some tests in a component
that need to be installed into a dedicated test package.  The user
expectation is that the result could be achieved by typing the
following:

    make
    make tests
    make install
    DESTDIR=/testpkgs make install-tests

However this results in test components in the default installation as
well as the testpkg.

Add an EXCLUDE_FROM_ALL option to the install() command to tell it that
the installation rule should not be included unless its component is
explicitly specified for installation.
2016-02-04 09:16:56 -05:00
Kitware Robot bfd1b3aaba CMake Nightly Date Stamp 2016-02-04 00:01:04 -05:00
Ashley Whetter 0205f882ae list: Add FILTER subcommand (#3986)
Create a `list(FILTER)` command to filter lists by regular expression.
2016-02-03 11:13:17 -05:00
Kitware Robot a58abc69c2 CMake Nightly Date Stamp 2016-02-03 00:01:03 -05:00
Brad King c84dfa7457 Begin post-3.5 development 2016-02-02 08:40:37 -05:00
Brad King 8a8d22cf1e CMake 3.5.0-rc1 version update 2016-02-02 08:37:05 -05:00
Brad King 570e84b44b Merge topic 'remove-stray-semicolon'
ccb2d5c0 cmAlgorithms.h: remove superfluous semicolon after method
2016-02-02 08:33:23 -05:00
Brad King f8e5e5bb03 Merge topic 'fix-CMAKE_MATCH-self-match'
6ffc4323 cmConditionEvaluator: Fix matching of `CMAKE_MATCH_*` values (#15944)
2016-02-02 08:33:20 -05:00
Kitware Robot 6a230df636 CMake Nightly Date Stamp 2016-02-02 00:01:05 -05:00
Christoph Grüninger ccb2d5c07f cmAlgorithms.h: remove superfluous semicolon after method 2016-02-01 10:47:25 -05:00
Brad King c022b6f686 Merge topic 'clarify-add_custom_command-TARGET-scope'
d257d681 add_custom_command: Clarify error when TARGET is out of scope (#15681)
4d53e0a7 Help: Clarify `add_custom_command(TARGET)` scope (#15681)
8c615af4 Help: Clarify policy `CMP0040` documentation (#15681)
63c5808f Help: Clarify scope of `if(TARGET)` expression
a336e438 Help: Improve markup in `if` command documentation
88968265 Help: Improve markup in `get_target_property` documentation
2016-02-01 10:43:51 -05:00
Brad King 6ffc432367 cmConditionEvaluator: Fix matching of `CMAKE_MATCH_*` values (#15944)
While evaluating `if(MATCHES)` we get a `const char*` pointer to the
string to be matched.  On code like

    if(CMAKE_MATCH_COUNT MATCHES "Y")

the string to be matched may be owned by our own result variables.
We must move the value to our own buffer before clearing them.
Otherwise we risk reading freed storage.
2016-02-01 10:05:10 -05:00
Kitware Robot e18d0df5ed CMake Nightly Date Stamp 2016-02-01 00:01:03 -05:00
Kitware Robot 13b4ef24e1 CMake Nightly Date Stamp 2016-01-31 00:01:03 -05:00
Kitware Robot f270404a3d CMake Nightly Date Stamp 2016-01-30 00:01:03 -05:00
Kitware Robot 76a51dfab8 CMake Nightly Date Stamp 2016-01-29 00:01:04 -05:00
Brad King d257d68138 add_custom_command: Clarify error when TARGET is out of scope (#15681)
The add_custom_command(TARGET) signature only works for targets defined
in the current directory.  Clarify this in the error message when the
target exists but was defined elsewhere.

Inspired-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2016-01-28 10:33:26 -05:00
Kitware Robot 5335d27552 CMake Nightly Date Stamp 2016-01-28 00:01:04 -05:00
Kitware Robot 30e294f68f CMake Nightly Date Stamp 2016-01-27 00:01:03 -05:00
Kitware Robot e7eab0ec40 CMake Nightly Date Stamp 2016-01-26 00:01:13 -05:00
Brad King 0586f1798e Merge topic 'vs-win10-sdk'
d7e863c1 VS: Do not fail on Windows 10 with VS 2015 if no SDK is available (#15929)
2016-01-25 09:47:11 -05:00
Kitware Robot b9dadca90b CMake Nightly Date Stamp 2016-01-25 00:01:03 -05:00
Kitware Robot 490483b947 CMake Nightly Date Stamp 2016-01-24 00:01:03 -05:00
Kitware Robot 4a3fa1e8a0 CMake Nightly Date Stamp 2016-01-23 00:01:04 -05:00
Brad King dcf977ea1a Merge topic 'fix-use-generator-target'
7dbfdddf cmExportInstallFileGenerator: Fix crash in FindNamespaces
2016-01-22 09:25:30 -05:00
Kitware Robot f81ccc5753 CMake Nightly Date Stamp 2016-01-22 00:01:03 -05:00
Brad King 3e7794a2e6 Merge topic 'reduce-allocations'
70788e92 Remove temporary allocations when calling cmHasLiteral{Suf,Pre}fix.
bd2384f5 Optimize cmMakefile::ExpandVariablesInStringNew.
ad9394f4 Remove temporary allocations in cmMacroHelper::InvokeInitialPass.
f9599ed4 Remove temporary allocations by extending the lifetime of the retval.
275f2a85 Remove temporary allocations when calling cmGeneratorTarget::GetName.
2016-01-21 13:55:53 -05:00
Brad King 563a6c7be0 Merge topic 'cmake-E-time-quoting'
1787269e cmake: Fix `-E time` argument passing to child
2016-01-21 13:55:47 -05:00
Brad King d7e863c1c1 VS: Do not fail on Windows 10 with VS 2015 if no SDK is available (#15929)
Since commit v3.4.0-rc1~5^2~1 (VS: Add support for selecting the Windows
10 SDK, 2015-09-30) the VS 2015 generator requires a Windows 10 SDK to
be available when CMAKE_SYSTEM_VERSION specifies Windows 10 (e.g.  when
building on a Windows 10 host).  Howewver, it is possible to install VS
2015 without any Windows 10 SDK.  Instead of failing with an error
message about the lack of a Windows 10 SDK, simply tolerate this case
and use the default Windows 8.1 SDK.  Since building for Windows Store
still requires the SDK, retain the diagnostic in that case.
2016-01-21 11:50:28 -05:00
Andrey Pokrovskiy 7dbfdddf33 cmExportInstallFileGenerator: Fix crash in FindNamespaces
Refactoring merged by commit 9afbb733ec (Merge topic
'use-generator-target', 2015-10-20) in and around commit 381e7afd
(cmExportSet: Store a cmGeneratorTarget, 2015-10-17) forgot to update
one place in this method.  This leads to a crash in code such as

  add_library(A a.c)
  add_library(B b.c)
  target_link_libraries(B A)
  install(TARGETS B DESTINATION lib EXPORT ExpB)
  install(EXPORT ExpB DESTINATION lib/cmake/test)
  add_executable(C c.c)
  install(TARGETS C DESTINATION bin EXPORT ExpC)

Fix the target name reference to avoid using an unpopulated Target
pointer.
2016-01-21 10:53:30 -05:00
Kitware Robot 750ae8d5a8 CMake Nightly Date Stamp 2016-01-21 00:01:04 -05:00
Milian Wolff 70788e9264 Remove temporary allocations when calling cmHasLiteral{Suf,Pre}fix.
When the first argument passed is a std::string, we need to take it
by const&, otherwise we copy the string and trigger a temporary
allocation. This patch removes a few 10k temporary allocations when
running the CMake daemon on the KDevelop build dir.

This hotspot was found with heaptrack.
2016-01-20 21:20:55 +01:00
Milian Wolff bd2384f593 Optimize cmMakefile::ExpandVariablesInStringNew.
We can remove the temporary allocations required for the
default-constructed t_lookup passed into the openstack by refactoring
the code slightly. Furthermore, we use a vector instead of a stack,
since the latter is based on a deque which is not required for a
heap / lifo structure.

This patch removes ~215k allocations.

This hotspot was found with heaptrack.
2016-01-20 21:20:55 +01:00
Milian Wolff ad9394f4fd Remove temporary allocations in cmMacroHelper::InvokeInitialPass.
This code used to convert std::string's to raw C strings only to
put that back into a std::string. This patch thus removes ~70k
temporary allocations when running the CMake daemon on KDevelop.

This hotspot was found with heaptrack.
2016-01-20 21:20:55 +01:00
Milian Wolff f9599ed42f Remove temporary allocations by extending the lifetime of the retval.
See also Herb Sutter's article on the "most important const":
http://herbsutter.com/2008/01/01/gotw-88-a-candidate-for-the-most-important-const/

When running the CMake daemon on the KDevelop build dir, this removes
some hundreds of thousands of temporary allocations.

This hotspot was found with heaptrack.
2016-01-20 21:20:55 +01:00
Milian Wolff 275f2a85b2 Remove temporary allocations when calling cmGeneratorTarget::GetName.
This happens quite often from within comparisons such as in
NamedGeneratorTargetFinder or FindGeneratorTargetImpl. It is the
top hotspot of both, number of allocations as well as number of
temporary allocations - the majority of calls lead to temporary
allocations.

In raw numbers, this patch removes ~1E6 temporary allocations of
1.5E6 temporary allocations in total when running the cmake daemon
on the KDevelop build dir. That is 2/3 of the total.

This hotspot was found with heaptrack.
2016-01-20 21:20:54 +01:00
Brad King 1787269ef3 cmake: Fix `-E time` argument passing to child
Since this command was introduced in 2002 it has incorrectly constructed
the child process command line by concatenating arguments separated by
spaces with no quoting.  Fix this by passing the command argument vector
directly to RunSingleCommand without an intermediate quoting and
re-parsing step.

Reported-by: Andrey Pokrovskiy <wonder.mice@gmail.com>
2016-01-20 08:55:23 -05:00
Brad King d8bced813c Merge topic 'cleanup-RunSingleCommand'
1040e690 cmSystemTools: Teach RunSingleCommand to merge child pipes when possible
ce3b713b cmSystemTools: Simplify RunSingleCommand output string construction
dc039cc0 cmSystemTools: Drop redundant condition in RunSingleCommand
ffa2a8c9 cmSystemTools: Rename OUTPUT_NORMAL to OUTPUT_FORWARD to clarify its purpose
92e9bb21 cmcmd.cxx: Remove unused code in __run_iwyu implementation
fb1526f5 cmake: Change `-E chdir` to pass through stdout/stderr directly
2016-01-20 08:33:41 -05:00
Brad King ae5f30b36a Merge topic 'mfc-utility-targets'
a15e375c Fix MFC setting on utility targets (#15867)
2016-01-20 08:33:38 -05:00
Brad King 184be68580 Merge topic 'cache-parse-error-line-number'
77cd74a3 Print line number of cache parse errors (#11109)
2016-01-20 08:33:35 -05:00
Kitware Robot 15fe480bf0 CMake Nightly Date Stamp 2016-01-20 00:01:12 -05:00
Clinton Stimpson a15e375cdd Fix MFC setting on utility targets (#15867)
Multi-byte MFC is deprecated, and some projects will not compile if MFC is enabled.
2016-01-19 14:04:15 -07:00
Brad King 1040e690c6 cmSystemTools: Teach RunSingleCommand to merge child pipes when possible
Audit the code to make sure there are no callers that use OUTPUT_MERGE
with separate capture strings.  Then change RunSingleCommand to
implement output merging by giving the child process a single pipe for
both its stdout and stderr descriptors.  This will more cleanly merge
the content on atomic write boundaries in the child instead of on
arbitrary buffering boundaries in the parent.
2016-01-19 15:55:05 -05:00
Brad King ce3b713baa cmSystemTools: Simplify RunSingleCommand output string construction
Assign to the result strings instead setting to empty and appending.
The old approach was left from when we directly buffered output in
the strings.
2016-01-19 15:51:00 -05:00
Brad King dc039cc02c cmSystemTools: Drop redundant condition in RunSingleCommand
The output processing loop is already guarded by a condition so we do
not need to repeat the condition inside the loop.
2016-01-19 15:49:48 -05:00
Brad King ffa2a8c967 cmSystemTools: Rename OUTPUT_NORMAL to OUTPUT_FORWARD to clarify its purpose
The OUTPUT_NORMAL value is not really "normal" and has only one caller.
Rename it to OUTPUT_FORWARD to clarify that we are explicitly forwarding
the output.
2016-01-19 15:47:48 -05:00
Brad King 92e9bb2175 cmcmd.cxx: Remove unused code in __run_iwyu implementation
Do not try to capture stderr with OUTPUT_PASSTHROUGH.  RunSingleCommand
will never populate it.
2016-01-19 15:46:15 -05:00
Brad King fb1526f57f cmake: Change `-E chdir` to pass through stdout/stderr directly
Use OUTPUT_PASSTHROUGH instead of OUTPUT_NORMAL in order to avoid
buffering the output just to re-print it.
2016-01-19 15:44:30 -05:00
Ashley Whetter 77cd74a3ea Print line number of cache parse errors (#11109)
Track the line number while parsing `CMakeCache.txt` files and include
it in a parse failure error message.
2016-01-19 10:19:42 -05:00
Brad King 249aac71d0 Merge topic 'export-static-private-depend'
aea1b036 Fix export of STATIC library PRIVATE dependencies with CMP0022 NEW
e5cbec14 Tests: Use CMP0022 NEW behavior in some ExportImport cases
0ca122fc Tests: Isolate policy changes in ExportImport test
2016-01-19 09:35:46 -05:00
Brad King caf4985346 Merge topic 'rpath-preserve-compiler-defined'
3ec92267 install: Do not remove compiler-defined RPATH entries
2016-01-19 09:35:33 -05:00
Kitware Robot 5079cc1243 CMake Nightly Date Stamp 2016-01-19 00:01:07 -05:00
Kitware Robot 03c0303d2e CMake Nightly Date Stamp 2016-01-18 00:01:06 -05:00
Kitware Robot 27410a9c62 CMake Nightly Date Stamp 2016-01-17 00:01:07 -05:00
Kitware Robot 66942a764c CMake Nightly Date Stamp 2016-01-16 00:01:07 -05:00
Lior Goldberg 3ec9226779 install: Do not remove compiler-defined RPATH entries
Some compilers may add their own RPATH entries when invoking the linker.
For example, a GCC installation may contain the following definition in
the specs file:

  *link_libgcc:
  %D -rpath <<some specific rpath in which libstdc++.so can be found>>

In this case binaries may contain RPATH entries that CMake did not add.
When we update the RPATH on installation we must preserve these entries
even if CMake thinks the INSTALL_RPATH value should be empty.

Fix this by always using file(RPATH_CHANGE) and teach it to behave as
file(RPATH_REMOVE) if the actual RPATH in the file is empty after
replacing the build-tree RPATH with the install-tree RPATH.  This will
preserve any compiler-added RPATH value instead of removing it.
2016-01-15 14:53:24 -05:00
Brad King aea1b03617 Fix export of STATIC library PRIVATE dependencies with CMP0022 NEW
The target_link_libraries command records the PRIVATE dependencies of a
STATIC library in INTERFACE_LINK_LIBRARIES as "$<LINK_ONLY:dep>".  This
hides the target name from export namespacing logic inside a generator
expression.  When user-written generator expressions reference a target
name they must put it inside a "$<TARGET_NAME:dep>" expression to allow
the export logic to rename the target.  In the case that the private
dependency is not already a generator expression, target_link_libraries
must use "$<LINK_ONLY:$<TARGET_NAME:dep>>" to allow the export logic to
rename the target.

Reported-by: Tamás Kenéz <tamas.kenez@gmail.com>
2016-01-15 10:18:53 -05:00
Kitware Robot b8d002af1a CMake Nightly Date Stamp 2016-01-15 00:01:07 -05:00
Brad King f3fd50ad4b Merge topic 'report_failed_tests'
a7393cbd ctest_test: Report which tests failed even when QUIET is used
2016-01-14 11:42:26 -05:00
Brad King 9cf6388698 Merge topic 'install-DIRECTORY-genex'
630c8aa8 install: Allow generator expressions in DIRECTORY
2016-01-14 11:42:20 -05:00
Kitware Robot 6be2dedaed CMake Nightly Date Stamp 2016-01-14 00:01:07 -05:00
Zack Galbreath a7393cbd40 ctest_test: Report which tests failed even when QUIET is used
Since commit v3.3.0-rc1~410^2~3 (ctest_test: Add QUIET option,
2015-02-17) if tests fail when QUIET is used one sees:

  The following tests FAILED:

but not the subsequent line(s) indicating which tests failed.
Restore the list of failed tests.
2016-01-13 10:32:24 -05:00
Brad King 05ab4b7c66 Merge topic 'vs-debug-fastlink'
fc5d6592 VS: Map link `/debug:fastlink` flag to VS 2015 IDE property (#15894)
2016-01-13 09:33:21 -05:00
Brad King 59dac28856 Merge topic 'cmake-W-options'
82166701 cmake-gui: Add options to control warning-as-error messages
28f2d750 Add -Werror and -Wno-error command-line options
2016-01-13 09:33:18 -05:00
Brad King ef3202fb98 Merge topic 'update-kwsys'
33cafa68 Merge branch 'upstream-KWSys' into update-kwsys
ffcc235c KWSys 2016-01-11 (bc07fbf7)
2016-01-13 09:33:13 -05:00
Yves Frederix 630c8aa843 install: Allow generator expressions in DIRECTORY
Teach install(DIRECTORY) to support generator expressions in the list
of directories, much like install(FILES) already supports.
2016-01-13 09:02:06 -05:00
Kitware Robot 39b7954d4d CMake Nightly Date Stamp 2016-01-13 00:01:10 -05:00
Michael Scott 821667018c cmake-gui: Add options to control warning-as-error messages
Add new widgets to the warning messages dialog to control treating
warnings as errors.
2016-01-12 14:03:32 -05:00
Michael Scott 28f2d750ed Add -Werror and -Wno-error command-line options
Expand the -W set of cmake options to include support for the -Werror
and -Wno-error format, which is used to control upgrading and
downgrading warning and error messages. Implement support for these new
formats for the dev and deprecated message types.

Add tests and updated documentation for new options.
2016-01-12 14:02:51 -05:00
Brad King fc5d659229 VS: Map link `/debug:fastlink` flag to VS 2015 IDE property (#15894)
Suggested-by: Thomas Laguzzi <tholag@gmail.com>
2016-01-12 13:59:59 -05:00
Brad King 33cafa68b8 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-01-11 (bc07fbf7)
2016-01-12 10:55:49 -05:00
Brad King ae7398c0a7 Merge topic 'vs-win10-sdk'
a57caf7e VS: Fix Windows 10 SDK version selection (#15831)
ad594de8 cmSystemTools: Add VersionCompareEqual helper
c173e37f VS: Do not select a partial Windows 10 SDK folder (#15831)
2016-01-12 10:53:45 -05:00
Brad King 0355421035 Merge topic 'update-kwsys'
9821924d Merge branch 'upstream-KWSys' into update-kwsys
8e7356a2 KWSys 2016-01-11 (e8bf616e)
2016-01-12 10:23:07 -05:00
Brad King 31a58b438f Merge topic 'vs-global-properties'
af39f115 VS: Implement VS_GLOBAL_* target properties in VS 2010+ (#13666)
2016-01-12 10:23:02 -05:00
Brad King b3c10efb08 Merge topic 'vs-link-debug-property'
b3677b35 VS: Map the link `/debug` to its IDE property
c22da7cf VS: Drop unused condition in link debug flag generation
4ca9df8b cmIDEOptions: Add support for case-insensitive flags
2016-01-12 10:22:59 -05:00
Kitware Robot cd9a59b199 CMake Nightly Date Stamp 2016-01-12 00:01:09 -05:00
Brad King a57caf7eec VS: Fix Windows 10 SDK version selection (#15831)
In commit v3.4.0-rc1~5^2~1 (VS: Add support for selecting the Windows 10
SDK, 2015-09-30) we added Windows 10 SDK selection choosing the most
recent SDK that is not newer than the target version.  This is backward
because it should be up to the application code to not use APIs newer
than the target version.  It is up to the build system to provide a SDK
that has at least the APIs expected to be available for the target
version.  Furthermore, since the default target version is the host
version of Windows, the old approach breaks when the only SDK available
is for a newer version of Windows.

Fix this by always selecting a Windows 10 SDK if one exists.  Use the
SDK for the exact version if is available.  Otherwise use the latest
version of the SDK available because that will have at least the APIs
expected for the target version.
2016-01-11 13:44:11 -05:00
Brad King ad594de8cc cmSystemTools: Add VersionCompareEqual helper
Wrap a call to VersionCompare with OP_EQUAL.
2016-01-11 13:43:22 -05:00
Mike Fitzgerald af39f11521 VS: Implement VS_GLOBAL_* target properties in VS 2010+ (#13666)
These have been documented but previously only implemented for VS 2008
and below.
2016-01-11 13:04:34 -05:00
Brad King 9821924d45 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-01-11 (e8bf616e)
2016-01-11 11:20:14 -05:00
Brad King b3677b35d3 VS: Map the link `/debug` to its IDE property
Fix the link flag table entries for this flag to be case-insensitive.
Also fix the VS 2015 value for the build property enumeration name.

This causes `linkOptions.Parse(...)` to correctly extract the `/debug`
flag and map it to the IDE property instead.  Therefore we do not need
to look for the flag explicitly when initializing the property.
2016-01-11 09:45:00 -05:00
Brad King c22da7cff7 VS: Drop unused condition in link debug flag generation
The `linkOptions.IsDebug()` call never returns true because it
checks for `DebugInformationFormat` which is a compiler (cl) flag.
2016-01-11 09:43:13 -05:00
Brad King 4ca9df8bd1 cmIDEOptions: Add support for case-insensitive flags 2016-01-11 09:43:09 -05:00
Brad King cedbb7994d Merge topic 'vs14-debug-enum'
f086c665 VS: Fix VS 2015 .vcxproj file value for GenerateDebugInformation (#15894)
2016-01-11 09:17:41 -05:00
Kitware Robot 196d912200 CMake Nightly Date Stamp 2016-01-11 00:01:06 -05:00
Kitware Robot 7a45d91dc4 CMake Nightly Date Stamp 2016-01-10 00:01:06 -05:00
Kitware Robot c6ff95be61 CMake Nightly Date Stamp 2016-01-09 00:01:11 -05:00
Brad King f086c665da VS: Fix VS 2015 .vcxproj file value for GenerateDebugInformation (#15894)
Starting with VS 2015 the GenerateDebugInformation build property is an
enumeration (`No`, `Debug`, `DebugFastLink`) instead of a boolean value
(`false`, `true`).  For now we simply change to `No` and `Debug` fix
current behavior.  Support for `/debug:fastlink` can be added later.
2016-01-08 14:15:39 -05:00
Brad King b74560c32a Merge topic 'cpack-dmg-license-fixes'
bbb3c4ff CPack/DragNDrop: Fix handling of certain license file content (#15899)
2016-01-08 10:43:37 -05:00
Brad King 4226c83fa2 Merge topic 'update-kwsys'
0a5ce85f Merge branch 'upstream-KWSys' into update-kwsys
f2b0bf6e KWSys 2016-01-07 (2418443e)
2016-01-08 10:43:28 -05:00
Brad King c173e37fa3 VS: Do not select a partial Windows 10 SDK folder (#15831)
Skip SDK candidate folders that do not contain <um/windows.h> as they
are not full SDKs.
2016-01-08 10:05:40 -05:00
Kitware Robot 963d99de14 CMake Nightly Date Stamp 2016-01-08 00:01:08 -05:00
Andrey Mishchenko bbb3c4ffc1 CPack/DragNDrop: Fix handling of certain license file content (#15899)
There were issues in the special-character-escaping and line-wrapping
code which caused DragNDrop packaging to fail mysteriously at a later
step with parsing errors in the `sla.r` file generated by the following
code.
2016-01-07 15:24:42 -05:00
Brad King 070f09f91e Merge topic 'xcode-global-attribute-variant'
d8bc26a0 Xcode: Parse variant and genex for CMAKE_XCODE_ATTRIBUTE (#14947)
dc0ddb9e Xcode: Store configuration name along with XcodeObject (#14947)
28f98cee Xcode: Make CMAKE_XCODE_ATTRIBUTE calculation last step (#14947)
28db2268 Xcode: Factor out XCODE_ATTRIBUTE_ variant filter (#14947)
2016-01-07 13:28:28 -05:00
Brad King f7fbe0f681 Merge topic 'xcode-escape-backslash'
ba39d7e9 Xcode: Escape all backslashes in strings (#15328)
2016-01-07 13:28:26 -05:00
Brad King 64dd52422b Merge topic 'install-xdgdata-dir'
76566621 QtDialog: Add option to control XDG file install destination
2016-01-07 13:28:21 -05:00
Gregor Jasny ba39d7e9d0 Xcode: Escape all backslashes in strings (#15328)
Before this change backslashes in strings were escaped during compile
flags adds via AppendFlag(). But global flags like OTHER_CPLUSPLUSFLAGS
are not added as flags but as plain strings so they were not escaped
properly.

Now the escaping is performed within cmXCodeObject::PrintString() which
ensures that strings are always encoded.
2016-01-07 13:23:24 -05:00
Brad King 0a5ce85f60 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-01-07 (2418443e)
2016-01-07 13:13:51 -05:00
Kitware Robot b021455e40 CMake Nightly Date Stamp 2016-01-07 00:01:05 -05:00
Kitware Robot bc908abd98 CMake Nightly Date Stamp 2016-01-06 00:01:07 -05:00
Kitware Robot a6cbc89179 CMake Nightly Date Stamp 2016-01-05 00:01:05 -05:00
Kitware Robot 3d2d17c00c CMake Nightly Date Stamp 2016-01-04 00:01:08 -05:00
Gregor Jasny d8bc26a065 Xcode: Parse variant and genex for CMAKE_XCODE_ATTRIBUTE (#14947) 2016-01-03 22:31:12 +01:00
Gregor Jasny dc0ddb9e34 Xcode: Store configuration name along with XcodeObject (#14947) 2016-01-03 18:31:33 +01:00
Gregor Jasny 28f98ceef1 Xcode: Make CMAKE_XCODE_ATTRIBUTE calculation last step (#14947) 2016-01-03 12:06:56 +01:00
Gregor Jasny 28db2268e8 Xcode: Factor out XCODE_ATTRIBUTE_ variant filter (#14947)
Move the variant=<config> filter out to a helper function
so that it can be re-used later for CMAKE_XCODE_ATTRIBUTE_*.
2016-01-03 11:46:27 +01:00
Kitware Robot 506504d440 CMake Nightly Date Stamp 2016-01-03 00:01:06 -05:00
Kitware Robot 90b50b2e28 CMake Nightly Date Stamp 2016-01-02 00:01:06 -05:00
Kitware Robot 9ebc5626ef CMake Nightly Date Stamp 2016-01-01 00:01:06 -05:00
Kitware Robot 4aff1650d6 CMake Nightly Date Stamp 2015-12-31 00:01:09 -05:00
Kitware Robot f04a09d1bd CMake Nightly Date Stamp 2015-12-30 00:01:05 -05:00
Kitware Robot 69374919fd CMake Nightly Date Stamp 2015-12-29 00:01:08 -05:00
Kitware Robot 9fdb66cff6 CMake Nightly Date Stamp 2015-12-28 00:01:06 -05:00
Kitware Robot 1d73f6525c CMake Nightly Date Stamp 2015-12-27 00:01:05 -05:00
Kitware Robot 0b3b5fb169 CMake Nightly Date Stamp 2015-12-26 00:01:06 -05:00
Kitware Robot 630e444e97 CMake Nightly Date Stamp 2015-12-25 00:01:06 -05:00
Kitware Robot 554c307455 CMake Nightly Date Stamp 2015-12-24 00:01:07 -05:00
Kitware Robot 56653b81b8 CMake Nightly Date Stamp 2015-12-23 00:01:05 -05:00
Kitware Robot 8a45573e99 CMake Nightly Date Stamp 2015-12-22 00:01:07 -05:00
Niels Ole Salscheider 7656662148 QtDialog: Add option to control XDG file install destination
Create a `CMAKE_XDGDATA_DIR` option and add a corresponding flag to the
`bootstrap` script.  This is needed for multiarch layouts where the
prefix is `/usr/${host}` but where architecture-independent files (like
the XDG-specific ones) are installed to `/usr/share`.
2015-12-21 10:23:48 -05:00
Brad King a53e0168c3 Merge topic 'import-kwiml'
a5dd0c9d Add option to use a system-installed KWIML
036b6ef7 Port CMake from cmIML to KWIML
12293371 Merge branch 'upstream-KWIML' into import-kwiml
3fdbb0a8 KWIML 2015-12-09 (43f9f8d0)
55b21d07 Add script to update KWIML from upstream
c7d9a249 Utilities/KWIML: Drop sources to make room for fresh import
2015-12-21 09:41:09 -05:00
Kitware Robot ba88bfcf21 CMake Nightly Date Stamp 2015-12-21 00:01:16 -05:00
Kitware Robot 693a42fb00 CMake Nightly Date Stamp 2015-12-20 00:01:16 -05:00
Kitware Robot a5149d31be CMake Nightly Date Stamp 2015-12-19 00:01:07 -05:00
Brad King f9e3ca46cb Merge topic 'release-wix-config-ng'
24cdb9df CMake: Mimic NSIS options dialog in WiX installer
de77d4a7 CPackWIX: Allow multiple patch files and diagnose if any are missing
38d723b3 CPackWIX: Allow patching of shortcut components
2015-12-18 10:55:35 -05:00
Brad King 81e5bf2548 Merge topic 'update-kwsys'
38c31ed5 Merge branch 'upstream-KWSys' into update-kwsys
ec1398d7 KWSys 2015-12-14 (c1149ef6)
c4282347 Add script to update KWSys from upstream
f1ee10c1 Merge branch 'upstream-KWSys' into update-kwsys
498c3685 Add a script to help update third-party sources
dcca7892 KWSys 2015-12-09 (cdcf4c47)
2015-12-18 10:12:41 -05:00
Brad King 4395190cd4 Merge topic 'CMakeParseArguments-native-impl'
ab8a2808 cmake_parse_arguments: consider duplicate keyword as warning
e8b14831 CMakeParseArguments: replace by native cmake_parse_arguments command
cbbdfc2b CMakeParseArguments: add a RunCMake test suite
2015-12-18 10:12:35 -05:00
Brad King a5dd0c9d42 Add option to use a system-installed KWIML
Do not activate it with the general use-system-libs options for now
because KWIML is not commonly distributed or available.
2015-12-18 10:02:28 -05:00
Brad King 036b6ef7c4 Port CMake from cmIML to KWIML
KWIML no longer uses a configured prefix.
2015-12-18 10:02:07 -05:00
Kitware Robot 614c8a1c92 CMake Nightly Date Stamp 2015-12-18 00:01:07 -05:00
Brad King 38c31ed5f5 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2015-12-14 (c1149ef6)
2015-12-17 14:46:12 -05:00
Matthias Maennich ab8a280857 cmake_parse_arguments: consider duplicate keyword as warning
The behaviour of double specified keywords is rather undefined or at
least not clearly documented. This change introduces a strict check and
emits a warning in case a keyword has been specified more than once.
2015-12-17 10:45:19 -05:00
Matthias Maennich e8b148318f CMakeParseArguments: replace by native cmake_parse_arguments command
Implement a native `cmake_parse_arguments` command that is fully
compatible with the documented behaviour of the previous implementation.
Leave the CMakeParseArguments module empty but existing for
compatibility.
2015-12-17 10:44:28 -05:00
Kitware Robot e51fa1dc4d CMake Nightly Date Stamp 2015-12-17 00:01:05 -05:00
Kitware Robot 7e29021465 CMake Nightly Date Stamp 2015-12-16 00:01:06 -05:00
Kitware Robot 7a47745d69 CMake Nightly Date Stamp 2015-12-15 00:01:08 -05:00
Nils Gladitz de77d4a741 CPackWIX: Allow multiple patch files and diagnose if any are missing
CPACK_WIX_PATCH_FILE now accepts a list of patch files.
An error will now be produced if any of the patch files is missing.

Previously this would be silently ignored.
2015-12-14 23:28:42 +01:00
Kitware Robot b97018534f CMake Nightly Date Stamp 2015-12-14 00:01:05 -05:00
Kitware Robot ac6025c5ff CMake Nightly Date Stamp 2015-12-13 00:01:06 -05:00
Nils Gladitz 38d723b37e CPackWIX: Allow patching of shortcut components 2015-12-12 10:36:51 +01:00
Kitware Robot 8ed8c29564 CMake Nightly Date Stamp 2015-12-12 00:01:07 -05:00
Brad King a680211ca7 Merge topic 'ios-universal'
565d080a Xcode: Add support for combined install on iOS
34f5ef56 iOS: Fix App Bundle layout
2015-12-11 09:47:18 -05:00
Brad King c634b5d4c5 Merge topic 'wix-fix-comp-install-prop'
ecdc77f1 CPackWIX: Fix installed file property lookups when using components
2015-12-11 09:43:48 -05:00
Brad King 63f2737993 Merge topic 'update-kwsys'
c025e61a Merge branch 'upstream-kwsys' into update-kwsys
2b7a47d7 KWSys 2015-12-09 (cdcf4c47)
2015-12-11 09:43:45 -05:00
Brad King 05d8aed844 Merge topic 'cmake-W-options'
29127534 cmake: Deduplicate warning message control code
67211011 cmake-gui: Add options to control warning messages
2015-12-11 09:43:42 -05:00
Brad King e240a489c1 Merge topic 'graphviz-spaces'
e0ad72d8 Graphviz: Fix handling of spaces in GRAPHVIZ_GRAPH_NAME
2015-12-11 09:43:39 -05:00
Brad King 511e5dbd71 Merge topic 'cmake-E-multiple-inputs'
7984ac5e cmake: Teach -E make_directory to support multiple input directories
4ce6fbc7 Help: Rename release notes for topic 'cmake-E-multiple-inputs'
2015-12-11 09:43:34 -05:00
Kitware Robot 693abba251 CMake Nightly Date Stamp 2015-12-11 00:01:17 -05:00
Ruslan Baratov 565d080a9a Xcode: Add support for combined install on iOS
This patch solves the problem of installing both: Device and Simulator
libraries on iOS. Before only one of them was installed.

If the IOS_INSTALL_COMBINED property is set on a target, a
special install hook will be activated which builds the corresponding
target and combines both at the install location.

The original patch was contributed by Ruslan Baratov, and polished by
Gregor Jasny.
2015-12-10 22:36:12 +01:00
Gregor Jasny 34f5ef564a iOS: Fix App Bundle layout
In contrast to OS X the iOS App Bundle layout is a flat structure.
2015-12-10 20:49:42 +01:00
Nils Gladitz ecdc77f14d CPackWIX: Fix installed file property lookups when using components
The WIX generator incorrectly looked for installed file properties
by relative paths that included the component specific staging
directory prefix.

Remove that prefix in installed file property lookups when
generating packages with components.
2015-12-10 17:38:18 +01:00
Brad King c025e61ad4 Merge branch 'upstream-kwsys' into update-kwsys 2015-12-10 09:33:14 -05:00
Brad King fc6c5074e8 Merge topic 'cmELF-use-KWIML'
d462ac27 cmELF: Use KWIML ABI.h header to get endian-ness
2015-12-10 09:30:14 -05:00
Michael Scott 291275347b cmake: Deduplicate warning message control code
Remove the duplicate code in cmake::Configure to set the cache variables
for the warning message suppression.  Replace it with calls to the
dedicated methods to carry this out.
2015-12-10 09:28:31 -05:00
Michael Scott 67211011d9 cmake-gui: Add options to control warning messages
Create a new dialog window for the cmake-gui that provides controls for
setting the state of suppression of developer and deprecated warning
messages.  This replaces the previous single checkbox for setting the
state of suppression of developer warnings.

Added a note for the new functionality to the release notes.
2015-12-10 09:28:31 -05:00
Andrey Mishchenko e0ad72d8af Graphviz: Fix handling of spaces in GRAPHVIZ_GRAPH_NAME
Without this patch, `SET (GRAPHVIZ_GRAPH_NAME "hello world")` does not
work (it results in a parsing error in GraphViz when the generated
output is processed), but `SET (GRAPHVIZ_GRAPH_NAME "\"hello world\"")`
does.
2015-12-10 09:22:06 -05:00
Bartosz Kosiorek 7984ac5e58 cmake: Teach -E make_directory to support multiple input directories 2015-12-10 09:07:38 -05:00
Kitware Robot a657b32482 CMake Nightly Date Stamp 2015-12-10 00:01:06 -05:00
Brad King d462ac27d8 cmELF: Use KWIML ABI.h header to get endian-ness
Port away from KWSys CPU header.
2015-12-09 11:38:10 -05:00
Brad King dc873f6eef Merge topic 'cmake-E-copy-multiple-inputs'
bc35087d cmake: Teach -E copy_directory to support multiple input directories
98be140f cmake: Refine -E copy[_if_different] documentation
93cc80ae cmake: Refine -E copy_if_different implementation indentation
0903812b cmake: Refine -E chdir documentation
2015-12-09 08:36:56 -05:00
Kitware Robot 3a824a963a CMake Nightly Date Stamp 2015-12-09 00:01:06 -05:00
Kitware Robot c6eacfd56a CMake Nightly Date Stamp 2015-12-08 00:01:07 -05:00
Bartosz Kosiorek bc35087da3 cmake: Teach -E copy_directory to support multiple input directories 2015-12-07 10:51:27 -05:00
Bartosz Kosiorek 93cc80aee5 cmake: Refine -E copy_if_different implementation indentation 2015-12-07 10:51:14 -05:00
Bartosz Kosiorek 0903812b0b cmake: Refine -E chdir documentation 2015-12-07 10:50:42 -05:00
Brad King 8cc5e2cb87 Merge topic 'cmake-E-copy-multiple-inputs'
384ae551 cmake: Teach -E copy[_if_different] to support multiple files (#15703)
0be5020b cmake: Improve '-E' help message formatting
2015-12-07 09:22:51 -05:00
Brad King 939792fdf6 Merge topic 'update-kwsys'
306e2016 Merge branch 'upstream-kwsys' into update-kwsys
d5d90f5e KWSys 2015-12-03 (6bfc1aef)
2015-12-07 09:22:48 -05:00
Kitware Robot eda493a380 CMake Nightly Date Stamp 2015-12-07 00:01:07 -05:00
Kitware Robot 5609ba1bcd CMake Nightly Date Stamp 2015-12-06 00:01:05 -05:00
Kitware Robot 2c03215050 CMake Nightly Date Stamp 2015-12-05 00:01:06 -05:00
Bartosz Kosiorek 384ae5514e cmake: Teach -E copy[_if_different] to support multiple files (#15703)
If multiple input files are provided then the destination must be a
directory.  If only one input file is provided then destination may be
either a file or directory.
2015-12-04 10:26:34 -05:00
Bartosz Kosiorek 0be5020bf8 cmake: Improve '-E' help message formatting 2015-12-04 10:12:02 -05:00
Brad King 306e2016bb Merge branch 'upstream-kwsys' into update-kwsys 2015-12-04 09:59:04 -05:00
Brad King e069aa05c6 Merge topic 'regex-explorer'
fc656fa4 cmake-gui: Add regex explorer window
2015-12-04 09:54:23 -05:00
Brad King d4767fca96 Merge topic 'ios-framework-resource-layout'
e76ee2c0 iOS: Fix framework resource directory layout (#15848)
2015-12-04 09:54:09 -05:00
Kitware Robot 7410e2ed61 CMake Nightly Date Stamp 2015-12-04 00:01:09 -05:00
Gregor Jasny fc656fa4fe cmake-gui: Add regex explorer window 2015-12-03 21:45:54 +01:00
Bartosz Kosiorek e76ee2c006 iOS: Fix framework resource directory layout (#15848)
A typical iOS application bundle (also Framework Bundle) contains the
application executable and any resources used by the application (for
instance, the application icon, other images, and localized content) in
the top-level bundle directory.  The same rule applies to Framework
Bundles.
2015-12-03 08:52:09 -05:00
Kitware Robot 4ffeab0e3c CMake Nightly Date Stamp 2015-12-03 00:01:09 -05:00
Brad King fd7180f0c0 CMake 3.4.1 2015-12-02 08:46:12 -05:00
Brad King 3fa2fc71b1 Merge topic 'cmake-W-options'
aac633d5 Explicitly enable deprecated warnings by default.
e8974b62 Modify dev warning options to affect deprecated warnings.
b146747e Consistent documentation for deprecation message variables.
da688bcb Add -W options to control deprecated warning messages.
07388f83 Refactor the -W options parser to be generic.
246b0bfb Explicitly enable author (dev) warnings by default.
deec3a3f Make message suppression more consistent.
aa427a42 Tests: Revise message in RunCMake.CommandLine -Wdev case
2015-12-02 08:42:06 -05:00
Brad King 7cb630809d Merge branch 'backport-NIOS2-CPU' into release 2015-12-02 08:41:25 -05:00
Marek Vasut f2ca704cbb Add NIOS2 CPU support
Add necessary bits to support the NIOS2 little-endian CPU.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Ley Foon Tan <lftan@altera.com>
Cc: Thomas Chou <thomas@wytron.com.tw>
Cc: Walter Goossens <waltergoossens@home.nl>
2015-12-02 08:40:36 -05:00
Brad King dec15fc32c Merge topic 'cpack-dmg-multilanguage-sla'
ae434ee2 CPack/DragNDrop: Allow single license for multiple languages
2015-12-02 08:35:50 -05:00
Brad King d956816d70 Merge topic 'include-for-mode_t'
001043ac Include `sys/types.h` header to get `mode_t`
2015-12-02 08:35:47 -05:00
Brad King 5257a3b931 Merge topic 'reduce-realpath-calls'
4e3cf8b0 cmOrderDirectories: Reduce repeat realpath() calls
6b185287 cmOrderDirectories: Factor out directory comparison
2015-12-02 08:35:44 -05:00
Brad King 36e6ee913d Merge topic 'update-kwsys'
fe05ad97 Merge branch 'upstream-kwsys' into update-kwsys
e25f294a KWSys 2015-12-01 (9596e98d)
2015-12-02 08:35:40 -05:00
Brad King 535760ccb9 Merge branch 'include-for-mode_t' into release 2015-12-02 08:31:49 -05:00
Kylie McClain 001043ac30 Include `sys/types.h` header to get `mode_t`
Do not depend on it being included by other system headers.
It is not included by others on musl-libc, for example.
2015-12-02 08:31:08 -05:00
Simon Levermann ae434ee2dd CPack/DragNDrop: Allow single license for multiple languages
When both CPACK_DMG_SLA_DIR and CPACK_RESOURCE_FILE_LICENSE are defined,
use the license file for all languages instead of looking for a license
file for each language.  Also expand the documentation on the SLA
variables.
2015-12-02 08:26:01 -05:00
Kitware Robot bb5fccd0a7 CMake Nightly Date Stamp 2015-12-02 00:01:08 -05:00
Brad King 7b13759d5f Merge branch 'reduce-realpath-calls' into release 2015-12-01 11:00:49 -05:00
Brad King 4e3cf8b012 cmOrderDirectories: Reduce repeat realpath() calls
Since commit v3.1.0-rc1~110^2 (Tolerate symlinks during RPATH ordering,
2014-09-09) we call realpath() for every directory ordering constraint
check.  On some platforms/filesystems this is slow, so memoize the
result of the call for each directory.
2015-12-01 11:00:32 -05:00
Brad King 6b18528743 cmOrderDirectories: Factor out directory comparison
Create an `IsSameDirectory` helper method.
2015-12-01 11:00:32 -05:00
Michael Scott aac633d5e5 Explicitly enable deprecated warnings by default.
Explicitly enable deprecated warnings by default, via the
cmake::GetSuppressDeprecatedWarnings method, which signals
suppression is turned off unless the CMake variables are set
as required.

Add tests and update the documentation for the new
functionality.
2015-12-01 10:22:51 -05:00
Michael Scott e8974b62d7 Modify dev warning options to affect deprecated warnings.
Change the '-Wdev' and '-Wno-dev' options to also enable and
suppress the deprecated warnings output, via the
'CMAKE_WARN_DEPRECATED' CMake variable, by default. This
action does not happen if the user specifies a deprecated
warning message option.

Add tests and update the documentation for the new
functionality.
2015-12-01 10:22:45 -05:00
Michael Scott da688bcb3b Add -W options to control deprecated warning messages.
Add 'deprecated' warning options type, to allow setting
CMAKE_WARN_DEPRECATED via the -W '-Wdeprecated' and
'-Wno-deprecated' options.

Add tests for new options and updated documentation.
2015-12-01 10:21:57 -05:00
Michael Scott 07388f83b6 Refactor the -W options parser to be generic.
Refactor the -Wdev and -Wno-dev options parser to use a generic -W
parser that follows the GCC pattern, excluding support for
-Werror=TYPE and -Wno-error=TYPE formats for now.
2015-12-01 09:40:43 -05:00
Michael Scott 246b0bfbfd Explicitly enable author (dev) warnings by default.
Explicitly enable author warnings by default, via the
cmake::GetSuppressDevWarnings method, which signals suppression
is turned off unless the CMake variables are set as required.

Add test cases for author and deprecated messages displayed by
default.
2015-12-01 09:35:53 -05:00
Brad King fe05ad9752 Merge branch 'upstream-kwsys' into update-kwsys 2015-12-01 08:46:55 -05:00
Kitware Robot a6f5281419 CMake Nightly Date Stamp 2015-12-01 00:01:08 -05:00
Michael Scott deec3a3f06 Make message suppression more consistent.
Make the message suppression more consistent, by adding a check
for the message related CMake variables in cmake::IssueMessage,
which allows callers of IssueMessage other than the message
command to behave as expected. Also added a check for
CMAKE_SUPPRESS_DEVELOPER_WARNINGS in the message command to
mirror the deprecated message type behaviour.

Added a 'force' flag to the cmake::IssueMessage method, to
make the message suppression consistent, when setting the
message related CMake variables directly in a CMake file.

Expand message command tests to cover the AUTHOR_WARNING message
type as well.
2015-11-30 15:00:08 -05:00
Brad King 3c6a366876 Merge topic 'reduce-cmState-accumulation-for-master'
9342a4c2 Merge branch 'reduce-cmState-accumulation' into reduce-cmState-accumulation-for-master
5f860ebb cmState: Avoid accumulating snapshot storage for short-lived scopes
f21dc4a8 cmState: Avoid accumulating policy stack storage for short-lived scopes
bc1d3a8a cmListFileCache: Implement cmListFileBacktrace ctor/dtor out-of-line
85fe26b5 cmLinkedTree: Add Pop method
518d6b22 cmLinkedTree: Rename 'Extend' method to 'Push'
32edac6f cmState: Enforce policy scope balancing around variable scopes
0fa7f143 cmLocalGenerator: Use ScopePushPop RAII class to manage local variable scopes
d85c9176 cmMakefile: Remove unused PolicyPushPop interfaces
8e1be7bf cmMakefile: Clarify purpose of method that pops a scope snapshot
2015-11-30 11:22:10 -05:00
Brad King f8deadc16d Merge branch 'reduce-cmState-accumulation' into release 2015-11-30 11:19:01 -05:00
Kitware Robot 31b013b14a CMake Nightly Date Stamp 2015-11-30 00:01:06 -05:00
Kitware Robot 9cbb8058ca CMake Nightly Date Stamp 2015-11-29 00:01:05 -05:00
Kitware Robot 61f677edf8 CMake Nightly Date Stamp 2015-11-28 00:01:06 -05:00
Kitware Robot 74a6d43ea0 CMake Nightly Date Stamp 2015-11-27 00:01:05 -05:00
Kitware Robot 2b87b58dce CMake Nightly Date Stamp 2015-11-26 00:01:07 -05:00
Brad King 9342a4c203 Merge branch 'reduce-cmState-accumulation' into reduce-cmState-accumulation-for-master 2015-11-25 12:33:06 -05:00
Brad King 5f860ebb67 cmState: Avoid accumulating snapshot storage for short-lived scopes
We need to keep only certain snapshot types and their ancestors.
Also keep those needed for backtraces.
2015-11-25 12:30:13 -05:00
Brad King f21dc4a81c cmState: Avoid accumulating policy stack storage for short-lived scopes
We enforce policy push/pop balance around any scope that pushes/pops a
snapshot.  Therefore a snapshot may never reference entries of
PolicyStack that were created in nested scopes.  Free storage of
short-lived policy stack entries when they are popped.
2015-11-25 10:37:59 -05:00
Brad King bc1d3a8a87 cmListFileCache: Implement cmListFileBacktrace ctor/dtor out-of-line 2015-11-25 10:36:52 -05:00
Brad King 85fe26b5f7 cmLinkedTree: Add Pop method
Add a method to increment an iterator (follow the "up" pointer) to the
previous level in the stack of scopes and free storage of the top of the
stack if possible.  This will allow short-lived scopes to be created and
destroyed by matching Push/Pop pairs without accumulating storage.
2015-11-25 10:33:26 -05:00
Brad King 518d6b22f6 cmLinkedTree: Rename 'Extend' method to 'Push'
Logically the method pushes a nested scope on top of a given scope
because the "up" pointer sequence forms a stack independent of any
other branches of the tree.
2015-11-25 10:23:05 -05:00
Brad King 9ecf8a14fb Merge branch 'fix-find_package-version-file-error-stack' into release 2015-11-25 09:23:13 -05:00
Brad King 99533c8e34 Merge topic 'fix-find_package-version-file-error-stack'
62126b67 Merge branch 'test-cmake_policy-unmatched' into fix-find_package-version-file-error-stack
2e28c619 cmState: Skip variable scope snapshots to avoid call stack duplicates
b219ff94 Tests: Add case for package version file unmatched policy scope
2015-11-25 09:21:49 -05:00
Kitware Robot 75c7327286 CMake Nightly Date Stamp 2015-11-25 00:01:08 -05:00
Brad King 32edac6fdd cmState: Enforce policy scope balancing around variable scopes
Everywhere we use cmMakefile::ScopePushPop to manage variable scopes
also expects policy scopes to be balanced.  There is no place that we
use cmMakefile::PolicyPushPop without also using ScopePushPop.  Relieve
PolicyPushPop of responsibility for policy scope balance checks by
moving it to ScopePushPop.
2015-11-24 19:38:36 -05:00
Brad King 0fa7f143a0 cmLocalGenerator: Use ScopePushPop RAII class to manage local variable scopes 2015-11-24 19:38:34 -05:00
Brad King d85c9176ae cmMakefile: Remove unused PolicyPushPop interfaces
The PolicyPushPop constructor arguments and Quiet method were used to
pass non-default arguments to PushPolicy and PopSnapshot, but no clients
use them anymore.
2015-11-24 19:38:33 -05:00
Brad King 8e1be7bf68 cmMakefile: Clarify purpose of method that pops a scope snapshot
The `PopPolicyBarrier` method is actually responsible for closing any
scope opened by creating a snapshot.  Rename it to `PopSnapshot` and add
a comment explaining the purpose of the poilcy-scope-specific part of
the method.
2015-11-24 19:38:31 -05:00
Brad King 2e28c619f8 cmState: Skip variable scope snapshots to avoid call stack duplicates
Since commit v3.4.0-rc1~179^2~1 (cmState: Add a VariableScope snapshot
type, 2015-08-23) the snapshot stack may have a VariableScopeType entry.
Skip over these when constructing the call stack, just as we do for
policy scopes.  Otherwise we report the command causing the variable
scope to be entered twice (e.g. find_package while loading a package
version file).
2015-11-24 14:09:27 -05:00
Brad King 7c74de8de8 Merge topic 'cpack-dmg-multilanguage-sla'
0c5b96bf CPack/DragNDrop: Use documented CPACK_DMG_SLA_LANGUAGES variable
2015-11-24 09:26:34 -05:00
Kitware Robot f430198db6 CMake Nightly Date Stamp 2015-11-24 00:01:08 -05:00
Brad King ed08d1d489 Merge topic 'expand_cobertura_search'
32268810 CTest: Expand directories for Cobertura search
2015-11-23 13:47:25 -05:00
Joseph Snyder 32268810d9 CTest: Expand directories for Cobertura search
Change the Cobertura handler to look for an environment variable
called "COBERTURADIR" which contains the directory where the
coverage.xml file is found.  If that variable doesn't exist,
continue to use the default of the binary directory.

Update the test to use an appropriate value in the environment
variables.
2015-11-23 12:41:36 -05:00
Simon Levermann 0c5b96bf7c CPack/DragNDrop: Use documented CPACK_DMG_SLA_LANGUAGES variable
The change in commit f88533cc (CPackDMG: Add support for multilingual
SLAs, 2015-10-19) accidentally used CPACK_DMG_LANGUAGES in its
implementation instead of the intended CPACK_DMG_SLA_LANGUAGES added to
the documentation.
2015-11-23 10:22:15 -05:00
Kitware Robot dbef2244f9 CMake Nightly Date Stamp 2015-11-23 00:01:05 -05:00
Kitware Robot 1aae378848 CMake Nightly Date Stamp 2015-11-22 00:01:06 -05:00
Kitware Robot 6c24ca93a6 CMake Nightly Date Stamp 2015-11-21 00:01:09 -05:00
Brad King e3dfa3506c Merge branch 'backport-fix-autodef-bigobj-64' into release 2015-11-20 08:57:13 -05:00
Brad King b6f471773d Merge topic 'ninja-symbolic-custom-command'
3477b26f Ninja: Always re-run custom commands that have symbolic dependencies
7d64a059 Ninja: Add 'restat' parameter to custom command generation method
866c75de Ninja: Refactor generation of 'restat' on custom commands
2015-11-20 08:53:17 -05:00
Brad King 7171f64cc1 Merge topic 'fix-autodef-bigobj-64'
65b86612 Merge branch 'backport-fix-autodef-bigobj-64' into fix-autodef-bigobj-64
c7ddc5f4 Fix auto export symbols for Dlls containing /bigobj for 64bit builds.
75004280 Fix auto export symbols for Dlls containing /bigobj for 64bit builds.
2015-11-20 08:53:13 -05:00
Brad King d1f4b6b501 Merge topic 'avoid-divide-by-zero'
f5cd92a8 cmELF: Avoid divide by zero if there are no dynamic section entries
2015-11-20 08:53:10 -05:00
Brad King 67248baaf9 Merge topic 'restore-android-no-versioned-soname'
cdff176f Merge branch 'backport-android-no-versioned-soname' into restore-android-no-versioned-soname
4ba76026 Android: Restore generation of non-versioned soname (#15851)
3aec561a Android: Restore generation of non-versioned soname (#15851)
2015-11-20 08:53:08 -05:00
Bill Hoffman c7ddc5f438 Fix auto export symbols for Dlls containing /bigobj for 64bit builds.
This fixes a bug where 64 bit builds with /bigobj incorrectly determined
that the object files were not 64 bit. This manifested itself with
printf type functions showing up as undefined because the leading
underscore was being removed and should not be removed.
2015-11-20 08:43:58 -05:00
Kitware Robot 193987d344 CMake Nightly Date Stamp 2015-11-20 00:01:08 -05:00
Bill Hoffman 75004280af Fix auto export symbols for Dlls containing /bigobj for 64bit builds.
This fixes a bug where 64 bit builds with /bigobj incorrectly determined
that the object files were not 64 bit. This manifested itself with
printf type functions showing up as undefined because the leading
underscore was being removed and should not be removed.
2015-11-19 17:21:03 -05:00
Brad King 3477b26ff6 Ninja: Always re-run custom commands that have symbolic dependencies
If a custom command has a SYMBOLIC output (that is never actually
created) then do not mark the custom command build statement as
'restat'.  Otherwise other custom commands that depend on the symbolic
output may not always re-run because after running the first custom
command Ninja 'restat' will detect that the output timestamp did not
change and skip its dependents.

This was observed with the ExternalProject BUILD_ALWAYS option where
Ninja would not re-run the 'install' step each time 'build' re-runs.
2015-11-19 15:47:41 -05:00
Brad King 7d64a0598d Ninja: Add 'restat' parameter to custom command generation method
Pass 'true' from all call sites to preserve existing behavior.
2015-11-19 15:11:00 -05:00
Brad King 866c75dedd Ninja: Refactor generation of 'restat' on custom commands
Move generation of 'restat = 1' from the CUSTOM_COMMAND rule to every
build statement using it.  This will allow future selection of this
option on a per-custom-command basis.
2015-11-19 14:51:24 -05:00
Brad King 16ba21f79a Merge branch 'avoid-divide-by-zero' into release 2015-11-19 13:20:47 -05:00
Ty Smith f5cd92a826 cmELF: Avoid divide by zero if there are no dynamic section entries 2015-11-19 13:20:21 -05:00
Brad King 65b9d1f228 Merge topic 'fix-ms-manifest-no-linker'
ca263d1d MSVC: Fix linking with /MANIFEST:NO option
2015-11-19 09:10:23 -05:00
Brad King 59b6d8a81b Merge branch 'backport-android-no-versioned-soname' into release 2015-11-19 08:57:27 -05:00
Brad King 4ba760260b Android: Restore generation of non-versioned soname (#15851)
Our check of CMAKE_PLATFORM_NO_VERSIONED_SONAME, originally added by
commit v3.1.0-rc1~416^2 (Add basic Android platform module, 2014-06-06),
was dropped accidentally by commit v3.4.0-rc1~250^2~21
(cmGeneratorTarget: Move GetLibraryNames from cmTarget, 2015-08-04).
Restore the check in the new location of the GetLibraryNames method.
2015-11-19 08:53:55 -05:00
Brad King 3aec561aa2 Android: Restore generation of non-versioned soname (#15851)
Our check of CMAKE_PLATFORM_NO_VERSIONED_SONAME, originally added by
commit v3.1.0-rc1~416^2 (Add basic Android platform module, 2014-06-06),
was dropped accidentally by commit v3.4.0-rc1~250^2~21
(cmGeneratorTarget: Move GetLibraryNames from cmTarget, 2015-08-04).
Restore the check in the new location of the GetLibraryNames method.
2015-11-19 08:52:40 -05:00
Kitware Robot 4e333e3b32 CMake Nightly Date Stamp 2015-11-19 00:01:07 -05:00
Brad King 96e4a79ab1 Merge topic 'unique_def_symbols'
1c1ace2d De-duplicate symbols listed in generated module definition files
2015-11-18 10:20:07 -05:00
Brad King d6c1860463 Merge topic 'cmake-gui-select-toolset'
2b958a20 cmake-gui: Add option to specify generator toolset
2015-11-18 10:15:28 -05:00
Bill Hoffman 1c1ace2db0 De-duplicate symbols listed in generated module definition files
MS tools have a limit on the number of symbols that can be listed
in a `.def` file.  If multiple `.obj` files provide a symbol then
avoid listing it more than once in the generated `.def` file to
avoid counting toward the limit.
2015-11-18 10:02:48 -05:00
Brad King ca263d1d71 MSVC: Fix linking with /MANIFEST:NO option
Refactoring in commit v3.4.0-rc1~74^2~1 (MSVC: Rewrite manifest file
handling with Makefile and Ninja, 2015-09-15) broke handling of this
option.  Fix it and add a test case.
2015-11-18 09:31:56 -05:00
Kitware Robot 3379365e6b CMake Nightly Date Stamp 2015-11-18 00:01:06 -05:00
Robert Dailey 2b958a2027 cmake-gui: Add option to specify generator toolset
The -T parameter to CMake may now be specified through cmake-gui via a
new text field in the first-time configure wizard (below the generator
chooser).

The generator factories specify whether or not they support toolsets.
This information is propagated to the Qt code and used to determine if
the selected generator should also display the optional Toolset widgets.
2015-11-17 10:03:10 -05:00
Kitware Robot eb6036a9a4 CMake Nightly Date Stamp 2015-11-17 00:01:07 -05:00
Brad King 30b0db7bb5 Merge topic 'non-xcode-framework-layout'
f6f03ed4 Add test for OSX/iOS Framework directory structure (#15833)
9f053763 Fix iOS Framework directory structure (#15833)
2015-11-16 09:22:46 -05:00
Brad King 96be53aebd Merge topic 'jacoco_out_of_source'
1db32ffe ctest_coverage: Search for Jacoco files in the binary directory
2015-11-16 09:22:41 -05:00
Zack Galbreath 1db32ffe98 ctest_coverage: Search for Jacoco files in the binary directory
Search for Jacoco coverage files in both the source directory
and the binary directory.
2015-11-16 09:08:42 -05:00
Kitware Robot 64b3df7d1e CMake Nightly Date Stamp 2015-11-16 00:01:05 -05:00
Kitware Robot faf9844449 CMake Nightly Date Stamp 2015-11-15 00:01:05 -05:00
Kitware Robot 9b41415bcd CMake Nightly Date Stamp 2015-11-14 00:01:09 -05:00
Brad King 9feb24e514 Merge topic 'better_looking_mac_package'
4bca9401 Improve appearance of CMake .dmg package on OS X
c4b9ee18 CPack/DragNDrop: Update documentation to include new variables
167a4655 CPack/DragNDrop: Optionally run an AppleScript when making a package
9c1dfbfd CPack/DragNDrop: Place the background image file in a hidden folder
47302038 CPack/DragNDrop: Use source file extension for background image
2015-11-13 08:53:40 -05:00
Robert Maynard 167a465565 CPack/DragNDrop: Optionally run an AppleScript when making a package
While the DragNDropGenerator supports custom DS_Store and backgrounds,
it is still very hard to automatically setup nice looking packages. The
primary issue is that the DS_Store embeds the name of the volume in the
path to backgrounds, which means that if a package embeds the version in
its volume name a new DS_Store must generated for each release.

Instead one now can use applescript to setup the DS_Store.

This change also ensures that temporary RW image has enough space for
these changes, creating 1 MB dummy padding file, that is later removed
from the image.

Co-Author: Adam Strzelecki <adam.strzelecki@java.pl>
2015-11-13 08:44:15 -05:00
Robert Maynard 9c1dfbfd60 CPack/DragNDrop: Place the background image file in a hidden folder
By using a hidden folder we avoid the need to mark the file as hidden
from finder, and it makes it easier for future work to refer to the
background image file.
2015-11-13 08:43:50 -05:00
Robert Maynard 47302038c1 CPack/DragNDrop: Use source file extension for background image
Instead of blindly copying the `CPACK_DMG_BACKGROUND_IMAGE` file to
`background.png`, we instead use the same file extension as the source
image.  This is needed for proper support of multi resolution `tif`
backgrounds.
2015-11-13 08:42:49 -05:00
Bartosz Kosiorek 9f053763d7 Fix iOS Framework directory structure (#15833)
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-11-13 11:51:08 +01:00
Kitware Robot 415863e6d4 CMake Nightly Date Stamp 2015-11-13 00:01:08 -05:00
Brad King b4a2ada297 CMake 3.4.0 2015-11-12 09:09:08 -05:00
Brad King 8f8f9e216e Merge topic 'fix-clang-Wdouble-promotion'
710d8bab Fix trivial clang -Wdouble-promotion warnings
2015-11-12 08:48:12 -05:00
Kitware Robot 48182afd3d CMake Nightly Date Stamp 2015-11-12 00:01:05 -05:00
Sean McBride 710d8bab7e Fix trivial clang -Wdouble-promotion warnings 2015-11-11 16:27:24 -05:00
Kitware Robot 54153fb98d CMake Nightly Date Stamp 2015-11-11 00:01:06 -05:00
Brad King 3cb726371f Merge topic 'wix-toplevel-feature-required'
d3625b72 CPackWIX: Don't allow users to deselect the top-level feature (#15838)
2015-11-10 09:26:13 -05:00
Brad King 556fe92b76 Merge topic 'fix-install-rules'
9103d8ac Install: Move SetHaveInstallRule to a more-obvious place
2015-11-10 09:26:00 -05:00
Kitware Robot 21684a2401 CMake Nightly Date Stamp 2015-11-10 00:01:06 -05:00
Nils Gladitz d3625b7283 CPackWIX: Don't allow users to deselect the top-level feature (#15838)
The top-level WiX feature implicitly created by the WIX generator
represents the package as a whole.

As such it does not make sense to allow installer users to deselect
it from the installation.

Suggested-by: Mark Stijnman
2015-11-09 17:50:21 +01:00
Brad King 0ecb5e7f8b Merge topic 'cpack-dmg-multilanguage-sla'
f88533cc CPackDMG: Add support for multilingual SLAs
2015-11-09 10:06:38 -05:00
Brad King ed484544cb Merge topic 'fix-alias-target-access'
4ce9742a Alias: Fix access at generate-time (#15832)
2015-11-09 10:06:33 -05:00
Kitware Robot c53e692db9 CMake Nightly Date Stamp 2015-11-09 00:01:06 -05:00
Stephen Kelly 9103d8ace3 Install: Move SetHaveInstallRule to a more-obvious place
The moved-from location checks for the existence of whether certain
generators are needed for any target in a loop, rather than whether
the current target has an install rule.

This was introduced in commit v3.4.0-rc1~275^2~3 (cmInstallCommand: Move
the SetHaveInstallRule invocation., 2015-07-28).  Move the
SetHaveInstallRule call to a more-obvious place where the
cmInstallTargetGenerator is constructed.
2015-11-08 13:56:11 +01:00
Stephen Kelly 4ce9742ae3 Alias: Fix access at generate-time (#15832)
Commit c389f8bb (cmLocalGenerator: Port Find method away from
GetGeneratorTarget, 2015-10-25) ported the implementation of
FindGeneratorTargetToUse away from the FindTargetToUse method,
but neglected to handle alias targets.

The latter method has a parameter to determine whether to
include alias targets in the search, but as that is only
needed at configure time, this generate-time equivalent does
not need the condition.
2015-11-08 13:54:49 +01:00
Kitware Robot f071d8ebd4 CMake Nightly Date Stamp 2015-11-08 00:01:05 -05:00
Kitware Robot da65c5191c CMake Nightly Date Stamp 2015-11-07 00:01:06 -05:00
Brad King 39e830a98e Merge topic 'cpack-deb-config-file-source-field'
e5b70ed0 CPackDEB: added config file optional Source field
f2d98e2d CPackDEB: minor documentation and debug logging fixes
2015-11-06 14:58:11 -05:00
Brad King 5bd78b0e99 Merge topic 'ninja-version-refactor'
a3c5ca96 cmGlobalNinjaGenerator: Save 'ninja' version very early
ed67f405 cmGlobalNinjaGenerator: Save path to 'ninja' tool very early
2015-11-06 14:58:09 -05:00
Brad King 08b8fef254 Merge topic 'fortran-line-directives'
73f255e2 cmFortranLexer: Populate empty doxygen @param comments
ba819f49 cmFortranParser: Parse #line directives
2015-11-06 14:58:06 -05:00
Simon Levermann f88533cc06 CPackDMG: Add support for multilingual SLAs
Multiple languages for SLAs and the SLA UI can be added via the CPack
variables CPACK_DMG_SLA_DIR and CPACK_DMG_SLA_LANGUAGES.  For each
language defined in the languages variable, CPack will search for
<language>.menu.txt and <language>.license.txt in CPACK_DMG_SLA_DIR.
If the sla directory variable is not defined, the old behaviour using
CPACK_RESOURCE_FILE_LICENSE is retained.
2015-11-06 11:14:49 -05:00
Kitware Robot 13dc7bdb5e CMake Nightly Date Stamp 2015-11-06 00:01:05 -05:00
Kitware Robot 60cbd9b9da CMake Nightly Date Stamp 2015-11-05 00:01:10 -05:00
Raffi Enficiaud e5b70ed013 CPackDEB: added config file optional Source field 2015-11-04 21:46:22 +01:00
Brad King 49ac682d39 Merge topic 'vs-show-def-files'
e7e713cc VS: Add module definition `.def` files to .vcxproj files (#15313)
247c168b Refactor `.def` file lookup
adfc8a67 cmGeneratorTarget: Fix IMPLEMENT_VISIT_IMPL for template data types
2015-11-04 10:13:27 -05:00
Tim Grothe e7e713cc05 VS: Add module definition `.def` files to .vcxproj files (#15313)
Make them appear in the IDE project tree for reference by developers.
2015-11-04 09:15:14 -05:00
Tim Grothe 247c168b98 Refactor `.def` file lookup
Return a `cmSourceFile const*` from GetModuleDefinitionFile so that
callers can get more information than just the path to the file.
2015-11-04 09:15:14 -05:00
Brad King adfc8a677e cmGeneratorTarget: Fix IMPLEMENT_VISIT_IMPL for template data types
Update spacing near the DATATYPE reference to prevent construction
of `>>` as a preprocessing token if DATATYPE is a template type.
2015-11-04 09:15:13 -05:00
Brad King 73f255e29d cmFortranLexer: Populate empty doxygen @param comments
Re-apply the change from commit v3.0.0-rc1~554^2~2 (cm*Lexer: Populate
empty doxygen @param comment, 2013-09-19) after recent lexer generation.
2015-11-04 09:13:18 -05:00
Kitware Robot fe00c137a8 CMake Nightly Date Stamp 2015-11-04 00:01:05 -05:00
Kitware Robot b87bed0ff6 CMake Nightly Date Stamp 2015-11-03 00:01:08 -05:00
Brad King a3c5ca960b cmGlobalNinjaGenerator: Save 'ninja' version very early
Keep it in a member variable for convenient reference.  Store the
value as soon as it is known.
2015-11-02 16:37:59 -05:00
Brad King ed67f40522 cmGlobalNinjaGenerator: Save path to 'ninja' tool very early
Keep it in a member variable for convenient reference.  Set the
value as soon as it is known.
2015-11-02 16:27:31 -05:00
Brad King ba819f49df cmFortranParser: Parse #line directives
Teach the lexer to extract the #line directive prefix and line number as
a new token type.  Teach the parser to recognize this token followed by
a string as the file name (plus possibly other content).  Report the
named file as included by the source file.
2015-11-02 15:29:52 -05:00
Brad King bc4b6aa68d CMake 3.4.0-rc3 2015-11-02 09:12:44 -05:00
Brad King 06ed3eb9e9 Merge topic 'xcode-lastupgradecheck'
13610474 Xcode: Set LastUpgradeCheck to current Xcode version (#15817)
2015-11-02 09:09:49 -05:00
Brad King b7b3b675fd Merge topic 'fix-find_program-regression'
31e6571c find_program: Fix regression in finding an already-known path
2015-11-02 09:09:46 -05:00
Kitware Robot 96ac964d76 CMake Nightly Date Stamp 2015-11-02 00:01:11 -05:00
Kitware Robot 3db46ec57d CMake Nightly Date Stamp 2015-11-01 00:01:05 -04:00
Kitware Robot b7fdc8cc39 CMake Nightly Date Stamp 2015-10-31 00:01:07 -04:00
Gregor Jasny 1361047406 Xcode: Set LastUpgradeCheck to current Xcode version (#15817)
This prevents the project settings upgrade warning.
2015-10-30 22:28:04 +01:00
Brad King 1178b53662 Merge branch 'fix-find_program-regression' into release 2015-10-30 08:38:13 -04:00
Brad King 31e6571cca find_program: Fix regression in finding an already-known path
Changes in commit v3.4.0-rc1~124^2~1 (cmFindProgramCommand: Re-implement
search using more flexible approach, 2015-09-01) did not preserve the
behavior of looking for the given name with no search path at all.
Fix this and add a test case covering finding an absolute path with
no search directories.
2015-10-30 07:40:46 -04:00
Kitware Robot a375702eaa CMake Nightly Date Stamp 2015-10-30 00:01:07 -04:00
Brad King 81dbab6e08 Merge branch 'backport-revert-autorcc-qt-5.1' into release 2015-10-29 09:03:44 -04:00
Brad King e41c1be543 Merge branch 'vs-resw-files' into release 2015-10-29 09:03:30 -04:00
Brad King 41e5605d02 Merge topic 'vs-resw-files'
77dde5cb VS: Add support for `.resw` files (#15811)
2015-10-29 08:42:32 -04:00
Brad King b5d94065c0 Merge topic 'autorcc-qt-5.1-compat'
e78fcc63 QtAutogen: Fix rcc invocation for Qt 5.0 and 5.1 (#15644)
2015-10-29 08:42:22 -04:00
Brad King e14709e5a5 Merge topic 'revert-autorcc-qt-5.1'
5ba32092 Merge branch 'backport-revert-autorcc-qt-5.1' into revert-autorcc-qt-5.1
10e8ccf6 Revert "cmQtAutoGenerators: Fix rcc invocation for Qt 5.0 and 5.1 (#15644)"
b935db3a Revert "cmQtAutoGenerators: Fix rcc invocation for Qt 5.0 and 5.1 (#15644)"
2015-10-29 08:42:19 -04:00
Kitware Robot fbb8d086ba CMake Nightly Date Stamp 2015-10-29 00:01:07 -04:00
Andrew Shaitorov 77dde5cb1f VS: Add support for `.resw` files (#15811)
These are used on the WinRT & WinPhone platforms.  Build them using the
`PRIResource` tool.
2015-10-28 15:19:21 -04:00
Brad King e78fcc6329 QtAutogen: Fix rcc invocation for Qt 5.0 and 5.1 (#15644)
In commit v3.2.0-rc1~480^2 (QtAutogen: Regenerate qrc files if their
input changes, 2014-09-17) we added use of the rcc `--list` option.
Prior to Qt 5.2 this option was called just `-list`.  Run `rcc --help`
to check for support for `--list` before using it and otherwise fall
back to the `-list` option for compatibility with older versions.
2015-10-28 09:03:10 -04:00
Brad King 2fd5fd1f4d Merge topic 'minor-cleanups'
13a37f5f cmMakefile: Fix typo in comment
958508bb cmMakefile: Fix style
91a829c1 Makefiles: Remove unused variable
e0213882 cmTarget: Remove obsolete member
0554c2c9 cmTarget: Fix style
b22e5d0a Remove some obsolete declarations
ce43ed2c Use LocalGenerator when possible
d90c9738 Makefiles: Remove some unneeded casts
331023ae Export: Remove unused variable
a03f3d0e cmFunctionBlocker: Constify method
d50c4220 Xcode: Fix typo in comment
803f1901 Xcode: Remove trailing semicolon
2015-10-28 08:48:08 -04:00
Brad King 1e8c920d04 Merge topic 'use-generator-target'
79c3a2a8 cmGlobalGenerator: Remove map from cmTarget to cmGeneratorTarget
c389f8bb cmLocalGenerator: Port Find method away from GetGeneratorTarget
02533038 VS6: Port to FindGeneratorTarget
b6278e9f cmake: Port find_package mode away from GetGeneratorTarget
7a6caae1 cmMakefile: Add imported target accessor
0fb187cc CMP0026: Port away from GetGeneratorTarget
8caf1f36 cmGlobalGenerator: Add FindGeneratorTarget API
278ba2db cmGeneratorTarget: Add API for globally visible IMPORTED
79c11d23 Xcode: Port away from GetGeneratorTarget
9b244cc0 cmLocalGenerator: Store imported targets in a separate container.
def6da61 cmLocalGenerator: Port FindGeneratorTarget away from GetGeneratorTarget
a67231ac cmTarget: Implement ALIAS in terms of name mapping
d566f39a cmGlobalGenerator: Remove unneeded GetGeneratorTarget
0c97d32f cmGlobalGenerator: Remove direct storage of targets
383bfd95 cmTargetCollectLinkLanguages: Remove cmMakefile dependency
7f6bedda cmGeneratorTarget: Port cmOptionalLinkImplementation
...
2015-10-28 08:48:05 -04:00
Brad King f68f8a1416 Merge topic 'update-libarchive'
b272a656 cmSystemTools: Preemptively adapt to future libarchive 4.0 changes
87f1f363 cmArchiveWrite: Preemptively adapt to future libarchive 4.0 changes
45cd9e63 Update libarchive configuration within CMake
c09acf4f libarchive: Update README-CMake.txt for new snapshot
2f940f89 libarchive: Drop use of pthread.h for CMake build
1e473817 libarchive: Do not use pthread.h API without header
43d577dc libarchive: Test for Clang builtin before using it
85e0bb84 libarchive: Avoid using 'uint8_t' as bitfield type
c70491d6 libarchive: Avoid using name 'hz'
1bbba477 libarchive: Drop outdated CMake portability snprintf
64bdf0b7 libarchive: Avoid non-portable u_int8_t
8f837fc9 libarchive: Use CommonCrypto APIs on OS X only when available
61a0251e libarchive: Define O_CLOEXEC when missing
832fe4b1 libarchive: Fix VS 7.1 Debug build
0b82f51a libarchive: Guard bcyrpt.h with HAVE_BCRYPT_H
5333c04c libarchive: Drop CMake-specific Borland compiler workaround
...
2015-10-28 08:47:54 -04:00
Brad King b272a65655 cmSystemTools: Preemptively adapt to future libarchive 4.0 changes 2015-10-28 08:44:48 -04:00
Brad King 87f1f363df cmArchiveWrite: Preemptively adapt to future libarchive 4.0 changes 2015-10-28 08:44:48 -04:00
Kitware Robot b28101c65f CMake Nightly Date Stamp 2015-10-28 00:01:07 -04:00
Stephen Kelly 13a37f5f76 cmMakefile: Fix typo in comment 2015-10-27 21:54:12 +01:00
Stephen Kelly 958508bb1f cmMakefile: Fix style 2015-10-27 21:54:11 +01:00
Stephen Kelly 91a829c165 Makefiles: Remove unused variable 2015-10-27 21:54:11 +01:00
Stephen Kelly e021388222 cmTarget: Remove obsolete member 2015-10-27 21:54:11 +01:00
Stephen Kelly 0554c2c970 cmTarget: Fix style 2015-10-27 21:54:11 +01:00
Stephen Kelly b22e5d0ab7 Remove some obsolete declarations
Ensure that cmStandardIncludes.h is included before any platform header
in cmGeneratorExpressionEvaluator.h.  That file needs to change as
a result of removal of the cmMakefile.h header from
cmGeneratorExpressionNode.h, affecting the compilation of
cmGeneratorExpressionNode.cxx.

On AIX we need to include our own headers first to get large file
support macros defined consistently within system headers.  The old
order in this header worked only because it was always included after
other headers.
2015-10-27 21:52:47 +01:00
Brad King 10e8ccf6e5 Revert "cmQtAutoGenerators: Fix rcc invocation for Qt 5.0 and 5.1 (#15644)"
This reverts commit 9a271e1323.  The
`-list` option is not documented and may be removed in future Qt
versions.  Fixing this correctly will require detecting the availability
of `--list` or `-list` based on the `rcc` version found.  For now we
choose to support the documented option that will be supported in future
Qt versions.
2015-10-27 16:33:07 -04:00
Brad King b935db3a11 Revert "cmQtAutoGenerators: Fix rcc invocation for Qt 5.0 and 5.1 (#15644)"
This reverts commit 9a271e1323.  The
`-list` option is not documented and may be removed in future Qt
versions.  Fixing this correctly will require detecting the availability
of `--list` or `-list` based on the `rcc` version found.  For now we
choose to support the documented option that will be supported in future
Qt versions.
2015-10-27 16:30:20 -04:00
Stephen Kelly 79c3a2a8f7 cmGlobalGenerator: Remove map from cmTarget to cmGeneratorTarget
The configure-time and generate-time types should be completely
independent.

Add ownership of cmGeneratorTarget instances to the cmLocalGenerator.
2015-10-27 07:44:26 +01:00
Stephen Kelly c389f8bb07 cmLocalGenerator: Port Find method away from GetGeneratorTarget
Mirror the cmMakefile::FindTarget method.
2015-10-27 07:44:26 +01:00
Stephen Kelly 02533038da VS6: Port to FindGeneratorTarget 2015-10-27 07:44:26 +01:00
Stephen Kelly b6278e9ff7 cmake: Port find_package mode away from GetGeneratorTarget 2015-10-27 07:44:26 +01:00
Stephen Kelly 7a6caae1a7 cmMakefile: Add imported target accessor 2015-10-27 07:44:25 +01:00
Stephen Kelly 0fb187cc58 CMP0026: Port away from GetGeneratorTarget 2015-10-27 07:44:25 +01:00
Stephen Kelly 8caf1f361b cmGlobalGenerator: Add FindGeneratorTarget API 2015-10-27 07:44:25 +01:00
Stephen Kelly 278ba2db47 cmGeneratorTarget: Add API for globally visible IMPORTED 2015-10-27 07:44:25 +01:00
Stephen Kelly 79c11d2340 Xcode: Port away from GetGeneratorTarget 2015-10-27 07:44:24 +01:00
Stephen Kelly 9b244cc0ec cmLocalGenerator: Store imported targets in a separate container. 2015-10-27 07:44:24 +01:00
Stephen Kelly def6da616b cmLocalGenerator: Port FindGeneratorTarget away from GetGeneratorTarget 2015-10-27 07:44:24 +01:00
Stephen Kelly a67231ac11 cmTarget: Implement ALIAS in terms of name mapping
Remove mapping to cmTarget.
2015-10-27 07:44:24 +01:00
Stephen Kelly d566f39a64 cmGlobalGenerator: Remove unneeded GetGeneratorTarget 2015-10-27 07:44:24 +01:00
Stephen Kelly 0c97d32f7a cmGlobalGenerator: Remove direct storage of targets
Find the target by looping when needed.
2015-10-27 07:44:23 +01:00
Stephen Kelly 383bfd9543 cmTargetCollectLinkLanguages: Remove cmMakefile dependency 2015-10-27 07:44:23 +01:00
Stephen Kelly 7f6beddae3 cmGeneratorTarget: Port cmOptionalLinkImplementation 2015-10-27 07:44:23 +01:00
Stephen Kelly 520ca0ff6c cmGeneratorTarget: Add API for property keys 2015-10-27 07:44:23 +01:00
Stephen Kelly 3e3c754b8c cmLocalGenerator: Port internals to cmGeneratorTarget 2015-10-27 07:44:22 +01:00
Stephen Kelly 593f347b53 VS7: Port some implementation details to cmGeneratorTarget 2015-10-27 07:44:22 +01:00
Stephen Kelly 7b127c62d4 VS7: Port remaining interface to cmGeneratorTarget 2015-10-27 07:44:22 +01:00
Stephen Kelly 780bff5279 cmake: Store hardcoded lists of sources and headers
Don't duplicate this in each cmMakefile.
2015-10-27 07:44:22 +01:00
Stephen Kelly 6bd7bd1e06 Export: Use existing IsDLLPlatform porcelain 2015-10-27 07:44:22 +01:00
Stephen Kelly b397eae82e cmGeneratorTarget: Move LinkLanguagePropagatesToDependents from cmTarget 2015-10-27 07:44:21 +01:00
Stephen Kelly 00b8c0a8d4 cmLocalGenerator: Add IsRootMakefile API 2015-10-27 07:44:21 +01:00
Stephen Kelly 4c6374bcc5 Genex: use cmGeneratorTarget policy API 2015-10-27 07:44:21 +01:00
Stephen Kelly 7d409f500e cmLocalGenerator: Add GetPolicyStatus API 2015-10-27 07:44:21 +01:00
Stephen Kelly 7a1b83cb3f cmGeneratorTarget: Add GetUtilityBacktrace API 2015-10-27 07:44:21 +01:00
Stephen Kelly 736c2042c6 cmGeneratorTarget: Add GetUtilities API 2015-10-27 07:44:20 +01:00
Stephen Kelly f210cb131e cmTarget: Make compatbility API explicit. 2015-10-27 07:44:20 +01:00
Kitware Robot 8c13f0f7ea CMake Nightly Date Stamp 2015-10-27 00:01:07 -04:00
Stephen Kelly ce43ed2cc1 Use LocalGenerator when possible 2015-10-26 23:50:05 +01:00
Stephen Kelly d90c9738da Makefiles: Remove some unneeded casts 2015-10-26 22:30:18 +01:00
Stephen Kelly 331023ae06 Export: Remove unused variable 2015-10-26 22:30:17 +01:00
Stephen Kelly a03f3d0e01 cmFunctionBlocker: Constify method 2015-10-26 22:30:15 +01:00
Stephen Kelly d50c4220e2 Xcode: Fix typo in comment 2015-10-26 22:30:13 +01:00
Stephen Kelly 803f190178 Xcode: Remove trailing semicolon 2015-10-26 22:30:11 +01:00
Stephen Kelly bde277e811 cmGeneratorTarget: Add GetLinkDirectories API. 2015-10-26 22:02:13 +01:00
Stephen Kelly cf69630e51 cmGeneratorTarget: Move GetFrameworkVersion from cmTarget 2015-10-26 22:02:13 +01:00
Stephen Kelly 3f8aa62bfb cmGeneratorTarget: Add API for target-relative commands. 2015-10-26 22:02:13 +01:00
Brad King d288b216af Merge topic 'use-generator-target'
6cac952b VS: Port interface to cmGeneratorTarget
97b37688 VS: Port WriteUtilityDepends to cmGeneratorTarget
600af01d VS: Port utility depends to cmGeneratorTarget
330bfa83 VS: Port target depends to cmGeneratorTarget
b13e26e2 VS: Port ProjectDepends to cmGeneratorTarget.
8ac8739b VS: Port TargetIsFortranOnly to cmGeneratorTarget
84fb579f VS: Port WriteProject to cmGeneratorTarget
1eff421a VS: Port loop to cmGeneratorTarget
94fd5a5a VS: Port ImplibDir to cmGeneratorTarget
ce9e9a92 VS: Port LinkClosure to cmGeneratorTarget
26e23e84 VS: Port ComputeLongestObjectDirectory to cmGeneratorTarget
01c26986 VS7: Port to cmGeneratorTarget
459c8910 VS10: Port to cmGeneratorTarget.
7f8bb857 VS6: Port to cmGeneratorTarget.
a0ebd69b Graphviz: Port to cmGeneratorTarget.
bcee21ce C::B: Port API to cmGeneratorTarget.
...
2015-10-26 13:13:04 -04:00
Brad King d71920c457 Merge topic 'xcode-watch-and-tvos'
a91eebeb Xcode: Recognise Watch and TV OS as embedded platforms
2015-10-26 13:13:02 -04:00
Brad King 4c4da56b2e Merge topic 'xcode-optimization-flags'
601e6e1a Xcode: Use regular expression to extract all optimisation flags (#15794)
2015-10-26 13:12:59 -04:00
Brad King 06ee07b854 Merge topic 'cpack-deb-fakeroot-removal'
66178ae5 CPackDEB: Use proper compression scheme for control.tar.gz
2015-10-26 13:12:53 -04:00
Brad King f054552124 Merge topic 'fix-test-RUN_SERIAL-failure-regression'
e61973e1 CTest: Fix regression in handling of a RUN_SERIAL test that fails
2015-10-26 13:12:50 -04:00
Kitware Robot 70d2f2aa61 CMake Nightly Date Stamp 2015-10-26 00:01:05 -04:00
Kitware Robot 33b43ec26b CMake Nightly Date Stamp 2015-10-25 00:01:07 -04:00
Stephen Kelly 6cac952b9e VS: Port interface to cmGeneratorTarget 2015-10-24 09:24:43 +02:00
Stephen Kelly 97b3768898 VS: Port WriteUtilityDepends to cmGeneratorTarget 2015-10-24 09:24:43 +02:00
Stephen Kelly 600af01d41 VS: Port utility depends to cmGeneratorTarget 2015-10-24 09:24:43 +02:00
Stephen Kelly 330bfa8336 VS: Port target depends to cmGeneratorTarget 2015-10-24 09:24:43 +02:00
Stephen Kelly b13e26e278 VS: Port ProjectDepends to cmGeneratorTarget. 2015-10-24 09:24:30 +02:00
Stephen Kelly 8ac8739b2e VS: Port TargetIsFortranOnly to cmGeneratorTarget 2015-10-24 09:19:57 +02:00
Stephen Kelly 84fb579fc8 VS: Port WriteProject to cmGeneratorTarget 2015-10-24 09:19:56 +02:00
Stephen Kelly 1eff421ad0 VS: Port loop to cmGeneratorTarget 2015-10-24 09:19:56 +02:00
Stephen Kelly 94fd5a5af8 VS: Port ImplibDir to cmGeneratorTarget 2015-10-24 09:19:56 +02:00
Stephen Kelly ce9e9a92cf VS: Port LinkClosure to cmGeneratorTarget 2015-10-24 09:19:56 +02:00
Stephen Kelly 26e23e8463 VS: Port ComputeLongestObjectDirectory to cmGeneratorTarget 2015-10-24 09:19:56 +02:00
Stephen Kelly 01c2698693 VS7: Port to cmGeneratorTarget 2015-10-24 09:19:56 +02:00
Stephen Kelly 459c891088 VS10: Port to cmGeneratorTarget. 2015-10-24 09:19:55 +02:00
Stephen Kelly 7f8bb857b8 VS6: Port to cmGeneratorTarget. 2015-10-24 09:19:55 +02:00
Stephen Kelly a0ebd69b52 Graphviz: Port to cmGeneratorTarget. 2015-10-24 09:19:55 +02:00
Stephen Kelly bcee21ceb7 C::B: Port API to cmGeneratorTarget. 2015-10-24 09:19:55 +02:00
Stephen Kelly b74aa0e3d2 GHS: Port to cmGeneratorTarget. 2015-10-24 09:19:55 +02:00
Stephen Kelly b92d0b2c94 Sublime: Port API to cmGeneratorTarget. 2015-10-24 09:19:54 +02:00
Stephen Kelly 05982b26e6 Xcode: Port API to cmGeneratorTarget. 2015-10-24 09:19:54 +02:00
Stephen Kelly effe874d25 Xcode: Prefer to get target state from cmGeneratorTarget. 2015-10-24 09:19:54 +02:00
Stephen Kelly 8616d12cfc Xcode: Re-order conditions. 2015-10-24 09:19:54 +02:00
Stephen Kelly ed4ea59a33 Xcode: Port ForceLinkerLanguage to cmGeneratorTarget. 2015-10-24 09:19:54 +02:00
Stephen Kelly 634155d695 Xcode: Port loops to cmGeneratorTarget. 2015-10-24 09:19:53 +02:00
Stephen Kelly 4bc65d76f1 Makefiles: Port to cmGeneratorTarget. 2015-10-24 09:19:53 +02:00
Stephen Kelly 80de856bb5 Ninja: Port to cmGeneratorTarget. 2015-10-24 09:19:53 +02:00
Stephen Kelly 4c41e74da5 Use cmLocalGenerator at generate-time. 2015-10-24 09:19:53 +02:00
Stephen Kelly 67b2f4312c Port to GetGeneratorTargets. 2015-10-24 09:19:53 +02:00
Stephen Kelly f528e6bcb9 Makefiles: Port progress marks to cmGeneratorTarget. 2015-10-24 09:19:53 +02:00
Stephen Kelly a6b7eb5bc8 cmInstallTargetGenerator: Get a cmGeneratorTarget directly.
Extend the cmGeneratorTarget API to make this possible.
2015-10-24 09:19:52 +02:00
Stephen Kelly c2c239e607 cmGlobalGenerator: Move GeneratorTargetsType to usage site. 2015-10-24 09:19:52 +02:00
Kitware Robot 66fcb15bb4 CMake Nightly Date Stamp 2015-10-24 00:01:07 -04:00
Gregor Jasny a91eebebdb Xcode: Recognise Watch and TV OS as embedded platforms 2015-10-23 22:19:43 +02:00
Gregor Jasny 601e6e1ad1 Xcode: Use regular expression to extract all optimisation flags (#15794) 2015-10-23 19:29:09 +02:00
Brad King c7c8c2c5e8 Merge branch 'cpack-deb-fakeroot-removal' into release 2015-10-23 11:00:18 -04:00
Raffi Enficiaud 66178ae5a0 CPackDEB: Use proper compression scheme for control.tar.gz
Changes in commit v3.4.0-rc1~79^2~1 (CPackDeb: use of libarchive and
removal of fakeroot, 2015-09-11) accidentally set the wrong compression
scheme for the `control.tar.gz` file.  Set it explicitly to GZip.
2015-10-23 10:58:43 -04:00
Brad King e61973e1ab CTest: Fix regression in handling of a RUN_SERIAL test that fails
Refactoring in commit v3.4.0-rc1~390^2~1 (cmCTestMultiProcessHandler:
Refactor RUN_SERIAL implementation, 2015-06-01) forgot to update a code
path for cleaning up after a failed RUN_SERIAL test.  This causes an
infinite loop after a RUN_SERIAL test fails.  Fix it and add a test.
2015-10-23 09:55:25 -04:00
Kitware Robot a03c13a710 CMake Nightly Date Stamp 2015-10-23 00:01:10 -04:00
Kitware Robot 9e5f253f8d CMake Nightly Date Stamp 2015-10-22 00:01:08 -04:00
Stephen Kelly a8c0fbcc19 cmLocalGenerator: Store a vector of generator targets.
Not a map from cmTarget to cmGeneratorTarget.
2015-10-21 23:21:01 +02:00
Brad King 498db9b9bc CMake 3.4.0-rc2 2015-10-21 09:26:43 -04:00
Brad King 9206120e30 Merge topic 'use-generator-target'
c099e00f Access policy status from cmGeneratorTarget at generate time.
d74bca5a cmGeneratorTarget: Copy the policy map from the cmTarget.
c6e86955 cmTarget: Remove unused NameResolvesToFramework.
18046bd5 cmCommonTargetGenerator: Use NameResolvesToFramework without cmTarget.
91411641 Move ComputeLinkType out of cmTarget.
6d94078e cmGeneratorTarget: Move IsDLLPlatform from cmTarget.
3ebc6285 cmGeneratorTarget: Move HaveWellDefinedOutputFiles from cmTarget.
311018e5 cmGeneratorTarget: Move GetExportMacro from cmTarget.
215cd21a cmGeneratorTarget: Provide direct access to the backtrace.
1df8bd3a cmGlobalGenerator: Port IsRootOnlyTarget to cmGeneratorTarget.
83703bda cmGeneratorTarget: Copy IsExecutableWithExports from cmTarget.
2015-10-21 09:17:01 -04:00
Brad King d31d92bf1d Merge topic 'inline-cmMakeDepend-content'
c0969b10 cmMakeDepend: Inline into inheriting class.
6a1e7328 cmMakeDepend: Inline into only user.
00f50b00 cmMakeDepend: Inline into header.
3df749af Remove vestigial declarations.
3029c27e cmMakeDepend: Use public cmMakefile API.
2015-10-21 09:16:58 -04:00
Brad King 740f85a204 Merge topic 'cmLocalGenerator-generator-target-storage'
a4bbdc5e cmLocalGenerator: Remove cmGeneratorTargetsType from setter API.
04b6bb16 cmLocalGenerator: Simplify semantic of adding generator targets.
400e3d19 cmLocalGenerator: Don't store imported generator targets
726e461b CMP0063: Split unit test by target type.
2015-10-21 09:16:56 -04:00
Brad King 8bcf2c81fc Merge topic 'ninja-refactor-deptype-selection'
123de191 Ninja: Refactor selection of 'deps = ' value for MS-compatible toolchains
2015-10-21 09:16:53 -04:00
Brad King e2d4bfef3f Merge topic 'fix-CMP0054-elseif-warning'
d6a03b47 cmIfCommand: Issue CMP0054 warning with appropriate context. (#15802)
2015-10-21 09:16:49 -04:00
Kitware Robot 893a7fc2ed CMake Nightly Date Stamp 2015-10-21 00:01:06 -04:00
Stephen Kelly a4bbdc5ecf cmLocalGenerator: Remove cmGeneratorTargetsType from setter API. 2015-10-21 01:18:27 +02:00
Stephen Kelly c099e00fc0 Access policy status from cmGeneratorTarget at generate time. 2015-10-21 00:52:23 +02:00
Stephen Kelly d74bca5a8f cmGeneratorTarget: Copy the policy map from the cmTarget. 2015-10-21 00:52:23 +02:00
Stephen Kelly c6e8695508 cmTarget: Remove unused NameResolvesToFramework. 2015-10-21 00:52:23 +02:00
Stephen Kelly 18046bd50a cmCommonTargetGenerator: Use NameResolvesToFramework without cmTarget. 2015-10-21 00:52:22 +02:00
Stephen Kelly 91411641a7 Move ComputeLinkType out of cmTarget.
Keep it out of the way, so that it does not become part of cmGeneratorTarget,
but where it can be used to implement CMP0003.
2015-10-21 00:52:22 +02:00
Stephen Kelly 6d94078e62 cmGeneratorTarget: Move IsDLLPlatform from cmTarget. 2015-10-21 00:52:22 +02:00
Stephen Kelly 3ebc62850c cmGeneratorTarget: Move HaveWellDefinedOutputFiles from cmTarget. 2015-10-21 00:52:22 +02:00
Stephen Kelly 311018e5ad cmGeneratorTarget: Move GetExportMacro from cmTarget. 2015-10-21 00:52:22 +02:00
Stephen Kelly c0969b1033 cmMakeDepend: Inline into inheriting class.
Devirtualize the API.
2015-10-21 00:41:53 +02:00
Stephen Kelly 6a1e73281f cmMakeDepend: Inline into only user. 2015-10-21 00:41:26 +02:00
Stephen Kelly 00f50b006c cmMakeDepend: Inline into header. 2015-10-21 00:39:51 +02:00
Stephen Kelly 215cd21a02 cmGeneratorTarget: Provide direct access to the backtrace. 2015-10-21 00:37:03 +02:00
Stephen Kelly 1df8bd3ab0 cmGlobalGenerator: Port IsRootOnlyTarget to cmGeneratorTarget. 2015-10-21 00:37:01 +02:00
Stephen Kelly 83703bda7d cmGeneratorTarget: Copy IsExecutableWithExports from cmTarget. 2015-10-21 00:36:09 +02:00
Stephen Kelly 3df749af55 Remove vestigial declarations. 2015-10-21 00:19:57 +02:00
Stephen Kelly 3029c27e46 cmMakeDepend: Use public cmMakefile API. 2015-10-21 00:19:45 +02:00
Stephen Kelly 04b6bb1676 cmLocalGenerator: Simplify semantic of adding generator targets.
Don't store on the global generator as a side effect.  Update clients to adapt.
2015-10-20 23:58:49 +02:00
Stephen Kelly 400e3d19fc cmLocalGenerator: Don't store imported generator targets
No consumers need them.  This makes GetGeneratorTargets more comparable
to cmMakefile::GetTargets, which does not include imported targets.
2015-10-20 23:58:48 +02:00
Stephen Kelly d6a03b475e cmIfCommand: Issue CMP0054 warning with appropriate context. (#15802)
Commit v3.4.0-rc1~494^2~4 (cmMakefile: Add API for elseif to create
backtrace., 2015-05-29) removed the use of cmMakefileCall to push/pop
execution context in favor of a new way to create backtraces.

However, a call to cmMakefile::GetExecutionContext is still invoked to
issue a contextual CMP0054 warning through cmConditionEvaluator.  As
the elseif is not part of the call stack, this resulted in trying to
access an empty vector.

Avoid the attempt at getting execution context when evaluating elseif by
constructing a context and backtrace on behalf of the cmConditionEvaluator
in all cases.
2015-10-20 23:40:12 +02:00
Brad King 123de1914c Ninja: Refactor selection of 'deps = ' value for MS-compatible toolchains
Set variables in the platform information modules to tell the Ninja
generator what deps type to use instead of hard-coding conditions in the
generator itself.
2015-10-20 14:14:20 -04:00
Brad King 9afbb733ec Merge topic 'use-generator-target'
d8f8940b cmGeneratorTarget: Move IsCFBundleOnApple from cmTarget.
7550879f cmGeneratorTarget: Move IsXCTestOnApple from cmTarget.
88d10d55 cmGeneratorTarget: Copy IsAppBundleOnApple from cmTarget.
b5f5de70 cmGeneratorTarget: Copy IsFrameworkOnApple from cmTarget.
8e20ea6e cmGeneratorTarget: Move IsLinkable from cmTarget.
a527abf0 Xcode: Port internal API to cmGeneratorTarget.
eb3be7d6 cmGeneratorTarget: Move GetExportName from cmTarget.
d231c31b Export: Port internal API to cmGeneratorTarget.
e6661282 Export: Port internal utility to cmGeneratorTarget.
2b9cc1e2 Export: Port some API to cmGlobalGenerator.
97062ac2 cmInstallTargetGenerator: Port GetInstallFilename to cmGeneratorTarget.
6a72b3c8 Export: Port interface to cmGeneratorTarget.
1293c156 cmExportTryCompileFileGenerator: Port to cmGeneratorTarget.
381e7afd cmExportSet: Store a cmGeneratorTarget.
65911cae cmGlobalGenerator: Compute export() related classes early.
37ab74a6 cmLocalGenerator: Port PList handling to cmGeneratorTarget.
...
2015-10-20 11:16:45 -04:00
Brad King fca389e78c Merge topic 'update-kwsys'
c6d75294 Merge branch 'upstream-kwsys' into update-kwsys
9c6a7203 KWSys 2015-10-16 (a7e5360f)
2015-10-20 11:16:38 -04:00
Kitware Robot 693141c40e CMake Nightly Date Stamp 2015-10-20 00:01:07 -04:00
Stephen Kelly d8f8940bc6 cmGeneratorTarget: Move IsCFBundleOnApple from cmTarget. 2015-10-19 20:27:41 +02:00
Stephen Kelly 7550879f57 cmGeneratorTarget: Move IsXCTestOnApple from cmTarget. 2015-10-19 20:27:41 +02:00
Stephen Kelly 88d10d55ac cmGeneratorTarget: Copy IsAppBundleOnApple from cmTarget.
Leave the cmTarget method behind for now to implement cmInstallCommand.
2015-10-19 20:27:41 +02:00
Stephen Kelly b5f5de70c0 cmGeneratorTarget: Copy IsFrameworkOnApple from cmTarget.
Leave the cmTarget method behind for now to implement cmInstallCommand.
2015-10-19 20:27:41 +02:00
Stephen Kelly 8e20ea6ef2 cmGeneratorTarget: Move IsLinkable from cmTarget. 2015-10-19 20:27:40 +02:00
Brad King c6d75294b2 Merge branch 'upstream-kwsys' into update-kwsys 2015-10-19 09:16:32 -04:00
Kitware Robot bf7d21b0cd CMake Nightly Date Stamp 2015-10-19 00:01:05 -04:00
Stephen Kelly a527abf099 Xcode: Port internal API to cmGeneratorTarget. 2015-10-18 16:29:30 +02:00
Stephen Kelly eb3be7d688 cmGeneratorTarget: Move GetExportName from cmTarget. 2015-10-18 16:29:30 +02:00
Stephen Kelly d231c31b98 Export: Port internal API to cmGeneratorTarget. 2015-10-18 16:29:30 +02:00
Stephen Kelly e666128243 Export: Port internal utility to cmGeneratorTarget. 2015-10-18 16:29:30 +02:00
Stephen Kelly 2b9cc1e248 Export: Port some API to cmGlobalGenerator. 2015-10-18 16:29:30 +02:00
Stephen Kelly 97062ac268 cmInstallTargetGenerator: Port GetInstallFilename to cmGeneratorTarget. 2015-10-18 16:29:30 +02:00
Stephen Kelly 6a72b3c84e Export: Port interface to cmGeneratorTarget. 2015-10-18 16:29:29 +02:00
Stephen Kelly 1293c1561a cmExportTryCompileFileGenerator: Port to cmGeneratorTarget. 2015-10-18 16:29:29 +02:00
Stephen Kelly 381e7afd36 cmExportSet: Store a cmGeneratorTarget.
Set the member at compute time from the stored name.
2015-10-18 16:29:29 +02:00
Stephen Kelly 65911cae4d cmGlobalGenerator: Compute export() related classes early.
Simplify CMP0024 handling.
2015-10-18 16:29:29 +02:00
Stephen Kelly 37ab74a607 cmLocalGenerator: Port PList handling to cmGeneratorTarget. 2015-10-18 16:29:29 +02:00
Kitware Robot 764720c32b CMake Nightly Date Stamp 2015-10-18 00:01:13 -04:00
Stephen Kelly 31c4aee75a cmLocalGenerator: Port policy handling to cmGeneratorTarget. 2015-10-17 17:30:39 +02:00
Stephen Kelly 3e8ef64273 cmLocalGenerator: Port some API to cmGeneratorTarget. 2015-10-17 17:30:38 +02:00
Stephen Kelly cfb2f7508a Use cmGeneratorTarget for property access. 2015-10-17 17:30:38 +02:00
Stephen Kelly b857f0d84b Use GetName from cmGeneratorTarget. 2015-10-17 17:30:37 +02:00
Kitware Robot 2f269fdf0c CMake Nightly Date Stamp 2015-10-17 00:01:06 -04:00
Stephen Kelly ed09f3b292 Use IsImported from cmGeneratorTarget. 2015-10-16 20:24:44 +02:00
Stephen Kelly beff29f0d4 cmGeneratorTarget: Move ComputeVersionedName from cmTarget. 2015-10-16 20:24:44 +02:00
Stephen Kelly 12e4790a0b cmGeneratorTarget: Move GetTargetVersion from cmTarget. 2015-10-16 20:24:44 +02:00
Stephen Kelly 1427227720 cmGeneratorTarget: Move CheckCMP0004 from cmTarget. 2015-10-16 20:24:44 +02:00
Stephen Kelly 8f363d6771 cmGeneratorTarget: Move ImportInfo from cmTarget. 2015-10-16 20:24:43 +02:00
Stephen Kelly 5794dbc301 cmTarget: Inline the essential part of imported target location. 2015-10-16 20:24:43 +02:00
Stephen Kelly a892b285f8 cmGeneratorTarget: Move ImportedGetLocation from cmTarget. 2015-10-16 20:24:43 +02:00
Stephen Kelly cb8c728f17 cmGeneratorTarget: Move GetFullNameImported from cmTarget. 2015-10-16 20:24:43 +02:00
Stephen Kelly fb4fca0b5e cmGeneratorTarget: Access global state through LocalGenerator. 2015-10-16 20:24:43 +02:00
Stephen Kelly 50fb2ad646 cmGeneratorTarget: Port Utility items to cmGeneratorTarget. 2015-10-16 20:17:32 +02:00
Stephen Kelly d233030f5b cmGeneratorTarget: Port implementation to cmGeneratorTarget. 2015-10-16 20:17:31 +02:00
Stephen Kelly 0ebe2bbf4a cmGeneratorTarget: Port language computation to cmGeneratorTarget. 2015-10-16 20:17:31 +02:00
Stephen Kelly 60bd9f9c92 cmGeneratorTarget: Move GetObjectLibrariesCMP0026 from cmTarget. 2015-10-16 20:17:22 +02:00
Stephen Kelly 82a6eaf4d0 cmGeneratorTarget: Port TraceDependencies to cmTarget.
The problem of needing cmTarget is not solved with this, but the removal
of the cmTarget member is valuable.
2015-10-16 20:17:13 +02:00
Stephen Kelly 8aaed08696 cmGeneratorTarget: Port object library handling to cmGeneratorTarget. 2015-10-16 20:15:03 +02:00
Stephen Kelly 393654bf49 cmGeneratorTarget: Port internal class to cmGeneratorTarget. 2015-10-16 19:20:17 +02:00
Brad King 893ce307f9 Merge topic 'ghs-drop-optgroup'
ce7ccafc GHS: Remove extra flag to GHS MULTI compiler (#15771)
2015-10-16 09:35:41 -04:00
Brad King dfd371dc01 Merge topic 'genex-consumers-generator-targets'
c4ae1578 Genex: Port some access API to cmGeneratorTarget.
6d27a3db Genex: Port implementation to cmGeneratorTarget.
2015-10-16 09:35:37 -04:00
Brad King f13521317a Merge topic 'clean-up-cmTarget'
55474e61 cmState: Move GetTargetTypeName from cmTarget.
38df5c36 Remove now-obsolete casts.
4ee2b267 cmGeneratorTarget: Use enum for GetType.
eac15298 cmState: Move TargetType enum from cmTarget.
482b3811 cmTarget: Move link type enum out.
2ee1cb85 cmTarget: Move ImportInfoMap out of internal class.
a48bcabd cmTarget: Move backtrace member out of internal class.
6694d993 cmTarget: Remove unneeded constructors.
983c00f8 Generators: Use GetType from the cmGeneratorTarget.
2015-10-16 09:35:34 -04:00
Brad King a4f0b01939 Merge topic 'GetTargetDirectory-cmGeneratorTarget'
7f5ec9f1 cmLocalGenerator: Port GetTargetDirectory to cmGeneratorTarget.
06f56d3b cmLocalUnixMakefileGenerator3: Port AppendCleanCommand to cmGeneratorTarget.
c8f8f165 cmLocalUnixMakefileGenerator3: Port another API to cmGeneratorTarget.
9f299a12 cmLocalUnixMakefileGenerator3: Port API to cmGenertorTarget.
2015-10-16 09:35:32 -04:00
Kitware Robot 2f1c3401ec CMake Nightly Date Stamp 2015-10-16 00:01:06 -04:00
Stephen Kelly c4ae157865 Genex: Port some access API to cmGeneratorTarget. 2015-10-15 22:40:56 +02:00
Stephen Kelly 6d27a3dbfb Genex: Port implementation to cmGeneratorTarget. 2015-10-15 22:40:55 +02:00
Geoff Viola ce7ccafce2 GHS: Remove extra flag to GHS MULTI compiler (#15771)
Do not produce "{optgroup=GhsCommonOptions}" in the generated .gpj
files.  The flag was added originally to match an old project file, but
it does not seem necessary and is not compatible with all GHS versions.
2015-10-15 09:56:47 -04:00
Kitware Robot 8e394cf9e3 CMake Nightly Date Stamp 2015-10-15 00:01:05 -04:00
Stephen Kelly 55474e6182 cmState: Move GetTargetTypeName from cmTarget. 2015-10-15 00:41:40 +02:00
Stephen Kelly 38df5c36d6 Remove now-obsolete casts. 2015-10-15 00:41:40 +02:00
Stephen Kelly 4ee2b26708 cmGeneratorTarget: Use enum for GetType. 2015-10-15 00:41:40 +02:00
Stephen Kelly eac15298a8 cmState: Move TargetType enum from cmTarget.
Mostly automated:

 values=( "EXECUTABLE" "STATIC_LIBRARY" "SHARED_LIBRARY" "MODULE_LIBRARY" "OBJECT_LIBRARY" "UTILITY" "GLOBAL_TARGET" "INTERFACE_LIBRARY" "UNKNOWN_LIBRARY" "TargetType")
 for i in "${values[@]}"; do     git grep -l cmTarget::$i | xargs sed -i "s|cmTarget::$i|cmState::$i|g"; done
2015-10-15 00:41:39 +02:00
Stephen Kelly 482b3811e4 cmTarget: Move link type enum out.
Remove a reason for generate time code to depend on the cmTarget header/type.
2015-10-15 00:41:22 +02:00
Stephen Kelly 2ee1cb85e8 cmTarget: Move ImportInfoMap out of internal class. 2015-10-15 00:41:22 +02:00
Stephen Kelly a48bcabd33 cmTarget: Move backtrace member out of internal class. 2015-10-15 00:41:21 +02:00
Stephen Kelly 6694d99376 cmTarget: Remove unneeded constructors.
The compiler generated ones are fine here.
2015-10-15 00:41:21 +02:00
Stephen Kelly 983c00f8f9 Generators: Use GetType from the cmGeneratorTarget. 2015-10-15 00:41:19 +02:00
Stephen Kelly 7f5ec9f109 cmLocalGenerator: Port GetTargetDirectory to cmGeneratorTarget. 2015-10-15 00:33:12 +02:00
Stephen Kelly 06f56d3bf5 cmLocalUnixMakefileGenerator3: Port AppendCleanCommand to cmGeneratorTarget. 2015-10-15 00:23:53 +02:00
Stephen Kelly c8f8f16541 cmLocalUnixMakefileGenerator3: Port another API to cmGeneratorTarget. 2015-10-15 00:20:16 +02:00
Stephen Kelly 9f299a1225 cmLocalUnixMakefileGenerator3: Port API to cmGenertorTarget. 2015-10-15 00:11:21 +02:00
Brad King 088fcbf733 Merge topic 'wix-text-node'
5a266095 CPackWIX: Handle text nodes in XML patch content
2015-10-14 13:36:02 -04:00
Brad King ad3ff60f4a Merge topic 'genex-generator-objects'
2293d43d cmLocalGenerator: Store cmGeneratorTargets.
488723f5 cmMakefile: Store container of cmExportBuildFileGenerators.
15834405 cmGeneratorExpression: Port interface to cmGeneratorTarget.
11165525 cmGeneratorExpression: Port to cmLocalGenerator.
2015-10-14 13:35:59 -04:00
Brad King ff6ae3ecfc Merge topic 'use-generator-target'
1fdccff5 Genex: Port implementation detail to cmGeneratorTarget.
ce75c86e cmGeneratorTarget: Move GetSupportDirectory from cmTarget.
526cc7dc cmGeneratorTarget: Move HasImportLibrary from cmTarget.
8d2e3e53 cmGeneratorTarget: Move HasImplibGNUtoMS from cmTarget.
a143d4ac Sublime: Port some API to cmGeneratorTarget.
993aace7 cmGeneratorTarget: Port processILibs to cmGeneratorTarget.
43ade995 cmGeneratorTarget: Port getTypedProperty to cmGeneratorTarget.
5fd2f43f cmGeneratorTarget: Port handleSystemIncludesDep to cmGeneratorTarget.
f7acd742 cmGeneratorTarget: Port LinkImplClosure to cmGeneratorTarget.
763f7b19 cmCommonTargetGenerator: Port implementation detail to cmGeneratorTarget.
ceb35b63 cmLinkItem: Port to cmGeneratorTarget.
bf2d061a cmGeneratorTarget: Move FindTargetToLink from cmTarget.
61c02dec cmHeadToLinkInterfaceMap: Port to cmGeneratorTarget.
9ca4cae5 cmGeneratorTarget: Move GetUtilityItems from cmTarget.
d6b394ed cmComputeLinkDepends: Port result API to cmGeneratorTarget.
7c8236ef cmComputeLinkInformation: Port result API to cmGeneratorTarget.
...
2015-10-14 13:35:57 -04:00
Brad King 2380896a05 Merge topic 'refactor-state-initialization'
2bf7de16 Subdirs: Initialize from parent before configuring.
0aa34de5 cmState: Initialize properties immediately.
20b95ef8 cmState: Initialize default definitions immediately.
841164cb cmState: Initialize current directories immediately.
2c219baf cmState: Initialize top level source directories immediately.
84e0776e cmMakefile: Set default internal definitions directly.
871ab98d cmMakefile: Set internal definitions directly.
2015-10-14 13:35:56 -04:00
Stephen Kelly 2293d43d00 cmLocalGenerator: Store cmGeneratorTargets.
Relieve cmMakefile of this responsibility.
2015-10-14 13:32:09 -04:00
Stephen Kelly 488723f5cd cmMakefile: Store container of cmExportBuildFileGenerators.
Set a cmLocalGenerator on each instance at compute time.  That will
soon be needed to access cmGeneratorTarget instances.

If a cmExportBuildFileGenerator is processed early during configure time as a
result of CMP0024 it must be removed from the list to process later at generate
time.
2015-10-14 13:32:09 -04:00
Kitware Robot 84c1d4f920 CMake Nightly Date Stamp 2015-10-14 00:01:05 -04:00
Stephen Kelly 2bf7de167f Subdirs: Initialize from parent before configuring.
Add new API for the subdirs command to cmState.

This fixes a regression introduced in commit f716460e (cmMakefile: Move
invokation to initialize snapshot., 2015-10-06).
2015-10-14 00:34:11 +02:00
Stephen Kelly 0aa34de549 cmState: Initialize properties immediately.
Don't leave this as cmMakefile responsibility.
2015-10-14 00:16:21 +02:00
Stephen Kelly 20b95ef8c8 cmState: Initialize default definitions immediately.
Don't leave this as cmMakefile responsibility.
2015-10-14 00:16:20 +02:00
Stephen Kelly 841164cb36 cmState: Initialize current directories immediately.
Don't leave this as cmMakefile responsibility.
2015-10-14 00:16:07 +02:00
Stephen Kelly 2c219bafc0 cmState: Initialize top level source directories immediately.
Don't leave this as cmMakefile responsibility.
2015-10-14 00:16:07 +02:00
Stephen Kelly 84e0776e77 cmMakefile: Set default internal definitions directly.
The usage tracking of cmMakefile::AddDefinition is not needed.
2015-10-14 00:16:06 +02:00
Stephen Kelly 871ab98dad cmMakefile: Set internal definitions directly.
The usage tracking of cmMakefile::AddDefinition is not needed.
2015-10-14 00:16:06 +02:00
Kitware Robot 3d9cf05d2a CMake Nightly Date Stamp 2015-10-13 00:01:06 -04:00
Stephen Kelly 1583440509 cmGeneratorExpression: Port interface to cmGeneratorTarget. 2015-10-12 23:07:46 +02:00
Stephen Kelly 11165525ba cmGeneratorExpression: Port to cmLocalGenerator. 2015-10-12 23:07:46 +02:00
Nils Gladitz 5a266095ee CPackWIX: Handle text nodes in XML patch content 2015-10-12 21:53:08 +02:00
Stephen Kelly 1fdccff589 Genex: Port implementation detail to cmGeneratorTarget. 2015-10-12 18:39:59 +02:00
Stephen Kelly ce75c86ec3 cmGeneratorTarget: Move GetSupportDirectory from cmTarget. 2015-10-12 18:39:59 +02:00
Stephen Kelly 526cc7dc52 cmGeneratorTarget: Move HasImportLibrary from cmTarget. 2015-10-12 18:39:59 +02:00
Stephen Kelly 8d2e3e53b9 cmGeneratorTarget: Move HasImplibGNUtoMS from cmTarget. 2015-10-12 18:39:59 +02:00
Stephen Kelly a143d4ac60 Sublime: Port some API to cmGeneratorTarget. 2015-10-12 18:39:59 +02:00
Stephen Kelly 993aace78a cmGeneratorTarget: Port processILibs to cmGeneratorTarget. 2015-10-12 18:39:58 +02:00
Stephen Kelly 43ade99577 cmGeneratorTarget: Port getTypedProperty to cmGeneratorTarget. 2015-10-12 18:39:58 +02:00
Stephen Kelly 5fd2f43f64 cmGeneratorTarget: Port handleSystemIncludesDep to cmGeneratorTarget. 2015-10-12 18:39:58 +02:00
Stephen Kelly f7acd74215 cmGeneratorTarget: Port LinkImplClosure to cmGeneratorTarget. 2015-10-12 18:39:58 +02:00
Stephen Kelly 763f7b19fc cmCommonTargetGenerator: Port implementation detail to cmGeneratorTarget. 2015-10-12 18:39:58 +02:00
Stephen Kelly ceb35b63a7 cmLinkItem: Port to cmGeneratorTarget. 2015-10-12 18:39:58 +02:00
Stephen Kelly bf2d061ad3 cmGeneratorTarget: Move FindTargetToLink from cmTarget. 2015-10-12 18:39:58 +02:00
Stephen Kelly 61c02decce cmHeadToLinkInterfaceMap: Port to cmGeneratorTarget. 2015-10-12 18:39:58 +02:00
Stephen Kelly 9ca4cae51e cmGeneratorTarget: Move GetUtilityItems from cmTarget. 2015-10-12 18:39:58 +02:00
Stephen Kelly d6b394edcb cmComputeLinkDepends: Port result API to cmGeneratorTarget. 2015-10-12 18:39:58 +02:00
Stephen Kelly 7c8236efa7 cmComputeLinkInformation: Port result API to cmGeneratorTarget. 2015-10-12 18:39:58 +02:00
Stephen Kelly c7645fca12 cmComputeLinkInformation: Port data interface to cmGeneratorTarget. 2015-10-12 18:39:58 +02:00
Stephen Kelly ce8894aaf0 cmComputeLinkInformation: Port some implementation to cmGeneratorTarget. 2015-10-12 18:39:58 +02:00
Brad King e6b35abf5b Merge topic 'ctest-submit-content-type'
2a6e0b61 CTest: Set Content-Type header for http file upload (#15774)
2015-10-12 10:31:00 -04:00
Brad King 889d90de44 Merge branch 'ctest-submit-content-type' into release 2015-10-12 10:29:27 -04:00
Brad King aad0e62060 Merge topic 'use-generator-target'
1c1c2a12 cmGeneratorTarget: Port ExpandLinkItems away from cmTarget.
c66084f5 cmGeneratorTarget: Port GetImportLinkInterface away from cmTarget.
83c29e39 cmGeneratorTarget: Port ComputeLinkImplementationLibraries away from cmTarget.
19882554 cmGeneratorTarget: Port handleSystemIncludesDep away from cmTarget.
c1f687b1 cmGeneratorTarget: Port GetLinkImplementationLibrariesInternal.
a6e1f05c cmGeneratorTarget: Port ComputeLinkInterface away from cmTarget.
654002fe cmGeneratorTarget: Port ComputeLinkInterfaceLibraries away from cmTarget.
922c8901 cmGeneratorTarget: Port GetLinkInterface away from cmTarget.
eaa5b9cb cmGeneratorTarget: Port cmTargetCollectLinkLanguages away from cmTarget.
f539da12 cmGeneratorTarget: Port GetLinkInterfaceLibraries away from cmTarget.
1c5d70f9 cmGeneratorTarget: Port processILibs away from cmTarget.
064c2488 cmComputeLinkDepends: Port some API to cmGeneratorTarget.
3e428fdc cmGeneratorTarget: Move IsImportedSharedLibWithoutSOName from cmTarget.
110fd2fb cmGeneratorTarget: Move GetOutputTargetType from cmTarget.
e7391699 cmGeneratorTarget: Move HasMacOSXRpathInstallNameDir from cmTarget.
c5718217 cmGeneratorTarget: Move HaveInstallTreeRPATH from cmTarget.
...
2015-10-12 10:26:20 -04:00
Brad King 83d2b6f378 Merge topic 'refactor-cache-manager'
79a309d7 cmState: Port away from cmake instance.
e2eecae2 cmState: Move ParseCacheEntry from cmCacheManager.
b5212c68 cmState: Add API for cache version.
95b0d761 cmState: Externalize logic to caller.
6f02034e cmState: Make AddCacheEntry method private.
435a2f3c cmCacheManager: Port away from cmake instance.
062ed22e cmState: Add cache file manipulation wrappers.
a02e53eb Inline unary LoadCache.
bec3487f cmCacheManager: Remove cmMakefile dependency.
e0f740f1 Always cache entries through the cmake instance.
2afadb0d cmake: Port away from trivial cmCacheManager use.
3d8c299f cmake: Use existing cache API wrapper.
2015-10-12 10:26:18 -04:00
Brad King 762108f3ec Merge topic 'add-cmLocalGenerator-API'
223d0efe Remove some needless GetMakefile() calls.
a367416c cmLocalGenerator: Add current source directory accessor.
bbef3c2d cmLocalGenerator: Add current binary directory accessor.
12cb3bdc cmLocalGenerator: Add Home directory accessors.
72efa15d Eclipse: Port API to cmLocalGenerator.
f2a641d6 Kate: Remove unused variables.
10cf42f5 Kate: Port API to cmLocalGenerator.
e46ef270 export: Port internal method to cmGeneratorTarget.
53d3a1c9 cmMakefile: Remove unused GetProjectName calls.
4ab2750c cmLocalGenerator: Add GetProjectName method.
c8187f41 cmCPluginAPI: Inline code to get project name.
8c6e6dd3 cmMakefile: Inline initialization of project name.
27916f2c cmLocalGenerator: Add cmake instance accessor.
2015-10-12 10:26:15 -04:00
Brad King f3fa7c6bc3 Merge topic 'minor-cleanups'
096f0988 cmComputeLinkDepends: Remove unused typedef.
ee44be22 cmGeneratorTarget: Use local GetProperty method.
4f767afe cmMakefile: Remove unneeded container clears.
c72d276a C::B: Remove unused variables.
c99b6cef cmLocalGenerator: Devirtualize method.
2015-10-12 10:26:13 -04:00
Brad King 1a0da7d320 Merge topic 'osx-file-times-ns-precision'
8d27b407 cmFileTimeComparison: Port to OS X nanosecond times (#15769)
2015-10-12 10:26:03 -04:00
Brad King 859bd8d0c6 Merge topic 'update-kwsys'
0faccb83 bootstrap: Drop unnecessary KWSys platform check
265fb0cd cmFileTimeComparison: Update for lack of cmsys_STAT_HAS_ST_MTIM
8083285d Merge branch 'upstream-kwsys' into update-kwsys
13c22d28 KWSys 2015-10-06 (ed82989c)
2015-10-12 10:26:01 -04:00
Derek Bruening 2a6e0b611b CTest: Set Content-Type header for http file upload (#15774)
Sets the Content-Type header for http file uploads to avoid running afoul
of ModSecurity rules on the server.
2015-10-12 10:17:04 -04:00
Kitware Robot 70764ead1a CMake Nightly Date Stamp 2015-10-12 00:01:05 -04:00
Kitware Robot b46b88e075 CMake Nightly Date Stamp 2015-10-11 00:01:06 -04:00
Stephen Kelly 1c1c2a1201 cmGeneratorTarget: Port ExpandLinkItems away from cmTarget. 2015-10-10 17:06:56 +02:00
Stephen Kelly 79a309d786 cmState: Port away from cmake instance. 2015-10-10 15:42:02 +02:00
Stephen Kelly e2eecae205 cmState: Move ParseCacheEntry from cmCacheManager. 2015-10-10 15:36:59 +02:00
Stephen Kelly b5212c68de cmState: Add API for cache version. 2015-10-10 15:36:58 +02:00
Stephen Kelly 95b0d761a7 cmState: Externalize logic to caller. 2015-10-10 15:36:58 +02:00
Stephen Kelly 6f02034e66 cmState: Make AddCacheEntry method private. 2015-10-10 15:36:58 +02:00
Stephen Kelly 435a2f3ccb cmCacheManager: Port away from cmake instance. 2015-10-10 15:36:58 +02:00
Stephen Kelly 062ed22ec4 cmState: Add cache file manipulation wrappers. 2015-10-10 15:36:58 +02:00
Stephen Kelly a02e53eb94 Inline unary LoadCache. 2015-10-10 15:36:57 +02:00
Stephen Kelly bec3487fa9 cmCacheManager: Remove cmMakefile dependency.
Update comment.
2015-10-10 15:36:57 +02:00
Stephen Kelly e0f740f1b1 Always cache entries through the cmake instance. 2015-10-10 15:36:57 +02:00
Stephen Kelly 2afadb0d5a cmake: Port away from trivial cmCacheManager use. 2015-10-10 15:10:23 +02:00
Stephen Kelly 3d8c299f3e cmake: Use existing cache API wrapper. 2015-10-10 14:56:44 +02:00
Stephen Kelly c66084f5d7 cmGeneratorTarget: Port GetImportLinkInterface away from cmTarget. 2015-10-10 11:22:41 +02:00
Stephen Kelly 83c29e3903 cmGeneratorTarget: Port ComputeLinkImplementationLibraries away from cmTarget. 2015-10-10 11:22:27 +02:00
Stephen Kelly 1988255448 cmGeneratorTarget: Port handleSystemIncludesDep away from cmTarget. 2015-10-10 11:22:27 +02:00
Stephen Kelly c1f687b1ad cmGeneratorTarget: Port GetLinkImplementationLibrariesInternal. 2015-10-10 11:22:20 +02:00
Stephen Kelly a6e1f05c15 cmGeneratorTarget: Port ComputeLinkInterface away from cmTarget. 2015-10-10 11:21:11 +02:00
Stephen Kelly 654002feb8 cmGeneratorTarget: Port ComputeLinkInterfaceLibraries away from cmTarget. 2015-10-10 11:21:09 +02:00
Stephen Kelly 922c89014f cmGeneratorTarget: Port GetLinkInterface away from cmTarget. 2015-10-10 11:20:30 +02:00
Stephen Kelly eaa5b9cbb1 cmGeneratorTarget: Port cmTargetCollectLinkLanguages away from cmTarget. 2015-10-10 11:14:32 +02:00
Stephen Kelly f539da126b cmGeneratorTarget: Port GetLinkInterfaceLibraries away from cmTarget. 2015-10-10 11:14:31 +02:00
Stephen Kelly 1c5d70f9c2 cmGeneratorTarget: Port processILibs away from cmTarget. 2015-10-10 11:14:31 +02:00
Stephen Kelly 064c248811 cmComputeLinkDepends: Port some API to cmGeneratorTarget. 2015-10-10 11:14:31 +02:00
Stephen Kelly 223d0efe55 Remove some needless GetMakefile() calls. 2015-10-10 11:04:39 +02:00
Stephen Kelly a367416cec cmLocalGenerator: Add current source directory accessor. 2015-10-10 11:04:39 +02:00
Stephen Kelly bbef3c2da8 cmLocalGenerator: Add current binary directory accessor. 2015-10-10 11:04:39 +02:00
Stephen Kelly 3e428fdcb4 cmGeneratorTarget: Move IsImportedSharedLibWithoutSOName from cmTarget. 2015-10-10 11:03:48 +02:00
Stephen Kelly 110fd2fba1 cmGeneratorTarget: Move GetOutputTargetType from cmTarget. 2015-10-10 11:03:48 +02:00
Stephen Kelly e73916992c cmGeneratorTarget: Move HasMacOSXRpathInstallNameDir from cmTarget. 2015-10-10 11:03:48 +02:00
Kitware Robot 3fe240a79a CMake Nightly Date Stamp 2015-10-10 00:01:07 -04:00
Kitware Robot 9f6638c8a7 CMake Nightly Date Stamp 2015-10-09 00:01:08 -04:00
Stephen Kelly 096f098849 cmComputeLinkDepends: Remove unused typedef. 2015-10-09 01:08:31 +02:00
Stephen Kelly c5718217ad cmGeneratorTarget: Move HaveInstallTreeRPATH from cmTarget. 2015-10-09 01:04:38 +02:00
Stephen Kelly bf5eb4a3f3 cmGeneratorTarget: Move ComputePDBOutputDir from cmTarget. 2015-10-09 01:04:38 +02:00
Stephen Kelly 49017cddab cmGeneratorTarget: Move IsNullImpliedByLinkLibraries from cmTarget. 2015-10-09 01:04:38 +02:00
Stephen Kelly 0bae4a416f cmGeneratorTarget: Move output info from cmTarget. 2015-10-09 01:04:38 +02:00
Stephen Kelly 1abc20d81d cmGeneratorTarget: Move UsesDefaultOutputDir from cmTarget. 2015-10-09 01:04:38 +02:00
Stephen Kelly 50dc9b4440 cmGeneratorTarget: Move GetPDBDirectory from cmTarget. 2015-10-09 01:04:37 +02:00
Stephen Kelly 8b0168863e cmGeneratorTarget: Move GetDirectory from cmTarget. 2015-10-09 01:04:37 +02:00
Stephen Kelly ee44be22cb cmGeneratorTarget: Use local GetProperty method. 2015-10-09 00:07:55 +02:00
Stephen Kelly 4f767afe1d cmMakefile: Remove unneeded container clears.
No need to do that in a destructor.
2015-10-09 00:05:14 +02:00
Stephen Kelly c72d276a5a C::B: Remove unused variables. 2015-10-09 00:04:50 +02:00
Stephen Kelly c99b6cefbe cmLocalGenerator: Devirtualize method. 2015-10-09 00:03:40 +02:00
Stephen Kelly 12cb3bdce4 cmLocalGenerator: Add Home directory accessors.
Reduce reasons for cmLocalGenerator to have a cmMakefile.
2015-10-09 00:00:19 +02:00
Stephen Kelly 72efa15dc2 Eclipse: Port API to cmLocalGenerator. 2015-10-09 00:00:19 +02:00
Stephen Kelly f2a641d68b Kate: Remove unused variables. 2015-10-09 00:00:19 +02:00
Stephen Kelly 10cf42f5ae Kate: Port API to cmLocalGenerator. 2015-10-09 00:00:19 +02:00
Stephen Kelly e46ef270ed export: Port internal method to cmGeneratorTarget. 2015-10-09 00:00:18 +02:00
Stephen Kelly 53d3a1c95a cmMakefile: Remove unused GetProjectName calls. 2015-10-09 00:00:18 +02:00
Stephen Kelly 4ab2750c54 cmLocalGenerator: Add GetProjectName method. 2015-10-09 00:00:18 +02:00
Stephen Kelly c8187f414b cmCPluginAPI: Inline code to get project name. 2015-10-09 00:00:18 +02:00
Stephen Kelly 8c6e6dd3ce cmMakefile: Inline initialization of project name. 2015-10-09 00:00:18 +02:00
Stephen Kelly e0261a1e20 cmTarget: Make OutputInfo definition public. 2015-10-08 23:41:30 +02:00
Stephen Kelly df42dbb355 cmGeneratorTarget: Move link implementation from cmTarget. 2015-10-08 23:41:29 +02:00
Stephen Kelly a8429a402d cmTarget: Split storage of link implementation from backtraces. 2015-10-08 23:41:29 +02:00
Stephen Kelly 370bb92c10 cmGeneratorTarget: Issue messages through the local generator. 2015-10-08 23:41:27 +02:00
Stephen Kelly 27916f2cd1 cmLocalGenerator: Add cmake instance accessor. 2015-10-08 23:25:11 +02:00
Brad King 8d27b40778 cmFileTimeComparison: Port to OS X nanosecond times (#15769) 2015-10-08 13:37:37 -04:00
Brad King 265fb0cdc7 cmFileTimeComparison: Update for lack of cmsys_STAT_HAS_ST_MTIM
The KWSys Configure.hxx header no longer exposes this value.
Take the value from the KWSys try compile result variable instead.
2015-10-08 13:26:44 -04:00
Brad King 8083285d1b Merge branch 'upstream-kwsys' into update-kwsys 2015-10-08 13:26:08 -04:00
Brad King 750391afc1 Merge topic 'cmGeneratorTarget-sources'
af71c7b4 cmTarget: Remove Compute method.
dce6581b cmGeneratorTarget: Move computed sources from cmTarget.
7b6dc0fe cmGeneratorTarget: Inline GetSourceFiles from cmTarget.
33f87bb1 cmGeneratorTarget: Move AddInterfaceEntries method.
da1b0449 cmTarget: Remove a conditional for generate-time source addition.
fe113f0f cmTarget: Split storage of sources from genexes.
776ff8eb cmTarget: Add Compute API for sources.
64f73150 cmTarget: Add API for generate-time source addition.
c38e30f6 cmGeneratorTarget: Add methods for generate-time source addition.
5d3776a7 Access sources through cmGeneratorTarget.
7ce0991a GHS: Port API to cmGeneratorTarget.
156bd2c9 Xcode: Port away from unnecessary CMP0049 compatibility.
01e666c7 cmTarget: Join strings conditionally.
bf28b787 cmGeneratorTarget: Rename internal member.
9d653f9c cmFLTKWrapUI: Remove CMake 2.2 compat code.
2015-10-08 13:08:32 -04:00
Brad King db266aaade Merge topic 'refactor-current-dir-initialization'
28749903 cmState: Internalize the initialization of a snapshot from its parent.
6c02f62f Remove now-unused directory setters.
360e4e1d Set the current dirs on the snapshot before creating the cmMakefile.
f716460e cmMakefile: Move invokation to initialize snapshot.
2015-10-08 13:08:30 -04:00
Brad King c997595ea3 Merge topic 'cpack-nsis-bitmap'
3758af12 CPackNSIS: Add options to set the bitmap for NSIS installer left side
2015-10-08 10:31:48 -04:00
Brad King 3cf71728a1 Merge topic 'update-kwsys'
d0c3bf65 Merge branch 'upstream-kwsys' into update-kwsys
bca73252 KWSys 2015-10-06 (d79801bb)
2015-10-08 10:31:46 -04:00
Kitware Robot 24c97529ca CMake Nightly Date Stamp 2015-10-08 00:01:05 -04:00
Stephen Kelly 28749903b6 cmState: Internalize the initialization of a snapshot from its parent. 2015-10-07 20:19:42 +02:00
Stephen Kelly 6c02f62f75 Remove now-unused directory setters. 2015-10-07 20:19:42 +02:00
Stephen Kelly 360e4e1db0 Set the current dirs on the snapshot before creating the cmMakefile.
The cmMakefile should get a fully prepared snapshot and not clobber its
definitions.  It should eventually be able to process list files from any
starting-point snapshot, though that is some refactoring away still.
2015-10-07 20:19:41 +02:00
Stephen Kelly af71c7b479 cmTarget: Remove Compute method. 2015-10-07 20:17:55 +02:00