Commit Graph

25100 Commits

Author SHA1 Message Date
Brad King 848fab9575 cmGlobalVisualStudio7Generator: Remove unused variable 2014-07-22 15:24:57 -04:00
Brad King 85cea8a7af cmDepends: Refactor object file path conversion
Delay conversion of the path to object files (on the left-hand side
of dependencies) until just before they are written.  Also do not
convert the format of paths written to the 'depend.internal' file.
This is consistent with the way the right-hand side of dependencies
are already handled.
2014-07-22 15:24:57 -04:00
Brad King f5c0efdbe4 cmGlobalGenerator: Create a non-virtual 'DoGenerate' method
Make the virtual 'Generate' method protected.  Make 'DoGenerate'
the main entry point to generation.  This gives cmGlobalGenerator
a chance to do some early operations before the individual
generator-specific implementations take over.
2014-07-22 15:05:36 -04:00
Brad King e7ee892b39 cmLocalGenerator: Fix AddBuildTargetRule object file path conversion
The object file list is constructed for a shell, not a Makefile rule.
2014-07-22 12:38:08 -04:00
Brad King 9f92a78be2 cmLocalGenerator: Rename 'MAKEFILE' to 'MAKERULE'
Rename the internal enumeration value for converting paths destined
for use in Makefile rule syntax.
2014-07-22 12:27:57 -04:00
Brad King 5c38fc1628 Merge topic 'deprecated-properties'
5bbec4e3 Help: Document deprecated properties.
2014-07-22 11:14:45 -04:00
Brad King dbc43eb0f7 Merge topic 'fix_guard_malloc_forbc'
80ee17d8 Tests/CTestTestMemcheck: Tolerate malloc guard in BC output
2014-07-22 11:14:43 -04:00
Bill Hoffman 80ee17d8a4 Tests/CTestTestMemcheck: Tolerate malloc guard in BC output 2014-07-22 11:13:29 -04:00
Bill Hoffman f7d62cac79 Fix leak and address sanitizer tests to be able to run with real tools.
When running CMake under Leak or Address Sanitizer tools, the fake reporting
would get picked up by the outer CMake and reported as leaks and address
failures on the CMake dashboard. This commit makes sure the test only
reports simulated errors when asked to.
2014-07-22 10:51:53 -04:00
Brad King fb95f820e0 Tests: Set policies in 'complex' tests
These tests cover the OLD behavior of some policies.  Set them to
OLD to avoid warnings in the test output.  Leave a comment that
explains why this is done here but not recommended in general.
2014-07-22 09:36:57 -04:00
Kitware Robot 08bb09a944 CMake Nightly Date Stamp 2014-07-22 00:01:08 -04:00
Brad King 133d42fe59 Merge branch 'liblzma-upstream' into add-liblzma 2014-07-21 15:54:44 -04:00
liblzma upstream c289e63491 liblzma 5.0.5-gb69900ed (reduced)
Extract upstream liblzma using the following shell code.

url=http://git.tukaani.org/xz.git &&
v=5.0.5 &&
r=b69900ed &&
paths="
  COPYING
  src/common/common_w32res.rc
  src/common/sysdefs.h
  src/common/tuklib_integer.h
  src/liblzma
