Commit Graph

21301 Commits

Author SHA1 Message Date
Brad King add7abc835 Ninja: Restat custom command byproducts even with a SYMBOLIC output (#16049)
The change in commit v3.5.0-rc1~198^2 (Ninja: Always re-run custom
commands that have symbolic dependencies, 2015-11-19) broke the
byproducts feature added by commit v3.2.0-rc1~340^2~2 (Add an option for
explicit BYPRODUCTS of custom commands, 2014-11-13) when SYMBOLIC
outputs also appear.  This case occurs with AUTORCC-generated custom
targets because the output is SYMBOLIC (to always run) and the generated
file is a byproduct (for restat so dependents do not run unnecessarily).

The two use cases conflict because Ninja does not support per-output
restat.  Favor restat whenever byproducts are present because it is
required for byproducts to work correctly.  In use cases where we want
an always-run chain we simply will not be able to also use byproducts.
2016-04-05 16:20:28 -04:00
Brad King ff805113c7 Ninja: Fix detection of custom command symbolic outputs
Fix logic introduced by commit v3.5.0-rc1~198^2 (Ninja: Always re-run
custom commands that have symbolic dependencies, 2015-11-19) to not
consider only the last output.  We need to know if any output is
SYMBOLIC, so stop checking as soon as one is found.
2016-04-05 16:19:52 -04:00
Brad King f831d752ae cmFortranParser: Skip #line directives that do not name files
Since commit v3.5.0-rc1~241^2~1 (cmFortranParser: Parse #line
directives, 2015-11-02) our Fortran dependency scanner parses `#line`
directives to extract the named files.  However, some compilers produce
`#line` directives that name directories instead of files.  Work around
such cases by verifying that the extracted path names a file and not a
directory.
2016-04-05 12:59:45 -04:00
Brad King fd40b0f875 Merge topic 'ctest-run-submodule-sync'
c18d91ad Help: add release notes for topic 'ctest-run-submodule-sync'
7f560743 cmCTestGIT: run `git submodule sync` before updating submodules
06b310b5 cmCTestGIT: add an option to initialize submodules on update
56c1ea40 cmCTestGIT: fix git version references
2016-04-05 09:38:06 -04:00
Brad King 25a38ecfe7 Merge topic 'cobertura_off_by_one'
398b8800 cmParseCoberturaCoverage: Remove extra coverage line
2016-04-05 09:38:04 -04:00
Brad King adea45e15a Merge topic 'fix-target-alias-in-subdir'
0e44f489 Rename local target lookup methods to clarify purpose
bc30f8b5 Fix lookup of an ALIAS target outside aliased target's directory (#16044)
2016-04-05 09:37:59 -04:00
Kitware Robot 6c60f116cb CMake Nightly Date Stamp 2016-04-05 00:01:05 -04:00
Kitware Robot ff6211e635 CMake Nightly Date Stamp 2016-04-04 00:01:05 -04:00
Kitware Robot 2e8837d00d CMake Nightly Date Stamp 2016-04-03 00:01:04 -04:00
Kitware Robot 228801b9c8 CMake Nightly Date Stamp 2016-04-02 00:01:05 -04:00
Ben Boeckel 7f5607439e cmCTestGIT: run `git submodule sync` before updating submodules
If the URL of a submodule changes upstream, the commits referenced at
the old URL may not be available and will cause an update failure.
2016-04-01 15:50:31 -04:00
Ben Boeckel 06b310b5d5 cmCTestGIT: add an option to initialize submodules on update
Currently, CTest will not initialize any submodules within the already
checked out source tree. Add an option to do so. The use case for not
doing so is that some submodules may not be necessary for the current
test and keeping network usage down may be important.
2016-04-01 15:50:31 -04:00
Ben Boeckel 56c1ea40c5 cmCTestGIT: fix git version references
Git does not use a 4-component version number.
2016-04-01 15:50:27 -04:00
Brad King 0e44f4894f Rename local target lookup methods to clarify purpose
Rename methods:

* `cmMakefile::Find{ => LocalNonAlias}Target`
* `cmLocalGenerator::Find{ => LocalNonAlias}GeneratorTarget`

These names clarify that they are for directory-local target names
and do not consider alias targets.
2016-04-01 15:44:16 -04:00
Brad King bc30f8b5e6 Fix lookup of an ALIAS target outside aliased target's directory (#16044)
Refactoring in commit v3.5.0-rc1~272^2~11 (cmTarget: Implement ALIAS in
terms of name mapping, 2015-10-25) accidentally introduced logic that
assumes ALIAS targets always reference targets in their own directory.
Fix this and add a test case.

The configure-step fix is that `cmMakefile::FindTarget` should not consider
aliases.  The purpose of this method is just to look up targets local to
a directory.  Since ALIAS and normal targets share a namespace we know a
locally defined target will never collide with an ALIAS target anyway.
The method has 3 call sites, and this change is safe for all of them:

* `cmInstallCommand::HandleTargetsMode`: Rejects aliases before the call.
* `cmFLTKWrapUICommand::FinalPass`: Should never have considered aliases.
* `cmMakefile::FindTargetToUse`: Falls back to a global lookup anyway.

The generate-step fix is that `cmLocalGenerator::FindGeneratorTarget`
should not consider aliases.  This method is the generate-step
equivalent to the above.  The method has 2 call sites, and this change
is safe for both of them:

* `cmInstallTargetGenerator::Compute`: Never uses an alias target name.
* `cmLocalGenerator::FindGeneratorTargetToUse`: Falls back to global lookup.

Reported-by: Matteo Settenvini <matteo@member.fsf.org>
2016-04-01 15:44:16 -04:00
Brad King de7f2ae3f1 Merge topic 'eclipse-source-groups'
4828a78c Eclipse: Implement traversal of nested source groups (#15701)
2016-04-01 10:01:58 -04:00
Brad King e8c1363ee8 Merge topic 'update-kwsys'
168e44e2 Merge branch 'upstream-KWSys' into update-kwsys
731ad172 KWSys 2016-03-31 (3392da1d)
2016-04-01 10:01:52 -04:00
Kitware Robot 9e33f02bd9 CMake Nightly Date Stamp 2016-04-01 00:01:07 -04:00
Patrik Lehmann 4828a78c10 Eclipse: Implement traversal of nested source groups (#15701) 2016-03-31 09:34:14 -04:00
Brad King 168e44e202 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-03-31 (3392da1d)
2016-03-31 08:46:50 -04:00
Brad King 0aa736e625 Merge topic 'fix-spelling-typos'
49e82c15 Fix spelling typos in comments and documentation (#16037)
2016-03-31 08:46:03 -04:00
Brad King dea0b6b718 Merge topic 'update-kwsys'
dc333a71 Merge branch 'upstream-KWSys' into update-kwsys
735c41dd KWSys 2016-03-29 (b51abb30)
2016-03-31 08:46:01 -04:00
Brad King e2465c19c6 Merge topic 'preallocate-condition-keywords'
5c324294 cmConditionEvaluator: Pre-allocate keyword strings
2016-03-31 08:45:56 -04:00
Brad King 91d91d9d5d Merge topic 'simplify-condition-context'
2379b3ae cmConditionEvaluator: Remove GetConditionContext method
02fce523 cmConditionEvaluator: Drop unnecessary path conversion
2016-03-31 08:45:54 -04:00
Brad King e0917f29a4 Merge topic 'vs-fortran-MP'
729f5f01 VS: Map Intel Fortran `/MP` flag for multi-processor compilation (#15990)
2016-03-31 08:45:51 -04:00
Kitware Robot b290ddf925 CMake Nightly Date Stamp 2016-03-31 00:01:05 -04:00
Zack Galbreath 398b8800e3 cmParseCoberturaCoverage: Remove extra coverage line
Fix off-by-one error in cmParseCoberturaCoverage that added an
extra blank line to the end of source file being covered.
2016-03-30 14:22:07 -04:00
Kitware Robot 00e4d1220b CMake Nightly Date Stamp 2016-03-30 00:01:06 -04:00
Felix Geyer 49e82c15d5 Fix spelling typos in comments and documentation (#16037)
The Debian package checker tool (lintian) detected several typos in
CMake.
2016-03-29 14:31:02 -04:00
Brad King dc333a7115 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-03-29 (b51abb30)
2016-03-29 14:29:42 -04:00
Brad King 5c324294ce cmConditionEvaluator: Pre-allocate keyword strings
Calls to `IsKeyword("...")` cause runtime construction of std::string.
Avoid possible repeated allocation by pre-allocating keyword strings
during initialization.
2016-03-29 10:32:28 -04:00
Brad King 2379b3ae31 cmConditionEvaluator: Remove GetConditionContext method
All it does is call cmListFileContext::FromCommandContext, so move this
to the call sites.
2016-03-29 10:10:20 -04:00
Brad King 02fce523a1 cmConditionEvaluator: Drop unnecessary path conversion
In commit v3.4.0-rc2~1^2 (cmIfCommand: Issue CMP0054 warning with
appropriate context, 2015-10-20) we added construction of a
cmListFileContext with conversion of the calling file path.  This code
path runs on every condition (e.g. `if()`) and so the path conversion
has a noticeable performance cost.  Fortunately the only use of this
context is for insertion into cmMakefile::CMP0054ReportedIds so we do
not need to convert the path.  Simply drop the conversion.
2016-03-29 10:02:17 -04:00
Brad King 2ab344a1dc Merge topic 'ghs-link-flags'
36ad8dd4 GHS: Implement link flags and dirs for non-target groups (#16029)
230d50ed GHS: Factor out compiler information shared among languages
2016-03-29 09:24:36 -04:00
Brad King 729f5f01b4 VS: Map Intel Fortran `/MP` flag for multi-processor compilation (#15990) 2016-03-29 08:45:00 -04:00
Kitware Robot 60de9b8a4f CMake Nightly Date Stamp 2016-03-29 00:01:05 -04:00
Geoff Viola 36ad8dd440 GHS: Implement link flags and dirs for non-target groups (#16029) 2016-03-28 11:46:46 -04:00
Brad King c69ed0a884 Merge topic 'only_change_timeout_once'
06b7f5d2 CTest: Only apply the secondary test timeout once
2016-03-28 09:25:40 -04:00
Kitware Robot aa9227aa4d CMake Nightly Date Stamp 2016-03-28 00:01:04 -04:00
Kitware Robot 6732749e5b CMake Nightly Date Stamp 2016-03-27 00:01:04 -04:00
Kitware Robot 9b5652846f CMake Nightly Date Stamp 2016-03-26 00:01:10 -04:00
Kitware Robot 484d7ca0e0 CMake Nightly Date Stamp 2016-03-25 00:01:06 -04:00
Brad King 64130a7e79 CMake 3.5.1 2016-03-24 09:56:42 -04:00
Brad King 6d36fc8341 Merge topic 'fix-variable_watch-reallocation'
c6104028 Avoid occasional use-after-free when a variable watch is executed
2016-03-24 08:49:46 -04:00
Brad King 917d49ed93 Merge topic 'cmake-depend-in-project-only'
b06e17da Help: Add notes for topic 'cmake-depend-in-project-only'
52540245 Tests: Add test for CMAKE_DEPENDS_IN_PROJECT_ONLY variable
b1e1aa1e Makefile: Optionally scan only source and build trees for dependencies
2016-03-24 08:49:43 -04:00
Brad King 5b2acf6c1c Merge topic 'vs-startup-project'
ad140c6e VS: Put ALL_BUILD in the PREDEFINED_TARGETS_FOLDER
f069be05 VS: Fix default target support for targets nested inside a folder
c05ea485 VS: Improve unit test macros
78ec0461 VS: Add option to choose the `.sln` startup project (#15578)
2016-03-24 08:49:41 -04:00
Kitware Robot 02166c33db CMake Nightly Date Stamp 2016-03-24 00:01:08 -04:00
Brad King 277b7567f7 Merge branch 'fix-variable_watch-reallocation' into release 2016-03-23 16:18:08 -04:00
Yves Frederix c610402825 Avoid occasional use-after-free when a variable watch is executed
Re-lookup a variable value when an associated VariableWatch is executed
in cmMakefile::GetDefinition.

This fixes a problem with 'def' sometimes becoming invalid due to memory
reallocation inside an std::vector. In this case, the problem was that
if the call to VariableAccessed actually executed a callback function,
the internal state of the makefile has changed due to the associated
function scope being pushed. This in turn implies that a new
cmDefinitions instance was pushed in cmMakefile::VarTree. As
cmLinkedTree is based on an std::vector, this push can have triggered
reallocation of its internal memory buffer. However, as the value of
'def', which was computed on method entry, actually points to a property
of one of the cmDefinitions instances in cmMakefile::VarTree,
reallocation can invalidate the value of 'def' so that it cannot simply
be returned at the end of the function. The solution implemented here is
to simply lookup the value of 'def' again.
2016-03-23 16:17:36 -04:00
Taylor Braun-Jones ad140c6e1b VS: Put ALL_BUILD in the PREDEFINED_TARGETS_FOLDER 2016-03-23 13:22:15 -04:00
Taylor Braun-Jones f069be0548 VS: Fix default target support for targets nested inside a folder
It's not actually the first target in a `.sln` file that is treated as
the default startup project, but rather the first fully defined target.
2016-03-23 13:22:15 -04:00
Zack Galbreath 06b7f5d2ca CTest: Only apply the secondary test timeout once
This commit fixes a bug in the implementation of the test property
TIMEOUT_AFTER_MATCH.  The new timeout value was being applied
every time a line was output by the test after the match had been
encountered.  Now the new timeout value is only set once.

This commit also improves some output formatting related to this
property.
2016-03-23 12:09:41 -04:00
Brad King 405766757c Merge topic 'use-cmXMLWriter'
51465da1 CPack/IFW: port to cmXMLWriter
754485af cmExtraEclipseCDT4Generator: port to cmXMLWriter
c45671b0 cmGlobalKdevelopGenerator: port to cmXMLWriter
dcdc270e cmExtraCodeLiteGenerator: port to cmXMLWriter
27e09764 cmExtraCodeBlocksGenerator: port to cmXMLWriter
d7407621 cmXMLWriter: add Doctype() method
dd27e313 cmXMLWriter: overload Element() method for empty elements
2016-03-23 11:19:19 -04:00
Daniel Pfeifer 51465da1ec CPack/IFW: port to cmXMLWriter 2016-03-23 11:18:16 -04:00
Daniel Pfeifer 754485afff cmExtraEclipseCDT4Generator: port to cmXMLWriter 2016-03-23 11:18:15 -04:00
Daniel Pfeifer c45671b0f1 cmGlobalKdevelopGenerator: port to cmXMLWriter 2016-03-23 11:18:15 -04:00
Kitware Robot 38caf1bb74 CMake Nightly Date Stamp 2016-03-23 00:01:06 -04:00
Brad King 6201c1a6ce Merge topic 'timeout_after_match'
de7afd29 Help: Add notes for topic 'timeout_after_match'
993e48d0 CTest: Optionally use a secondary test timeout after matching output
2016-03-22 16:09:28 -04:00
Attila Krasznahorkay b1e1aa1e6a Makefile: Optionally scan only source and build trees for dependencies
Add a `CMAKE_DEPENDS_IN_PROJECT_ONLY` variable to activate the behavior.
2016-03-22 16:04:15 -04:00
Zack Galbreath 993e48d045 CTest: Optionally use a secondary test timeout after matching output
Allow a test N seconds to complete after we detect a matching line in
its output.  Activate this behavior with a new TIMEOUT_AFTER_MATCH test
property.
2016-03-22 11:17:55 -04:00
Brad King 41c17c1d2e Merge topic 'ghs-try_compile'
bf3e76d2 GHS: Fix try_compile (#15975)
2016-03-22 11:15:41 -04:00
Brad King 2f9e6551c0 Merge topic 'ninja-directory-targets'
9ead71df Help: Add notes for topic 'ninja-directory-targets'
e9bf8ec8 Ninja: Add test for `$subdir/all` targets
ca575fe9 Ninja: Add `$subdir/all` targets
2016-03-22 11:15:38 -04:00
Davy Durham 78ec046130 VS: Add option to choose the `.sln` startup project (#15578)
Add a `VS_STARTUP_PROJECT` directory property to specify the project
that should be placed first in the `.sln` file so that it will be
selected as the default startup project.

Co-Author: Taylor Braun-Jones <taylor.braunjones@avigilon.com>
2016-03-22 07:57:00 -04:00
Kitware Robot 1449b11e19 CMake Nightly Date Stamp 2016-03-22 00:01:06 -04:00
Geoff Viola bf3e76d214 GHS: Fix try_compile (#15975) 2016-03-21 10:35:01 -04:00
Daniel Pfeifer dcdc270eeb cmExtraCodeLiteGenerator: port to cmXMLWriter 2016-03-21 10:11:53 -04:00
Daniel Pfeifer 27e0976453 cmExtraCodeBlocksGenerator: port to cmXMLWriter 2016-03-21 10:11:53 -04:00
Daniel Pfeifer d740762181 cmXMLWriter: add Doctype() method 2016-03-21 10:11:53 -04:00
Daniel Pfeifer dd27e31351 cmXMLWriter: overload Element() method for empty elements 2016-03-21 10:11:53 -04:00
Brad King cd992170db Merge topic 'cpack-osx-optional-CoreServices'
d84ba668 CPack: Avoid using OS X CoreServices if compiler fails on header (#16021)
2016-03-21 09:39:24 -04:00
Kitware Robot bbab373b00 CMake Nightly Date Stamp 2016-03-21 00:01:04 -04:00
Kitware Robot 33594f20fa CMake Nightly Date Stamp 2016-03-20 00:01:07 -04:00
Kitware Robot a9cb00cd50 CMake Nightly Date Stamp 2016-03-19 00:01:05 -04:00
Brad King d9857c8457 Merge branch 'cpack-osx-optional-CoreServices' into release 2016-03-18 11:15:15 -04:00
Brad King d84ba668d7 CPack: Avoid using OS X CoreServices if compiler fails on header (#16021)
Some compilers on OS X report errors in the CoreServices framework headers.
Check for support of the header ahead of time and compile the relevant code
only when the header is available.
2016-03-18 11:12:51 -04:00
Charles Huet ca575fe935 Ninja: Add `$subdir/all` targets
With the Makefile generator one can use `cd $subdir; make all` to build
all targets associated with a given subdirectory.  This is not possible
to do with the Ninja generator since there is only one `build.ninja`
file at the top of the build tree.  However, we can approximate it by
allowing one to run `ninja $subdir/all` at the top of the tree to build
the targets in the corresponding subdirectory.

Port logic from cmGlobalUnixMakefileGenerator3::WriteDirectoryRule2 to
cmGlobalNinjaGenerator in order to produce equivalent directory-level
targets.
2016-03-18 10:59:01 -04:00
Brad King b7eb7e0f78 Merge topic 'cmake-gui-osx-identifier'
7b990e82 cmake-gui: Populate CFBundleIdentifier in our Info.plist file (#16023)
2016-03-18 09:43:18 -04:00
Brad King 66d146431d Merge topic 'cpack-osx-no-carbon'
c718070c CPack: Avoid requiring Carbon framework on OS X (#16021)
2016-03-18 09:43:15 -04:00
Brad King 9e5f914d86 Merge topic 'vs-remote-directory'
a3bcf2aa VS: Fix WinCE remote debugger tool per-config target name
2016-03-18 09:43:13 -04:00
Kitware Robot 908259084f CMake Nightly Date Stamp 2016-03-18 00:01:06 -04:00
Brad King 1b034123e7 Merge branch 'cmake-gui-osx-identifier' into release 2016-03-17 16:30:00 -04:00
Brad King 7b990e82c5 cmake-gui: Populate CFBundleIdentifier in our Info.plist file (#16023) 2016-03-17 16:07:39 -04:00
Sean McBride c718070c08 CPack: Avoid requiring Carbon framework on OS X (#16021)
In commit v3.5.0-rc1~232^2 (CPackDMG: Add support for multilingual SLAs,
2015-10-19) we added use of the Carbon framework in order to get access
to its APIs to convert Script Manager RegionCode values.  This is not
necessary.  Instead we can use CoreServices.

While at it, replace individual CoreFoundation includes with including
the entire framework, which is the correct way.
2016-03-17 13:53:51 -04:00
Brad King d9fc4dfe3c Merge topic 'use-GetCMakeRoot'
3144857e Avoid depending on CMAKE_ROOT cache entry internally (#16015)
2016-03-17 09:41:32 -04:00
Brad King a3bcf2aa2c VS: Fix WinCE remote debugger tool per-config target name
Fix the DebuggerTool RemoteExecutable value added by commit a22f9967
(VS: Optionally generate remote directory for WinCE projects,
2016-02-15) to account for the configuration when computing the target
name.
2016-03-17 09:37:51 -04:00
Kitware Robot 811e297454 CMake Nightly Date Stamp 2016-03-17 00:01:06 -04:00
Brad King f5eda70690 Merge topic 'vs-remote-directory'
a22f9967 VS: Optionally generate remote directory for WinCE projects
2016-03-16 09:08:01 -04:00
Brad King 3144857e1e Avoid depending on CMAKE_ROOT cache entry internally (#16015)
Use cmSystemTools::GetCMakeRoot() which always knows the location of our
resources.  Do not depend on CMAKE_ROOT because the user could unset it
from the cache.
2016-03-16 09:03:26 -04:00
Kitware Robot 98f3edcec9 CMake Nightly Date Stamp 2016-03-16 00:01:05 -04:00
Andrej Bosik a22f996725 VS: Optionally generate remote directory for WinCE projects
Teach the VS 2008 and 2005 generators to set the `RemoteDirectory`
in `DeploymentTool` and the `RemoteExecutable` in `DebuggerTool`.
Use a `DEPLOYMENT_REMOTE_DIRECTORY` target property to specify the
value.
2016-03-15 14:34:26 -04:00
Kitware Robot 1d4ab06a70 CMake Nightly Date Stamp 2016-03-15 00:01:08 -04:00
Brad King a87253154e Merge topic 'remove-vs7.0-generator'
f47b4f68 Drop Visual Studio 7 generator for VS .NET 2002
2016-03-14 10:37:50 -04:00
Kitware Robot b775ba20c6 CMake Nightly Date Stamp 2016-03-14 00:01:03 -04:00
Kitware Robot 96a19fc324 CMake Nightly Date Stamp 2016-03-13 00:01:03 -05:00
Kitware Robot c374cae510 CMake Nightly Date Stamp 2016-03-12 00:01:05 -05:00
Brad King f47b4f68a9 Drop Visual Studio 7 generator for VS .NET 2002
This generator has been deprecated since CMake 3.3.  Remove it.
2016-03-11 08:53:50 -05:00
Kitware Robot 114b693d49 CMake Nightly Date Stamp 2016-03-11 00:01:04 -05:00
Brad King 2b64dc7cab Merge topic 'update-kwsys'
fd466fe6 Merge branch 'upstream-KWSys' into update-kwsys
cd4fef30 KWSys 2016-03-09 (36d8666f)
2016-03-10 09:16:26 -05:00
Brad King 1ed74b9d22 Merge topic 'remove-vs6-generator'
b42866a3 Drop Visual Studio 6 generator
cd9ba3ec cmLocalVisualStudio7Generator: Fix name of helper function
2016-03-10 09:16:23 -05:00
Brad King 612a8b3bd8 Merge topic 'vs-clang-cl'
491b41dd Help: Add notes for topic 'vs-clang-cl'
ad6d27ac Tests: do not build PrecompiledHeader on Clang/C2
a0f0541f Tests: fix PDBDirectoryAndName on Clang/C2
3541af67 Tests: fix Plugin building on Clang/C2
1902c293 Tests: fix complexOneConfig building on Clang/C2
cab2ec11 Tests: fix Complex building on Clang/C2
ada3736c Tests: fix Module.GenerateExportHeader building on Clang/C2
123b7e13 Tests: fix AliasTarget building on Clang/C2
445d4d4b VS 14: Add flag map for -std= to CppLanguageStandard tag in project files
0a785eb4 Features: Clang has no cxx_decltype_incomplete_return_type in MSVC sim mode
2c2ec488 VS: in Clang/C2 toolset, setup correct compiler settings
37afe00f CMakeDetermineCompilerId: Add detection of clang.exe bundled with VS
2016-03-10 09:16:16 -05:00
Brad King 707b400e74 Merge topic 'xcode-regenerate-on-deleted-files'
111cd679 Xcode: ReRunCMake even if files disappeared (#15992)
2016-03-10 09:16:08 -05:00
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
Stephen Kelly dce6581b7b cmGeneratorTarget: Move computed sources from cmTarget. 2015-10-07 08:37:58 +02:00
Stephen Kelly 7b6dc0fe45 cmGeneratorTarget: Inline GetSourceFiles from cmTarget. 2015-10-07 08:37:58 +02:00
Stephen Kelly 33f87bb1f5 cmGeneratorTarget: Move AddInterfaceEntries method.
It will be needed here in a follow-up commit.
2015-10-07 08:37:57 +02:00
Stephen Kelly da1b0449d9 cmTarget: Remove a conditional for generate-time source addition.
It is not really necessary.
2015-10-07 08:37:57 +02:00
Stephen Kelly fe113f0fd4 cmTarget: Split storage of sources from genexes. 2015-10-07 08:37:57 +02:00
Stephen Kelly 776ff8eb0b cmTarget: Add Compute API for sources.
This method is a refactoring artifact.  It will be removed in a
follow-up.
2015-10-07 08:37:57 +02:00
Stephen Kelly 64f73150b8 cmTarget: Add API for generate-time source addition.
This method is a refactoring artifact.  It will be removed in a
follow-up.
2015-10-07 08:37:57 +02:00
Stephen Kelly c38e30f68c cmGeneratorTarget: Add methods for generate-time source addition. 2015-10-07 08:37:57 +02:00
Stephen Kelly 5d3776a7eb Access sources through cmGeneratorTarget. 2015-10-07 08:37:56 +02:00
Stephen Kelly 7ce0991a7a GHS: Port API to cmGeneratorTarget. 2015-10-07 08:37:56 +02:00
Kitware Robot 2c4f902336 CMake Nightly Date Stamp 2015-10-07 00:01:07 -04:00
Stephen Kelly f716460ed8 cmMakefile: Move invokation to initialize snapshot. 2015-10-06 21:46:09 +02:00
Stephen Kelly 156bd2c983 Xcode: Port away from unnecessary CMP0049 compatibility.
The input does not need the conversion.
2015-10-06 20:16:21 +02:00
Stephen Kelly 01e666c70e cmTarget: Join strings conditionally. 2015-10-06 20:16:20 +02:00
Stephen Kelly bf28b7874b cmGeneratorTarget: Rename internal member.
Leave the old name available for another use.
2015-10-06 20:16:20 +02:00
Stephen Kelly 9d653f9c1c cmFLTKWrapUI: Remove CMake 2.2 compat code.
CMake 3.0 dropped CMake <= 2.4 compatibility.
2015-10-06 20:16:20 +02:00
Brad King 256bf8876a Merge topic 'cmGeneratorTarget-exports'
d945b36a cmExportTryCompileFileGenerator: Evaluate genex with cmGeneratorTarget.
48f8b6ac cmExportFileGenerator: Evaluate genex with cmGeneratorTarget.
2015-10-06 10:59:13 -04:00
Brad King 53d90de3d9 Merge topic 'clean-up-cmLocalGenerator'
74d565e0 Remove unused cmLocalGenerator include.
09466690 Add cmOutputConverter include where needed.
0a730445 cmake: Remove needless cmLocalGenerator creation.
3339a750 CTest: Port away from cmLocalGenerator.
6da4cd8f CTest: Remove needless cmLocalGenerator creation.
94cc4e74 CPack: Remove needless cmLocalGenerator creation.
2015-10-06 10:59:06 -04:00
Brad King c914d2bda2 Merge topic 'refactor-computation'
616f0311 cmGlobalGenerator: Move path computation to Compute.
9eea0486 cmGlobalGenerator: Do more computation at compute time.
2eca0559 cmGlobalGenerator: De-virtualize Compute().
21f428f4 VisualStudio: Replace Compute override with AddExtraIDETargets override.
a9588e90 VisualStudio10: Initialize the LongestSource at generate time.
4407eee0 cmGlobalGenerator: Call AddExtraIDETargets as a hook of Compute().
a09c545d Xcode: Extract a AddExtraIDETargets method.
2015-10-06 10:59:00 -04:00
Brad King 9d5bfa53e6 Merge topic 'refactor-qt-autogen'
15c02cf1 QtAutogen: Port API to cmGeneratorTarget.
f7738fd1 cmLocalGenerator: Constify target in API.
b2054e16 QtAutogen: Port global generator to cmGeneratorTarget.
1e757c31 QtAutogen: Use a target type between loops.
5fb73017 QtAutogen: Make some private statics file static.
86f7fc5d QtAutogen: Move SetupAutoRccTarget method.
2aa3f500 QtAutogen: Move MergeRccOptions method.
59b91107 QtAutogen: Move GetRccExecutable method.
7254f645 QtAutogen: Move SetupAutoUicTarget method.
975b7539 QtAutogen: Move GetUicOpts method.
f75ec604 QtAutogen: Move SetupAutoMocTarget method.
f3158e45 QtAutogen: Move GetCompileDefinitionsAndDirectories method.
493b17f8 QtAutogen: Move SetupSourceFiles method.
2015-10-06 10:58:58 -04:00
Stephen Kelly 15c02cf14e QtAutogen: Port API to cmGeneratorTarget. 2015-10-06 10:56:44 -04:00
Brad King d0c3bf65d5 Merge branch 'upstream-kwsys' into update-kwsys 2015-10-06 10:32:55 -04:00
Colin Tracey 3758af12fa CPackNSIS: Add options to set the bitmap for NSIS installer left side
set MUI_WELCOMEFINISHPAGE_BITMAP
set MUI_UNWELCOMEFINISHPAGE_BITMAP
2015-10-06 09:08:37 -04:00
Kitware Robot 3709e950f4 CMake Nightly Date Stamp 2015-10-06 00:01:06 -04:00
Stephen Kelly 74d565e0e9 Remove unused cmLocalGenerator include. 2015-10-05 20:59:56 +02:00
Stephen Kelly 09466690f0 Add cmOutputConverter include where needed. 2015-10-05 20:58:06 +02:00
Stephen Kelly 0a73044579 cmake: Remove needless cmLocalGenerator creation. 2015-10-05 20:52:26 +02:00
Stephen Kelly 3339a7508e CTest: Port away from cmLocalGenerator. 2015-10-05 20:46:59 +02:00
Stephen Kelly 6da4cd8fb9 CTest: Remove needless cmLocalGenerator creation. 2015-10-05 20:46:59 +02:00
Stephen Kelly 94cc4e74ae CPack: Remove needless cmLocalGenerator creation. 2015-10-05 19:59:23 +02:00
Stephen Kelly f7738fd122 cmLocalGenerator: Constify target in API. 2015-10-05 19:22:02 +02:00
Stephen Kelly b2054e1661 QtAutogen: Port global generator to cmGeneratorTarget. 2015-10-05 19:21:59 +02:00
Stephen Kelly 1e757c318b QtAutogen: Use a target type between loops. 2015-10-05 19:21:56 +02:00
Stephen Kelly 5fb730174d QtAutogen: Make some private statics file static. 2015-10-05 19:21:48 +02:00
Stephen Kelly 86f7fc5d55 QtAutogen: Move SetupAutoRccTarget method. 2015-10-05 18:55:09 +02:00
Stephen Kelly 2aa3f500c4 QtAutogen: Move MergeRccOptions method. 2015-10-05 18:50:47 +02:00
Stephen Kelly 59b91107d1 QtAutogen: Move GetRccExecutable method. 2015-10-05 18:50:00 +02:00
Stephen Kelly 7254f64525 QtAutogen: Move SetupAutoUicTarget method. 2015-10-05 18:48:41 +02:00
Stephen Kelly 975b753997 QtAutogen: Move GetUicOpts method. 2015-10-05 18:47:49 +02:00
Stephen Kelly f75ec6044c QtAutogen: Move SetupAutoMocTarget method. 2015-10-05 18:46:58 +02:00
Stephen Kelly f3158e45b8 QtAutogen: Move GetCompileDefinitionsAndDirectories method. 2015-10-05 18:46:11 +02:00
Stephen Kelly 493b17f8c7 QtAutogen: Move SetupSourceFiles method. 2015-10-05 18:45:21 +02:00
Stephen Kelly 616f03114e cmGlobalGenerator: Move path computation to Compute. 2015-10-05 18:43:18 +02:00
Stephen Kelly 9eea0486bf cmGlobalGenerator: Do more computation at compute time. 2015-10-05 18:43:18 +02:00
Stephen Kelly 2eca055988 cmGlobalGenerator: De-virtualize Compute().
It now implements the NVI pattern.
2015-10-05 18:43:18 +02:00
Stephen Kelly 21f428f4c0 VisualStudio: Replace Compute override with AddExtraIDETargets override. 2015-10-05 18:43:18 +02:00
Stephen Kelly a9588e90bb VisualStudio10: Initialize the LongestSource at generate time.
There is no need to initialize it at compute time.
2015-10-05 18:43:17 +02:00
Stephen Kelly 4407eee013 cmGlobalGenerator: Call AddExtraIDETargets as a hook of Compute().
Relieve the Xcode generator of having to reimplement Compute().
2015-10-05 18:43:17 +02:00
Stephen Kelly a09c545d3a Xcode: Extract a AddExtraIDETargets method. 2015-10-05 18:43:17 +02:00
Stephen Kelly d945b36a93 cmExportTryCompileFileGenerator: Evaluate genex with cmGeneratorTarget. 2015-10-05 18:42:27 +02:00
Stephen Kelly 48f8b6acf3 cmExportFileGenerator: Evaluate genex with cmGeneratorTarget. 2015-10-05 18:42:27 +02:00
Brad King 091fbd6964 Begin post-3.4 development 2015-10-05 10:16:03 -04:00
Brad King 86cc45e3e3 CMake 3.4.0-rc1 version update 2015-10-05 10:11:00 -04:00
Brad King 6c25ceb6a8 Merge topic 'vs-win10-store'
2402bb8c Help: Document Windows 10 Universal Applications in cmake-toolchains(7)
1be2f12c VS: Add support for Windows 10 Universal (Store) Applications
2798dbda VS: Refactor indentation of LinkLibraryDependencies
8c426183 MSVC: Add system libs for WindowsStore on VS 2015
d1b87d72 VS: Select Windows 10 Store SDK and toolset for VS 2015
2015-10-05 10:04:11 -04:00
Brad King 518dc27728 Merge topic 'vs-win10-sdk'
45812111 VS: Select latest Windows 10 SDK if no specific version was requested
2015-10-05 10:04:09 -04:00
Gilles Khouzam 1be2f12cf2 VS: Add support for Windows 10 Universal (Store) Applications
Teach the VS 2015 generator to support WindowsStore 10.0 applications.
Add target properties to customize them:

* VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION: Specifies the minimum version
  of the OS that the project can target.

* VS_DESKTOP_EXTENSIONS_VERSION, VS_MOBILE_EXTENSIONS_VERSIONS,
  VS_IOT_EXTENSIONS_VERSION: Add a reference to the version of the SDK
  specified to the target allowing to target the extended functionality in
  a universal project.

* VS_IOT_STARTUP_TASK: Specifies that the target should be
  built as an IOT continuous background task.
2015-10-05 09:48:11 -04:00
Gilles Khouzam 2798dbdacb VS: Refactor indentation of LinkLibraryDependencies
Use our indentation specifier instead of hard-coding spaces.
2015-10-05 09:24:50 -04:00
Kitware Robot a57f5abdf6 CMake Nightly Date Stamp 2015-10-05 00:01:04 -04:00
Kitware Robot fb4e14d281 CMake Nightly Date Stamp 2015-10-04 00:01:04 -04:00
Kitware Robot 7a6c3ff01b CMake Nightly Date Stamp 2015-10-03 00:01:05 -04:00
Gilles Khouzam d1b87d72f9 VS: Select Windows 10 Store SDK and toolset for VS 2015 2015-10-02 16:34:11 -04:00
Gilles Khouzam 458121116a VS: Select latest Windows 10 SDK if no specific version was requested
If CMAKE_SYSTEM_VERSION is just "10.0" then use the latest SDK available
since no particular version was requested.
2015-10-02 16:18:44 -04:00
Brad King d80161b08c Merge topic 'vs-win10-sdk'
3f077996 VS: Add support for selecting the Windows 10 SDK (#15670)
5dfc4c5f VS: Add hook to initialize Windows platform settings
61c472a2 cmSystemTools: Add VersionCompareGreater helper
2015-10-02 09:58:17 -04:00
Gilles Khouzam 3f077996f5 VS: Add support for selecting the Windows 10 SDK (#15670)
Teach the VS 2015 generator to produce a WindowsTargetPlatformVersion
value.  Use the CMAKE_SYSTEM_VERSION to specify the version and if not
set choose a default based on available SDKs.  Activate this behavior
when targeting Windows 10.

Co-Author: Brad King <brad.king@kitware.com>
2015-10-02 09:53:25 -04:00
Gilles Khouzam 5dfc4c5f50 VS: Add hook to initialize Windows platform settings
Give VS 10+ generators a chance to choose Windows platform settings just
as they already can for WindowsCE, WindowsStore, and WindowsPhone.
2015-10-02 09:43:24 -04:00
Gilles Khouzam 61c472a287 cmSystemTools: Add VersionCompareGreater helper
Wrap a call to VersionCompare with OP_GREATER in a signature suitable
for use with std::sort.
2015-10-02 09:43:24 -04:00
Kitware Robot 02bc311138 CMake Nightly Date Stamp 2015-10-02 00:01:06 -04:00
Brad King 59202e17ff Merge topic 'compiler-links-statically'
8b4873a1 Disable shared library support when compiler links statically
e90f463a Drop executable symbol export if platform does not support shared libs
2015-10-01 11:02:38 -04:00
Brad King 5303c187b1 Merge topic 'fix-warnings'
f90acf52 cmVisualStudio10TargetGenerator: Fix unsigned integer constant type
e67e0155 cmMakefile: Avoid name conflict with Solaris global typedef
2015-10-01 11:02:34 -04:00
Kitware Robot ab99010a34 CMake Nightly Date Stamp 2015-10-01 00:01:06 -04:00
Chuck Atkins e90f463a31 Drop executable symbol export if platform does not support shared libs
Instead of always adding CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS to
executables, or just when the ENABLE_EXPORTS property is set (CMP0065),
make sure that the target platform also actually supports shared
libraries.  If not, then the executable cannot possibly provide symbols
to them anyway.
2015-09-30 14:59:11 -04:00
Brad King 2cf71cbdf6 Merge topic 'update-kwsys'
def90d5f Merge branch 'upstream-kwsys' into update-kwsys
cc144ebf KWSys 2015-09-28 (2089567a)
2015-09-30 09:43:37 -04:00
Brad King f90acf522b cmVisualStudio10TargetGenerator: Fix unsigned integer constant type
Add a 'u' suffix to FILETIME component integer constant initializers.
This avoids warnings about the range of the signed constant value.
2015-09-30 08:53:09 -04:00
Brad King e67e0155d9 cmMakefile: Avoid name conflict with Solaris global typedef
On Solaris there is a global typedef called 'single':

 /usr/include/floatingpoint.h:77:15: note: shadowed declaration is here
  typedef float single;

Avoid shadowing it by using a different name.
2015-09-30 08:47:02 -04:00
Kitware Robot 11733d2dae CMake Nightly Date Stamp 2015-09-30 00:01:05 -04:00
Brad King def90d5fa5 Merge branch 'upstream-kwsys' into update-kwsys 2015-09-29 10:10:03 -04:00
Brad King f23ab1a150 Merge topic 'vs-old-rule-files'
fa5284f0 VS: Prevent generated "rule" files from causing rebuilds
2015-09-29 10:08:15 -04:00
Brad King 130f116340 Merge topic 'fix-qtautogen-with-object-library-Ninja'
9bc6eb8e cmGlobalGenerator: Initialize generator targets on construction (#15729)
2015-09-29 10:08:13 -04:00
Brad King ee1b041108 Merge topic 'simplify-qt-autogen'
1fe39020 QtAutogen: Port away from cmLocalGenerator.
59a729b2 QtAutogen: Split initializer class into separate file.
1e83a963 QtAutogen: Split initializer methods into separate class.
12f0e13c QtAutogen: Simplify generator initialization API.
65ff75d3 QtAutogen: Remove unnecessary dereference.
64b78c14 QtAutogen: Move Source initialization to prior loop.
c3c20d3c QtAutogen: Add _automoc.cpp sources before initializing.
8b6ec29d QtAutogen: Move initialization condition to caller.
9470b056 QtAutogen: Move condition to prior loop.
b7491b1c QtAutogen: Move condition to prior loop.
e791c854 QtAutogen: Make some methods static.
6210ec64 QtAutogen: Make internal method private.
a3ceb998 QtAutogen: Don't use members to initialize automoc targets.
dced2fe1 QtAutogen: Rename variable.
f9a77e76 QtAutogen: Don't use a member to store skipped uic files.
c3633e7a QtAutogen: Add missing includes and forward declarations.
2015-09-29 10:08:10 -04:00
Brad King 6a072563d2 Merge topic 'cpack-package-empty-dirs'
9298f56d CPack: allow packaging of empty directories
ecd71c9c SystemTools: time operations on directories
19c6f4ee SystemTools: set time file permissions
749a140a CPackDeb: allow empty directories in component packages
2015-09-29 10:08:06 -04:00
Brad King 1d11f3ca68 Merge topic 'link-https-cmake.org'
da7276cf Replace http://www.cmake.org URLs with https://cmake.org
2015-09-29 10:08:02 -04:00
Stephen Kelly 9bc6eb8e1f cmGlobalGenerator: Initialize generator targets on construction (#15729)
The Ninja generator and Visual Studio generators are special-cased for the
QtAutogen feature.  In order to reduce the number of custom targets, the Visual
Studio generators prefer to create custom commands instead, and in order to
create appropriate Ninja files, generated rcc files are listed as byproducts.

This requires the use of the GetConfigCommonSourceFiles API of the
cmGeneratorTarget for those generators when initializing the autogen target.
The initializer method is called from Compute() after the cmGeneratorTarget
objects are created, however the initialization of the object directory occurs
later in the InitGeneratorTargets method.  That means that the resulting object
locations are computed incorrectly and cached before the object directory is
determined, so the generated buildsystem can not find the object files.

The initialization of the object directory was split from the creation of
cmGeneratorTarget instances in commit 0e0258c8 (cmGlobalGenerator: Split
creation of generator object from initialization., 2015-07-25).  The motivation
for the split was to do only what is essential to do early in cases where
cmGeneratorTargets need to be created at configure-time.  That is required for
the purpose of implementing policies CMP0024 and CMP0026, and for
try_compile(LINK_LIBRARIES).  However, the split was not really necessary.

Compute the object directory in the cmGeneratorTarget constructor instead.

The QtAutogen unit test already tests the use of TARGET_OBJECTS with AUTOMOC,
and that test already passes on Ninja.  The reason it already passes is that
the QtAutogen target also uses the AUTORCC feature, and specifies several qrc
files in its SOURCES.  Later in the Compute algorithm (after the
InitGeneratorTargets call), the rcc files are determined and target->AddSource
is called.  The AddSource call clears the previously mentioned cache of source
files, causing it to be regenerated when next queried, this time taking account
of the object directory.

Extend the test suite with a new target which does not make use of AUTORCC with
qrc files so that the test added alone would break without the fix in this
commit.
2015-09-29 09:56:34 -04:00
Stephen Kelly 1fe390201d QtAutogen: Port away from cmLocalGenerator. 2015-09-29 09:56:23 -04:00
Stephen Kelly 59a729b2be QtAutogen: Split initializer class into separate file. 2015-09-29 09:56:23 -04:00
Kitware Robot db70fcb110 CMake Nightly Date Stamp 2015-09-29 00:01:06 -04:00
Domen Vrankar 9298f56dce CPack: allow packaging of empty directories 2015-09-29 01:18:18 +02:00
Domen Vrankar ecd71c9c1a SystemTools: time operations on directories
On windows FILE_FLAG_BACKUP_SEMANTICS enables us to
read/write time both on files and directories.
2015-09-29 01:18:14 +02:00
Domen Vrankar 19c6f4eefc SystemTools: set time file permissions
On Windows if file permissions are read only
FILE_WRITE_ATTRIBUTES will enables us to
get file handle and change file time.
2015-09-29 01:18:10 +02:00
Raffi Enficiaud 749a140a0c CPackDeb: allow empty directories in component packages 2015-09-29 01:18:04 +02:00
Mike Pagel fa5284f07f VS: Prevent generated "rule" files from causing rebuilds
When we generate a ".rule" file to attach a custom command in a VS IDE
project, set the file timestamp to be old enough to prevent the rule
from re-running due to its timestamp.
2015-09-28 10:58:57 -04:00
Brad King 6c6a8c5d5a Merge topic 'minor-cleanups'
51e48637 VS: Remove impossible condition.
203eada6 cmMakefile: Remove Configured state.
5642449a cmCommand: Remove IsDiscouraged interface.
77c6a339 cmSetCommand: Re-use local named variable.
732f5511 cmSetCommand: Fix typo in comment.
8544f16d cmGlobalGenerator: Devirtualize method.
9096daaf Ninja: Remove unused variable.
2015-09-28 10:44:59 -04:00
Brad King bc92647b91 Merge topic 'update-kwsys'
946e8615 Merge branch 'upstream-kwsys' into update-kwsys
29ad0694 KWSys 2015-09-25 (dc4e4a55)
2015-09-28 10:44:52 -04:00
Brad King 5ed2292d3a Merge topic 'ninja-cleanup-path-conversion'
6e2a4087 Ninja: Centralize path conversion in global generator (#15757)
993d0641 Ninja: Fix OBJECT_DIR placeholder substitution in link rules
2015-09-28 10:44:48 -04:00
Brad King cfcd5e8518 Merge topic 'genex-SHELL_PATH'
ca6ba3fe Genex: Add a SHELL_PATH expression
7de868c4 Tests: Simplify GeneratorExpression check implementation
2015-09-28 10:44:43 -04:00
Stefan Kislinskiy ca6ba3fee5 Genex: Add a SHELL_PATH expression
Some commands on Windows do not understand forward slash paths and
require backslashes.  In order to help projects generate shell
invocations of such commands, provide a generator expression to convert
paths to the shell-preferred path format for the current generator.
This will allow custom commands to generate paths the same way CMake
does for compiler command invocations.
2015-09-28 10:37:33 -04:00
Kitware Robot 4480a9262d CMake Nightly Date Stamp 2015-09-28 00:01:04 -04:00
Stephen Kelly 51e4863782 VS: Remove impossible condition. 2015-09-27 12:09:33 +02:00
Stephen Kelly 203eada65e cmMakefile: Remove Configured state.
It is vestigial.
2015-09-27 12:08:07 +02:00
Stephen Kelly 5642449a69 cmCommand: Remove IsDiscouraged interface.
This used to affect documentation, but does not affect the Sphinx
documentation.
2015-09-27 12:08:07 +02:00
Stephen Kelly 77c6a339af cmSetCommand: Re-use local named variable. 2015-09-27 12:08:07 +02:00
Stephen Kelly 732f551187 cmSetCommand: Fix typo in comment. 2015-09-27 12:08:06 +02:00
Stephen Kelly 8544f16d1e cmGlobalGenerator: Devirtualize method. 2015-09-27 12:08:06 +02:00
Stephen Kelly 9096daaf5c Ninja: Remove unused variable. 2015-09-27 12:08:06 +02:00
Kitware Robot a100888b75 CMake Nightly Date Stamp 2015-09-27 00:01:05 -04:00
Stephen Kelly 1e83a963d8 QtAutogen: Split initializer methods into separate class. 2015-09-26 19:32:54 +02:00
Stephen Kelly 12f0e13c5f QtAutogen: Simplify generator initialization API. 2015-09-26 19:32:54 +02:00
Stephen Kelly 65ff75d3f5 QtAutogen: Remove unnecessary dereference. 2015-09-26 19:32:54 +02:00
Stephen Kelly 64b78c147f QtAutogen: Move Source initialization to prior loop.
Ensure that all targets have their _automoc.cpp before attempting
to initialize the autogen target.  The initialization evaluates
generator expressions for target sources, and must include the
_automoc.cpp of object library dependents in order for TARGET_OBJECTS
to include the object file for the corresponding _automoc.cpp file.
2015-09-26 19:32:53 +02:00
Stephen Kelly c3c20d3ce3 QtAutogen: Add _automoc.cpp sources before initializing. 2015-09-26 19:32:53 +02:00
Stephen Kelly 8b6ec29d40 QtAutogen: Move initialization condition to caller. 2015-09-26 19:32:53 +02:00
Stephen Kelly 9470b056fc QtAutogen: Move condition to prior loop. 2015-09-26 19:32:53 +02:00
Stephen Kelly b7491b1cda QtAutogen: Move condition to prior loop. 2015-09-26 19:32:52 +02:00
Stephen Kelly e791c85419 QtAutogen: Make some methods static. 2015-09-26 19:32:52 +02:00
Stephen Kelly 6210ec644a QtAutogen: Make internal method private. 2015-09-26 19:32:52 +02:00
Stephen Kelly a3ceb998d7 QtAutogen: Don't use members to initialize automoc targets. 2015-09-26 19:32:50 +02:00
Stephen Kelly dced2fe10f QtAutogen: Rename variable. 2015-09-26 19:21:49 +02:00
Stephen Kelly f9a77e76e4 QtAutogen: Don't use a member to store skipped uic files. 2015-09-26 18:48:23 +02:00
Stephen Kelly c3633e7a41 QtAutogen: Add missing includes and forward declarations. 2015-09-26 18:48:23 +02:00
Brad King 946e861519 Merge branch 'upstream-kwsys' into update-kwsys 2015-09-26 10:42:35 -04:00
Brad King 64b7baac4a Merge topic 'revert-cpack-package-empty-dirs'
4fa17553 Revert topic 'cpack-package-empty-dirs'
2015-09-26 10:40:40 -04:00
Kitware Robot 1ec54fff11 CMake Nightly Date Stamp 2015-09-26 00:01:07 -04:00
Brad King 414cc18a9a Merge topic 'revert-cmake-W-options'
2e606306 Merge branch 'improve-variable-help-formatting' into revert-cmake-W-options
81739e92 Revert topic 'cmake-W-options' (#15747)
2015-09-25 16:16:17 -04:00
Brad King da7276cf94 Replace http://www.cmake.org URLs with https://cmake.org
The latter is now the preferred URL for visiting cmake.org with a
browser.  Convert using the shell code:

 git ls-files -z | xargs -0 sed -i 's|http://www\.cmake|https://cmake|g'
2015-09-25 15:47:39 -04:00
Brad King 6e2a4087f2 Ninja: Centralize path conversion in global generator (#15757)
In the Ninja generator we run all build rules from the top of the build
tree rather than changing into each subdirectory.  Therefore we convert
all paths relative to the HOME_OUTPUT directory.  However, the Convert
method on cmLocalGenerator restricts relative path conversions to avoid
leaving the build tree with a "../" sequence.  Therefore conversions
performed for "subdirectories" that are outside the top of the build
tree always use full paths while conversions performed for
subdirectories that are inside the top of the build tree may use
relative paths to refer to the same files.

Since Ninja always runs rules from the top of the build tree we should
convert them using only the top-level cmLocalGenerator in order to
remain consistent.  Also extend the test suite with a case that fails
without this fix.
2015-09-25 14:36:30 -04:00
Brad King 993d064197 Ninja: Fix OBJECT_DIR placeholder substitution in link rules
Convert the OBJECT_DIR value to the shell output format so that
it is properly quoted when the path contains spaces.
2015-09-25 14:36:30 -04:00
Brad King 4fa1755315 Revert topic 'cpack-package-empty-dirs'
The changes in commit 47b060ae (CPackDeb: allow empty directories in
component packages, 2015-09-21), commit b58de9fe (CPack: allow packaging
of empty directories, 2015-09-21), and commit b761e90d (CPack: remove
accidental changes, 2015-09-22) regressed packaging of CMake itself.
Revert the changes until they can be revised and rebased on other
changes that make additional fixes.
2015-09-25 11:55:59 -04:00
Brad King 02f95f9b7c Merge topic 'fix-try_compile-internal-argv'
710bde43 cmCoreTryCompile: Fix internal argument vector construction
2015-09-25 10:12:42 -04:00
Brad King 5a83303f50 Merge topic 'install-directory-dest-genex'
bd189cc2 install: Allow generator expressions in DIRECTORY DESTINATION
2015-09-25 10:12:40 -04:00
Brad King ede54544f1 Merge topic 'fix-max-path-initialization'
8bfff686 cmLocalGenerator: Compute object max path on construction.
2c2479fb cmGlobalGenerator: Create all local generators after Configure().
194bb068 cmGlobalGenerator: Remove unused method.
c5f07e05 cmGlobalGenerator: Create local generators after all makefiles configured.
dd408de4 cmGlobalGenerator: Create local generator after configuring the makefile.
8a88089b cmMakefile: Create the local generator after configuring the makefile.
934aa454 Makefiles: Remove need to create local generator at configure time.
61b48e70 Makefiles: Port to cmOutputConverter.
2015-09-25 10:12:35 -04:00
Kitware Robot 7c0b22a84e CMake Nightly Date Stamp 2015-09-25 00:01:06 -04:00
Brad King 710bde43aa cmCoreTryCompile: Fix internal argument vector construction
In TryCompileCode we construct an internal argv[] vector that needs to
have a fake argv[0] so our internal cmake command line looks like a real
command line.  Fix construction of the fake argv[0] when try_compile is
called without the CMAKE_FLAGS argument.  Otherwise the first internal
-DVAR=val argument that we use to pass information like
CMAKE_OSX_SYSROOT is ignored.
2015-09-24 15:26:32 -04:00
Brad King cbfae8c3f2 Merge topic 'install-files-dest-genex'
69ab5f55 Tests: Cover install(FILES) with a genex DESTINATION
17aa6fd3 install: Allow generator expressions in FILES DESTINATION
2015-09-24 10:28:54 -04:00
Robert Goulet bd189cc24e install: Allow generator expressions in DIRECTORY DESTINATION 2015-09-24 09:13:03 -04:00
Stephen Kelly 8bfff68642 cmLocalGenerator: Compute object max path on construction. 2015-09-24 09:39:39 +02:00
Stephen Kelly 2c2479fbed cmGlobalGenerator: Create all local generators after Configure(). 2015-09-24 09:39:39 +02:00
Stephen Kelly 194bb06803 cmGlobalGenerator: Remove unused method. 2015-09-24 09:39:39 +02:00
Stephen Kelly c5f07e0537 cmGlobalGenerator: Create local generators after all makefiles configured. 2015-09-24 09:39:38 +02:00
Stephen Kelly dd408de46b cmGlobalGenerator: Create local generator after configuring the makefile. 2015-09-24 09:39:38 +02:00
Stephen Kelly 8a88089bbe cmMakefile: Create the local generator after configuring the makefile.
The local generator is not used during configure time.
2015-09-24 09:39:38 +02:00
Stephen Kelly 934aa454d0 Makefiles: Remove need to create local generator at configure time.
This method is used during try_compile.
2015-09-24 09:39:38 +02:00
Stephen Kelly 61b48e70bc Makefiles: Port to cmOutputConverter. 2015-09-24 09:39:38 +02:00
Kitware Robot 02ccef2ae5 CMake Nightly Date Stamp 2015-09-24 00:01:05 -04:00
Robert Goulet 17aa6fd362 install: Allow generator expressions in FILES DESTINATION 2015-09-23 14:37:17 -04:00
Brad King c3b3284c93 Merge topic 'vs-target-ordering'
40c7b461 VS: Fix rebuild with regeneration after input CMake code change (#15754)
03bfe71a VS: Refactor target ordering logic
2015-09-23 09:23:01 -04:00
Brad King 3779716616 Merge topic 'cpack-package-empty-dirs'
b761e90d CPack: remove accidental changes
2015-09-23 09:22:59 -04:00
Domen Vrankar b761e90d70 CPack: remove accidental changes
Remove changes accidentally included in commit b58de9fe (CPack: allow
packaging of empty directories, 2015-09-22).
2015-09-23 09:15:57 -04:00
Kitware Robot 44f2ade2cb CMake Nightly Date Stamp 2015-09-23 00:01:05 -04:00
Brad King 2e6063068c Merge branch 'improve-variable-help-formatting' into revert-cmake-W-options
Resolve conflicts in

 Help/variable/CMAKE_ERROR_DEPRECATED.rst
 Help/variable/CMAKE_WARN_DEPRECATED.rst

by integrating changes from both sides.
2015-09-22 13:57:08 -04:00
Brad King 81739e9215 Revert topic 'cmake-W-options' (#15747)
The changes in commit c96fe0b4 (cmake: Add -W options to control
deprecation warnings and errors, 2015-07-28) fail to account for
-Wdev warnings produced by places in CMake other than message().
This causes a regression in which -Wno-dev fails to suppress such
warnings.  Revert the feature until it can be revised accordingly.
2015-09-22 13:53:09 -04:00
Brad King 442d17ef6c Merge topic 'cpack-package-empty-dirs'
b58de9fe CPack: allow packaging of empty directories
47b060ae CPackDeb: allow empty directories in component packages
2015-09-22 10:47:11 -04:00
Brad King da7c8a8dae Merge topic 'restrict-shlib-link-flags-to-enable-exports'
b15f4e9b try_compile: Propogate CMP0065 to the generated project.
9784af1b CMP0065: Restrict the use of CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS
2015-09-22 10:46:59 -04:00
Brad King 4be709a6b7 Merge topic 'fix-policy-CMP0064-version'
402bf096 CMP0064: Fix recorded version of introduction to be 3.4
2015-09-22 10:46:57 -04:00
Brad King f1365f3206 Merge topic 'fix-windows-version-detection'
17009189 Windows: Fix CMAKE_HOST_SYSTEM_VERSION on Windows >= 8 (#15674)
2015-09-22 10:46:54 -04:00
Brad King 40c7b46123 VS: Fix rebuild with regeneration after input CMake code change (#15754)
When using "cmake --build ." or "MSBuild ALL_BUILD.vcxproj" to drive the
build the dependencies in the .sln file are not considered.  This means
that ProjectReference elements in .vcxproj files are used to order
targets.  We must ensure that the ZERO_CHECK target is listed as the
first dependency of every target so that when it causes regeneration of
the build files then MSBuild has not yet loaded the updated files.
2015-09-22 10:26:00 -04:00
Brad King 03bfe71ae0 VS: Refactor target ordering logic
Refactor cmGlobalVisualStudioGenerator::TargetCompare to store the name of
the target that should come first instead of hard-coding "ALL_BUILD".
Update client sites to specify "ALL_BUILD" when ordering for .sln files
and an empty string otherwise (in cases when "ALL_BUILD" should not be
encountered anyway).
2015-09-22 10:25:58 -04:00
Kitware Robot dce7d8befb CMake Nightly Date Stamp 2015-09-22 00:01:04 -04:00
Domen Vrankar b58de9fe2b CPack: allow packaging of empty directories 2015-09-22 02:08:26 +02:00
Raffi Enficiaud 47b060aee0 CPackDeb: allow empty directories in component packages 2015-09-22 01:57:44 +02:00
Chuck Atkins b15f4e9b86 try_compile: Propogate CMP0065 to the generated project.
Set policy CMP0065 to the value used in the calling project.

Set the the value of CMAKE_ENABLE_EXPORTS if set in the calling
project to initialize the target property appropriately.
2015-09-21 10:12:13 -04:00
Chuck Atkins 9784af1b50 CMP0065: Restrict the use of CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS
This new policy restricts the addition of the shared library link flags
to executables only when the ENABLE_EXPORTS property is set to True.
2015-09-21 10:12:13 -04:00
Brad King 402bf096ec CMP0064: Fix recorded version of introduction to be 3.4
This policy was added for CMake 3.4 but accidentally recorded as 3.3.
Fix this and update the RunCMake.CMP0064 test WARN case accordingly.
2015-09-21 10:05:02 -04:00
Brad King 38830fc0ca Merge topic 'cpack-deb-checksum-on-symlinks'
da295f45 CPack/Deb: checksum on symlinks release notes
7c7874c8 CPackDeb: preventing md5sum on symlinks
2015-09-21 09:25:31 -04:00
Brad King dd8285c688 Merge topic 'fix-compatibility-mode-LOCATION'
2514e426 CMP0026: Use compatibility codepath until configure is finished (#15748)
b98f7712 cmGlobalGenerator: Add API for the configure step being finished.
b5de2bd9 cmLocalGenerator: Simplify condition.
2015-09-21 09:25:29 -04:00
Brad King 4f640afc1a Merge topic 'ninja-refactor-msvc-deps'
109a7a24 Ninja: Detect MSVC /showIncludes prefix with compiler flags (#15596)
828c05b9 Ninja: Refactor lookup of cmcldeps location
c73fbda6 CMakeDetermineCompilerId: Drop unused code path
2015-09-21 09:25:27 -04:00
Brad King 82a0c7be3f Merge topic 'ctest-custom-output-size'
fd47df45 CTest: Add options to limit output of passed and failed tests
6e3151f6 CTest: Document and test custom output size settings
2015-09-21 09:25:24 -04:00
Gilles Khouzam 17009189f8 Windows: Fix CMAKE_HOST_SYSTEM_VERSION on Windows >= 8 (#15674)
According to GetVersionEx documentation:

 https://msdn.microsoft.com/en-us/library/windows/desktop/ms724451.aspx
 https://msdn.microsoft.com/en-us/library/windows/desktop/dn481241.aspx

we must manifest each application to explicitly declare support for each
version of Windows.
2015-09-21 09:02:41 -04:00
Kitware Robot 358b564145 CMake Nightly Date Stamp 2015-09-21 00:01:04 -04:00
Kitware Robot ba7f7067ca CMake Nightly Date Stamp 2015-09-20 00:01:05 -04:00
Kitware Robot 0da7a4d4c7 CMake Nightly Date Stamp 2015-09-19 00:01:05 -04:00
Raffi Enficiaud 7c7874c86e CPackDeb: preventing md5sum on symlinks
- Direct call to cmSystemTools::ComputeFileMD5
- Avoiding hashing symlinks
- Tests
2015-09-18 22:20:42 +02:00
Stephen Kelly 2514e4265c CMP0026: Use compatibility codepath until configure is finished (#15748)
Use it instead of the similar cmMakefile API.  It is necessary to
know that the Configure step is completely done, not just that one
particular cmMakefile is finished configuring.

Prior to commit 611220f7 (cmTarget: Use reliable test for CMP0024 and CMP0026
OLD., 2015-07-25), this was determined by checking whether cmGeneratorTargets
exist yet, which happens after the Configure step.
2015-09-18 20:49:00 +02:00
Stephen Kelly b98f7712ea cmGlobalGenerator: Add API for the configure step being finished. 2015-09-18 20:48:15 +02:00
Stephen Kelly b5de2bd9de cmLocalGenerator: Simplify condition.
This API is only called after configure-time.
2015-09-18 19:41:47 +02:00
Roman Wüger fd47df4503 CTest: Add options to limit output of passed and failed tests
Add ctest command-line options:

  --test-output-size-passed <n>
  --test-output-size-failed <n>

to set the amount of test output to store in Test.xml as a command-line
dashboard client.
2015-09-18 11:32:06 -04:00
Brad King 828c05b9f5 Ninja: Refactor lookup of cmcldeps location
This executable comes with CMake so just compute its location in
cmSystemTools instead of storing it in compiler information modules.
2015-09-18 10:01:25 -04:00
Brad King 2b3aad83f2 Merge topic 'cmake-gui-qt5-package'
851915a5 cmake-gui:  Improve packaging of Qt5 libraries.
2015-09-18 09:56:41 -04:00
Brad King 309026147a Merge topic 'ms-manifest-files'
e134e53b Add support for *.manifest source files with MSVC tools
da00be63 MSVC: Rewrite manifest file handling with Makefile and Ninja
d488b5c9 Ninja: Always add OBJECT_DIR variable to link rules
6d620f5a VS: Add manifest tool settings to VS 8 and 9 project files
2015-09-18 09:56:39 -04:00
Kitware Robot 9c7bb9f103 CMake Nightly Date Stamp 2015-09-18 00:01:06 -04:00
Brad King eb154697c0 Merge topic 'cpack-deb-fakeroot-removal'
becb14c9 CPack/DEB: test preserve extra config file permissions
7044e8ee CPackDeb: use of libarchive and removal of fakeroot
415405a3 cmArchiveWrite: control user/group, permissions and recursive file adding
4f2ff601 Tests: Make RunCMake.CPack error messages more readable
81b748ae cmGeneratedFileStream: Fix spelling in comment
2015-09-17 15:34:02 -04:00
Raffi Enficiaud 7044e8ee4b CPackDeb: use of libarchive and removal of fakeroot 2015-09-17 15:30:39 -04:00
Raffi Enficiaud 415405a308 cmArchiveWrite: control user/group, permissions and recursive file adding 2015-09-17 15:30:38 -04:00
Raffi Enficiaud 81b748ae1d cmGeneratedFileStream: Fix spelling in comment
s/destionation/destination/
2015-09-17 15:30:07 -04:00
Clinton Stimpson 851915a58c cmake-gui: Improve packaging of Qt5 libraries.
Fixes #15685, where the right Qt5 dlls on Windows were not packaged because
they were not found when relying on the PATH environment variable.

Also some cleanup of code introduced in 8120e13f, but no longer needed with 678aaad1.
2015-09-17 08:32:51 -06:00
Brad King e134e53b47 Add support for *.manifest source files with MSVC tools
Classify .manifest sources separately, add dependencies on them, and
pass them to the MS manifest tool to merge with linker-generated
manifest files.

Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
2015-09-17 10:21:32 -04:00
Brad King da00be6359 MSVC: Rewrite manifest file handling with Makefile and Ninja
Add a helper class private to "cmcmd.cxx" to contain the implementation.
Update the link logic to use the intermediate files directory for each
target to hold manifest and resource files before embedding into the
binary.  Preserve the old behavior of placing the .manifest file next
to the binary when not linking incrementally even though it will be
embedded.
2015-09-17 10:21:32 -04:00
Brad King d488b5c976 Ninja: Always add OBJECT_DIR variable to link rules
The <OBJECT_DIR> placeholder is always available in Makefile
generators so make it available from the Ninja generator too.
2015-09-17 10:21:32 -04:00
Brad King 6d620f5ad7 VS: Add manifest tool settings to VS 8 and 9 project files
Always generate a VCManifestTool element in targets that compile.
2015-09-17 10:21:31 -04:00
Kitware Robot 6fd548f220 CMake Nightly Date Stamp 2015-09-17 00:01:06 -04:00
Brad King 46915ab963 Merge topic 'detect-c11-broken-thread-local'
ffa6f057 Avoid using C11 to build CMake if _Thread_local support is broken
2015-09-16 08:47:28 -04:00
Brad King 982850a866 Merge topic 'test-search-ordering'
7a6e5f06 Tests: Cover find_program when the environment duplicate some HINTS
40122975 Merge branch 'fix-bad-search-ordering' into test-search-ordering
02440154 find_*: Fix search order when the environment duplicates some HINTS
2015-09-16 08:47:25 -04:00
Brad King 0ec6201547 Merge topic 'ccmake-portability'
7046eedd ccmake: Use more-portable call to set_field_buffer (#15740)
da1a02f7 ccmake: Avoid using non-portable 'curcol' field (#15739)
6c442e5a ccmake: Pass format string to 'printw' (#15738)
2015-09-16 08:47:21 -04:00
Thomas Klausner 7046eedd38 ccmake: Use more-portable call to set_field_buffer (#15740)
The set_field_buffer function on NetBSD and Solaris:

  http://netbsd.gw.com/cgi-bin/man-cgi?set_field_buffer++NetBSD-current
  https://docs.oracle.com/cd/E36784_01/html/E36880/set-field-buffer-3curses.html

has as third argument "char *" while ncurses has "const char *".  Cast
the argument type in our call to account for the missing "const".
2015-09-16 08:42:20 -04:00
Joerg Sonnenberger da1a02f77f ccmake: Avoid using non-portable 'curcol' field (#15739)
'curcol' is an implementation detail of ncurses so other implementations
of 'form' may not have it.  The switch-to-previous-field logic only
exists for overloaded requests of REQ_DEL_PREV, so no need to check for
REQ_DEL_CHAR.  For REQ_DEL_PREV, check if the field changed and if it
did, change it back.
2015-09-16 08:42:20 -04:00
Joerg Sonnenberger 6c442e5a89 ccmake: Pass format string to 'printw' (#15738)
printw takes a format string as first argument, so don't pass variable
strings to it directly.
2015-09-16 08:42:20 -04:00
Kitware Robot 443b0fdb3d CMake Nightly Date Stamp 2015-09-16 00:01:07 -04:00
Raphael Kubo da Costa ffa6f057b4 Avoid using C11 to build CMake if _Thread_local support is broken
Support for C11's _Thread_local was introduced in GCC in the 4.9 series,
even though we make the C11 compiler flags available in CMake with GCC
>= 4.6.

FreeBSD's runetype.h uses _Thread_local, which causes CMake's own build
to fail when using GCC < 4.9 and -std=gnu11:

  /usr/include/runetype.h:92:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
   extern _Thread_local const _RuneLocale *_ThreadRuneLocale;

Add a test for _Thread_local support and only build CMake itself with
C11 support if it works.

Bug: http://www.cmake.org/Bug/view.php?id=15741
2015-09-15 10:51:54 -04:00
Brad King 4fe1331f84 Merge topic 'update-kwsys'
ef29f5ef Merge branch 'upstream-kwsys' into update-kwsys
7de8f67a KWSys 2015-09-11 (cfeb27cc)
2015-09-15 09:17:10 -04:00
Brad King 401229759c Merge branch 'fix-bad-search-ordering' into test-search-ordering 2015-09-15 08:52:38 -04:00
Kitware Robot 075de28b36 CMake Nightly Date Stamp 2015-09-15 00:01:04 -04:00