Commit Graph

25053 Commits

Author SHA1 Message Date
Brad King d57be904ae cmTarget: Run old-style link dependencies only for VS 6
Invoke it at runtime only with the VS 6 generator.  No other generators
need it.
2014-07-14 14:38:58 -04:00
Brad King b3b44d138e cmTarget: Rename old-style link dependencies code as "ForVS6"
The old link dependency analysis is now needed only for the VS 6
generator code delimited by CM_USE_OLD_VS6 to support project-provided
project templates.  Rename the related cmTarget members to be "ForVS6".
2014-07-14 14:37:04 -04:00
Brad King 80cb12bb8b export_library_dependencies: Use original link libraries internally
This command was using the cmTarget::GetLinkLibraries method with a
comment explaining how execution order gives it the dependencies before
analysis.  Just use cmTarget::GetOriginalLinkLibraries instead.
2014-07-14 14:29:26 -04:00
Ben Boeckel 4b13916970 cmMakefile: fix __CMAKE_RULE property setting
It got put into the condition by mistake.
2014-07-14 12:55:04 -04:00
Brad King 6c8364e6cb FindCurses: Overhaul Curses and NCurses search logic (#15011)
Produce a more consistent result by finding only a single include
directory and reporting which headers may be included from it.  The
previous search for each header separately might find pieces from
separate and incompatible packages.

While at it, provide the CURSES_INCLUDE_DIRS result variable to be
consistent with other modules.
2014-07-14 11:23:02 -04:00
Brad King 1ca0c0e94a cmTarget: Refactor internal imported LinkInterface map
Create the map entry up front and store in it a boolean value indicating
whether the LinkInterface structure has been populated.  This approach
leads to shorter code that is easier to follow too.
2014-07-14 10:21:46 -04:00
Brad King 102eea60cd cmTarget: Simplify internal ComputeLinkInterfaceLibraries method
Now that the method can see the full OptionalLinkInterface structure,
store information there instead of passing it through arguments.
2014-07-14 10:00:51 -04:00
Brad King b0f5740851 cmTarget: Move ComputeLinkInterfaceLibraries to internals
There are no external callers, and this will allow the method to see
the full OptionalLinkInterface internal structure.
2014-07-14 09:55:52 -04:00
Brad King c69e8a5580 cmTarget: Refactor internal LinkInterface map
Create the map entry up front and store in it boolean values indicating
which pieces of the LinkInterface structure have been populated.
This approach leads to shorter code that is easier to follow too.
2014-07-14 09:51:51 -04:00
Brad King 4db3990e9f cmTarget: Drop 'head' argument from processSources
No call sites need it to be anything but 'this'.
2014-07-14 09:46:53 -04:00
Brad King 4b8130b8de cmTarget: Drop 'head' argument from GetSourceFiles
No call sites need it to be anything but 'this'.
2014-07-14 09:46:53 -04:00
Brad King 4c763dd1f1 cmTarget: Drop 'head' argument from GetLanguages
No call sites need it to be anything but 'this'.
2014-07-14 09:46:53 -04:00
Brad King 190cabe7c1 cmTarget: Drop 'head' argument from ComputeLinkImplementationLanguages
No call sites need it to be anything but 'this'.
2014-07-14 09:46:53 -04:00
Brad King c72642f927 Merge topic 'FindCurses-blank-at-eof'
ccf2fca1 FindCurses: Remove blank line at end of file
2014-07-14 09:42:40 -04:00
Brad King 9124ec1c94 Merge topic 'doc-genex-id-values'
5690a963 Help: Link to variables corresponding to id and version expressions (#15012)
2014-07-14 09:38:02 -04:00
Brad King 5ba3cbbd24 Merge topic 'refactor-link-internals'
f45ede61 cmTarget: Fix CMP0022 OLD breakage from recent refactoring
2014-07-14 09:38:00 -04:00
Brad King f1b33fccd1 Merge topic 'vs-RC-flags'
5d873846 VS: Fix handling of non-preprocessor flags in CMAKE_RC_FLAGS
2014-07-14 09:37:59 -04:00
Brad King 23eb0aaef5 Merge topic 'wince-fix-dll-linking'
7e1283e4 MSVC: Fix linking of DLLs on WinCE (#15013)
2014-07-14 09:37:57 -04:00
Brad King 5fc50479bf Merge topic 'install-cfbundle-directory'
a3ac67cc OS X: Install CFBundles as complete directories
2014-07-14 09:37:54 -04:00
Brad King 47bf22e121 Merge topic 'interface-sources-target-objects'
affe9d56 Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970)
2014-07-14 09:37:52 -04:00
Brad King cb867dc4f4 Merge topic 'doc-package-target-import-once'
cfab942e Help: Update cmake-packages.7 examples to import targets only once
2014-07-14 09:37:51 -04:00
Brad King 27fb86d72e Merge topic 'build-KWIML-always'
38d3fe07 Tests: Build and test KWIML even when testing an external CMake
2014-07-14 09:37:49 -04:00
Brad King 5690a963e9 Help: Link to variables corresponding to id and version expressions (#15012)
In the cmake-generator-expressions(7) manual, link to the variables
that correspond to the PLATFORM_ID, C_COMPILER_ID, CXX_COMPILER_ID,
C_COMPILER_VERSION, and CXX_COMPILER_VERSION generator expressions.
2014-07-14 09:35:23 -04:00
Brad King ccf2fca1fa FindCurses: Remove blank line at end of file 2014-07-14 09:14:49 -04:00
Brad King affe9d56a2 Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970)
Fix cmTarget::GetSourceFiles to set EvaluateForBuildsystem on the
$<TARGET_PROPERTY:...,INTERFACE_SOURCES> generator expression so that
the $<TARGET_OBJECTS> generator expression is allowed within an
INTERFACE_SOURCES value.

Extend the InterfaceLibrary test to cover this case.  Extend the
RunCMake.TargetObjects test to cover failure of $<TARGET_OBJECTS>
when used through $<TARGET_PROPERTY:...,INTERFACE_SOURCES> in a
non-buildsystem context.
2014-07-14 09:09:32 -04:00
Kitware Robot edf94b6588 CMake Nightly Date Stamp 2014-07-14 00:01:07 -04:00
Kitware Robot 6ac04aee51 CMake Nightly Date Stamp 2014-07-13 00:01:06 -04:00
Kitware Robot 2eadd127e9 CMake Nightly Date Stamp 2014-07-12 00:01:18 -04:00
Kitware Robot c9b5e34187 CMake Nightly Date Stamp 2014-07-11 00:01:07 -04:00
Brad King f45ede61a1 cmTarget: Fix CMP0022 OLD breakage from recent refactoring
In commit 7b0834e9 (cmTarget: Refactor internal LinkImplementation map,
2014-06-19) cmTarget::GetLinkImplementationLibrariesInternal was changed
accidentally to pass "this" to ComputeLinkImplementation instead of
"head".  Change it back.
2014-07-10 16:01:04 -04:00
Brad King afc452fe21 Merge branch 'wince-fix-dll-linking' into release 2014-07-10 15:16:19 -04:00
Brad King 7e1283e48c MSVC: Fix linking of DLLs on WinCE (#15013)
On WinCE we must link both shared libraries and executables with the
/subsystem:windowsce flag.  Teach Platform/Windows-MSVC to pass it
to the linker in both cases.

Suggested-by: Gunnar Roth <gunnar.roth@gmx.de>
2014-07-10 15:10:32 -04:00
Martin Mitas 5d8738468f VS: Fix handling of non-preprocessor flags in CMAKE_RC_FLAGS
Teach the VS >= 10 generator to honor flags other than -I and -D
in the CMAKE_RC_FLAGS[_<CONFIG>] variable.  Place them within the
ResourceCompile .vcxproj element under AdditionalOptions.

Also add a rudimentary flag map to map '-n' to 'NullTerminateStrings'.
2014-07-10 14:33:27 -04:00
Brad King 6e9454dd7e Merge branch 'install-cfbundle-directory' into release 2014-07-10 12:55:45 -04:00
Tim Blechmann a3ac67cc3f OS X: Install CFBundles as complete directories
Install CFBundles as directories just like frameworks and application
bundles.
2014-07-10 12:54:10 -04:00
Kitware Robot 7e5c9c1526 CMake Nightly Date Stamp 2014-07-10 00:01:08 -04:00
Brad King cfab942e5f Help: Update cmake-packages.7 examples to import targets only once
Package configuration files should load their targets files at most once
in a given scope.  Update our ClimbingStats example to show how to do
this.
2014-07-09 12:57:19 -04:00
Brad King 55d3e88fb7 Merge topic 'thread-sanitizer'
7c80ce6f Help: Add notes for topic 'thread-sanitizer'
49948f72 ctest_memcheck: Add support for ThreadSanitizer
2014-07-09 10:02:48 -04:00
Brad King aaea11e353 Merge topic 'dev/custom-target-performance'
6208c285 cmMakefile: Defer dependency calculations
dc2e26df cmMakefile: Avoid excess source files
d2803fba cmMakefile: Add a CreateSource method
2014-07-09 10:02:47 -04:00
Brad King e187351c5f Merge topic 'allow-OBJECT-library-extra-sources'
2c470b77 add_library: Allow arbitrary non-linked sources in OBJECT libraries
de4f3e2c Tests: Fix broken dependency in ObjectLibrary test
54bf5858 Tests: Resolve TODO comment left in ObjectLibrary test
2014-07-09 10:02:45 -04:00
Brad King 49910f1a2c Merge topic 'FindSWIG-swig3.0'
7400695e FindSWIG: Add support for swig 3.0 application
2014-07-09 10:02:43 -04:00
Brad King 77e4f5490e Merge topic 'CMakeExpandImportedTargets-CMP0045'
49f32168 CMakeExpandImportedTargets: Do not read property on non-target (#15008)
2014-07-09 10:02:41 -04:00
Brad King d30acf347b Merge topic 'update-kwsys'
5f525da0 Merge branch 'upstream-kwsys' into update-kwsys
3d127627 KWSys 2014-07-02 (c2a329ce)
2014-07-09 10:02:39 -04:00
Brad King 7c80ce6f05 Help: Add notes for topic 'thread-sanitizer' 2014-07-09 09:50:45 -04:00
Bill Hoffman 49948f7221 ctest_memcheck: Add support for ThreadSanitizer
This commit adds support for ThreadSanitizer to ctest.  ThreadSanitizer
is part of the clang compiler and also gcc 4.8 and later. You have to
compile the code with special flags. Then your code gets the the
ThreadSanitizer ability built into it. To pass options to the
ThreadSanitizer you use an environment variable. This commit teaches
ctest to parse the output from ThreadSanitizer and send it to CDash.
2014-07-09 09:48:35 -04:00
Brad King 2c470b775a add_library: Allow arbitrary non-linked sources in OBJECT libraries
Loosen this restriction on OBJECT libraries to allow source files of any
name to be generated by custom commands or listed for reference in IDE
projects so long as they would not affect linking of a normal library.
Update the rejection message to be more specific about the looser
restriction.

Extend the ObjectLibrary test to cover a ".cmake" file generated by a
custom command in an OBJECT library.
2014-07-09 09:43:42 -04:00
Kitware Robot 0e5c7aefe3 CMake Nightly Date Stamp 2014-07-09 00:01:07 -04:00
Ben Boeckel 43a8c5526d SystemTools: Use a set in Is{On,Off}
Also check before calling toupper() umpteen million times.
2014-07-08 11:18:15 -04:00
Ben Boeckel 9270aa9a2d IsOff: Use the length for the string construction
No need to waste the calculation and force the string to call strlen
again.
2014-07-08 11:16:16 -04:00
Ben Boeckel 6208c285c8 cmMakefile: Defer dependency calculations 2014-07-08 10:13:51 -04:00