" &&
mkdir liblzma-$v-g$r-reduced &&
git clone $url liblzma-git &&
date=$(cd liblzma-git && git log -n 1 --format='%cd' $r) &&
(cd liblzma-git && git archive --format=tar $r -- $paths) |
(cd liblzma-$v-g$r-reduced && tar xv &&
 mv src/* . && rmdir src) &&
echo "g$r date: $date"
2014-07-21 14:30:16 -04:00
Brad King 8510533f0e liblzma: Add .gitattributes to ignore whitespace checks
Tell Git not to check whitespace in third-party code.
2014-07-21 14:08:46 -04:00
Nils Gladitz 5bbec4e398 Help: Document deprecated properties.
Document the COMPILE_DEFINITIONS_<Config> properties as deprecated.
Add new sections for deprecated properties and move POST_INSTALL_SCRIPT
and PRE_INSTALL_SCRIPT there as well.
2014-07-21 19:48:48 +02:00
Brad King 7b743a2e76 cmTarget: Avoid re-computing head-independent link interfaces 2014-07-21 13:04:04 -04:00
Brad King 807e4ffeef Genex: Track whether an expression depends on the 'head' target 2014-07-21 13:02:22 -04:00
Brad King 46099b82ed cmTarget: Move ComputeLinkImplementation* to internals
There are no external callers, and this will allow the methods to see
the full OptionalLinkImplementation internal structure.
2014-07-21 11:55:56 -04:00
Brad King 438d9c7c82 cmTarget: Re-order link interface map lookup logic
In GetLinkInterface, GetLinkInterfaceLibraries, and
GetImportLinkInterface, lookup the HeadToLinkInterfaceMap for the
current configuration first, and then index it by head target.  In
GetLinkImplementationLibrariesInternal, lookup the
HeadToLinkImplementationMap for the current configuration first, and
then index it by head target.
2014-07-21 11:43:30 -04:00
Brad King fe665fdda8 cmTarget: Refactor link interface map storage
Convert LinkInterfaceMapType and LinkImplMapType to nested maps that
index on configuration first and 'head' target second.
2014-07-21 11:26:10 -04:00
Brad King 9d13e1679f cmTarget: Remove duplicate link interface map
No target is both imported and not imported so we do not need separate
link interface maps for them.
2014-07-21 11:16:45 -04:00
Brad King 133cd996d1 cmTarget: Drop internal cache of build properties
These use a huge amount of memory that accumulates as generation
proceeds.  On the Unix Makefiles generator, only GetIncludeDirectories
and GetCompileDefinitions are even called more than once per target
(once for build files, once for dependency scanning preprocessor info).
Another approach will be needed to avoid duplicate computation in the
cases where it does occur.
2014-07-21 11:00:34 -04:00
Brad King a4d58722a4 cmTarget: Drop internal cache of link interface usage requirements
These use a huge amount of memory that accumulates as generation
proceeds.  On the Unix Makefiles generator, only GetIncludeDirectories
and GetCompileDefinitions are even called more than once per target
(once for build files, once for dependency scanning preprocessor info).
Another approach will be needed to avoid duplicate computation in the
cases where it does occur.
2014-07-21 11:00:33 -04:00
Brad King 23ec3738a0 Merge topic 'backport-kwsys-qnx-fix'
cc3248f4 KWSys SystemInformation: No SA_RESTART on QNX
2014-07-21 10:49:59 -04:00
Brad King c86b99c351 Merge topic 'fix-QCC-compile-flags'
3151024d QNX: Add missing flags for configurations and artifact creation.
2014-07-21 10:36:07 -04:00
Brad King b86f0e445b Merge topic 'update-kwsys'
6f3e094e Merge branch 'upstream-kwsys' into update-kwsys
d4d1b7f7 KWSys 2014-07-18 (65b36ede)
2014-07-21 10:36:00 -04:00
Kitware Robot 8e018ae44e CMake Nightly Date Stamp 2014-07-21 00:01:11 -04:00
Kitware Robot 6ae98ee18f CMake Nightly Date Stamp 2014-07-20 00:01:10 -04:00
Kitware Robot 18a4310681 CMake Nightly Date Stamp 2014-07-19 00:01:07 -04:00
Brad King 36a8184d40 Merge topic 'dev/target-fastpaths'
a9c9b66c cmTarget: use a hash_map for cmTargets typedef
bcb6dbc1 cmTarget: help the optimizer a bit
679f3dee cmTarget: use hash_set for sets of strings
23d6520d cmTarget: Allow caching of empty genex expansions
cd54f1db cmTarget: Only copy GenEx expansions when necessary
b75fc0e1 cmTarget: Don't set properties on custom targets
66076915 cmTarget: Use static strings for special property names
cebefa71 cmTarget: Sort special property checks
97ce676e cmTarget: Fast path for regular properties
4cfa918a cmTarget: Factor out common code
85242b7d cmTarget: Use else/if trees rather than an if tree
2014-07-18 11:00:29 -04:00
Brad King e27b2c3fa5 Merge topic 'delay-generator-platform'
7a526c35 VS: Delay getting platform name in local generator
e7fdb44b VS: Delay detection of VS 10 Express 64-bit tools
6e176e6d VS: Delay platform definitions until system name is known
d3d9218a VS: Remove unused method from VS 9 generator
eeb60102 VS: Refactor CMAKE_FORCE_*64 platform definitions
ecb34faa Tell generators about CMAKE_SYSTEM_NAME as soon as it is known
2014-07-18 10:57:02 -04:00
Brad King 5a128c8ec9 Merge topic 'vs-MSTool-condition'
7a9909db VS: Make MS-tool-specific options conditional
2014-07-18 10:56:59 -04:00
Brad King 494f9e0bff Merge topic 'fix_Xcode_generator_name'
3526478c Tests: Activate tests accidentally excluded from Xcode
2014-07-18 10:56:57 -04:00
Brad King a67f0b6afd Merge topic 'identify-qthelp-artifacts'
376ba935 Help: Identify more artifact types in QtHelp documentation.
2014-07-18 10:56:55 -04:00
Brad King 0aa7d9dc10 Merge topic 'encoding-ctest-fixes'
09b2ac38 Encoding:  Fix a few encoding problems with ctest.
2014-07-18 10:56:53 -04:00
Brad King 6f3e094e9f Merge branch 'upstream-kwsys' into update-kwsys 2014-07-18 10:15:23 -04:00
KWSys Robot d4d1b7f7d1 KWSys 2014-07-18 (65b36ede)
Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ 65b36ede | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' c2a329ce..65b36ede
Bob E (1):
      697b1401 SystemInformation: No SA_RESTART on QNX

Clinton Stimpson (1):
      65b36ede Encoding: Fix testProcess to work with unicode paths.

Steve Dougherty (1):
      5f28a52b Terminal: Fix spelling of 'definitely' in comments

Change-Id: I224745dc0ca9603ff915b727e798ef293c462d8f
2014-07-18 10:15:20 -04:00
Clinton Stimpson 09b2ac38d1 Encoding: Fix a few encoding problems with ctest.
This also fixes some test failures on Windows when the
name of the build directory contains non-ascii characters.
2014-07-18 10:05:01 -04:00
Kitware Robot bbd930ea3c CMake Nightly Date Stamp 2014-07-18 00:01:11 -04:00
Brad King 7a526c35f6 VS: Delay getting platform name in local generator
Ask the global generator during generation instead of trying
to store it up front.  Later the global generator may not know
the platform name when it is creating the local generator.
2014-07-17 16:59:53 -04:00
Brad King e7fdb44b1b VS: Delay detection of VS 10 Express 64-bit tools
Wait until SetSystemName when the CMAKE_SYSTEM_NAME is known.
Later the decision to use 64-bit tools may depend on it.
2014-07-17 16:35:41 -04:00
Brad King 6e176e6d9e VS: Delay platform definitions until system name is known
Move the definition of CMAKE_VS_PLATFORM_NAME and other variables that
are not needed by CMakeDetermineSystem out of the AddPlatformDefinitions
method and into a SetSystemName method.  The latter may later use
CMAKE_SYSTEM_NAME to decide what platform-specific definitions to add.
2014-07-17 16:34:21 -04:00
Brad King d3d9218a52 VS: Remove unused method from VS 9 generator 2014-07-17 16:19:27 -04:00
Brad King eeb60102e8 VS: Refactor CMAKE_FORCE_*64 platform definitions
Remove the general infrastructure for these additional platform
definitions and hard-code the only two special cases that used
it.  They are only for historical reasons so no new such cases
should be added.
2014-07-17 16:17:35 -04:00
Brad King ecb34faaab Tell generators about CMAKE_SYSTEM_NAME as soon as it is known
Add a cmGlobalGenerator::SetSystemName virtual method.  Call it from
cmGlobalGenerator::EnableLanguage as soon as CMAKE_SYSTEM_NAME is known.
This will give generators a chance to adapt themselves to the target
system.  Pass the cmMakefile instance to the method so that the
generator can update it accordingly.  Return early from EnableLanguage
if SetSystemName returns false.
2014-07-17 16:01:41 -04:00
Brad King 7a9909db86 VS: Make MS-tool-specific options conditional
Make blocks adding MS-tool-specific options conditional on a
new "MSTools" boolean member of cmVisualStudio10TargetGenerator.
Hard-code the member to true for now to preserve existing behavior.
2014-07-17 13:37:55 -04:00
Ben Boeckel a9c9b66c27 cmTarget: use a hash_map for cmTargets typedef 2014-07-17 11:17:52 -04:00
Ben Boeckel bcb6dbc1cb cmTarget: help the optimizer a bit 2014-07-17 11:17:52 -04:00
Ben Boeckel 679f3deeb7 cmTarget: use hash_set for sets of strings 2014-07-17 11:17:50 -04:00
Ben Boeckel 23d6520daa cmTarget: Allow caching of empty genex expansions 2014-07-17 11:17:50 -04:00