summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't wrap all targets in LINK_LIBRARIES in a TARGET_NAME genex.Stephen Kelly2013-01-201-2/+3
| | | | | | | | | | | | | | | It is not necessary and the current state is unintentional. Before this patch, target_link_libraries(foo bar) causes the LINK_LIBRARIES property of foo to contain $<TARGET_NAME:bar> instead of just bar
* CMake Nightly Date StampKitware Robot2013-01-191-1/+1
|
* CMake Nightly Date StampKitware Robot2013-01-181-1/+1
|
* CMake Nightly Date StampKitware Robot2013-01-171-1/+1
|
* CMake Nightly Date StampKitware Robot2013-01-161-1/+1
|
* Merge topic 'test-export-iface-genex'Brad King2013-01-1516-66/+216
|\ | | | | | | | | | | | | | | | | | | | | | | | | 1d74ba2 Test evaluation target via export for generator expressions 522bdac Export the INTERFACE_PIC property. 4ee872c Make the BUILD_INTERFACE of export()ed targets work. 1d47cd9 Add a test for the interfaces in targets exported from the build tree. 6c828f9 Move the exported check for file existence. cfd4f0a Move the exported check for dependencies of targets d8fe1fc Only generate one check per missing target. f623d37 Don't write a comment in the export file without the code. b279f2b Strip consecutive semicolons when preprocessing genex strings.
| * Test evaluation target via export for generator expressionsStephen Kelly2013-01-151-1/+1
| |
| * Export the INTERFACE_PIC property.Stephen Kelly2013-01-157-0/+46
| |
| * Make the BUILD_INTERFACE of export()ed targets work.Stephen Kelly2013-01-1510-18/+77
| | | | | | | | | | The existing BUILD_INTERFACE code is executed at generate time, which is too late for export().
| * Add a test for the interfaces in targets exported from the build tree.Stephen Kelly2013-01-152-16/+14
| |
| * Move the exported check for file existence.Stephen Kelly2013-01-151-2/+2
| | | | | | | | | | Check only once, in the Config.cmake file, instead of once in each Config-<cfg>.cmake file.
| * Move the exported check for dependencies of targetsStephen Kelly2013-01-156-20/+27
| | | | | | | | | | Check only once, in the Config.cmake file, instead of once in each Config-<cfg>.cmake file.
| * Only generate one check per missing target.Stephen Kelly2013-01-151-11/+15
| |
| * Don't write a comment in the export file without the code.Stephen Kelly2013-01-151-0/+4
| |
| * Strip consecutive semicolons when preprocessing genex strings.Stephen Kelly2013-01-151-2/+34
| |
* | Merge topic 'update-kwsys'Brad King2013-01-154-43/+259
|\ \ | | | | | | | | | | | | | | | | | | | | | e2c756f Merge branch 'upstream-kwsys' into update-kwsys 4ba0ac7 KWSys 2013-01-14 (6fa1c99f) 6f57a90 Merge branch 'upstream-kwsys' into update-kwsys 6318834 KWSys 2013-01-10 (608d6b47)
| * \ Merge branch 'upstream-kwsys' into update-kwsysBrad King2013-01-144-37/+129
| |\ \
| | * | KWSys 2013-01-14 (6fa1c99f)KWSys Robot2013-01-144-37/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extract upstream KWSys using the following shell commands. $ git archive --prefix=upstream-kwsys/ 6fa1c99f | tar x $ git shortlog --no-merges --abbrev=8 --format='%h %s' 608d6b47..6fa1c99f Brad King (1): 84827cc1 Process: Avoid argv[0]==NULL from parsing empty command line Rolf Eike Beer (8): e041cd66 SystemInformation: factor out QueryMemoryBySysconf() ea850fa0 SystemInformation: factor out QueryProcessorBySysconf() 57f06d49 SystemInformation: count processors with sysconf() on Solaris c6057a06 SystemInformation: fix "Multi-character character constant" 5a27bd4f SystemInformation: make IsHyperThreadingSupported() return bool 342c0ad2 SystemInformation: query memory size with sysconf() on Solaris f0b857c1 SystemInformation: cache result of IsHyperThreadingSupported() ab0c2a09 SystemInformation: try using assembler with BorlandC Change-Id: I072371ed35eed892a5ef62a9e9e6cad734e961d9
| * | | Merge branch 'upstream-kwsys' into update-kwsysBrad King2013-01-112-6/+130
| |\ \ \ | | |/ /
| | * | KWSys 2013-01-10 (608d6b47)KWSys Robot2013-01-112-6/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extract upstream KWSys using the following shell commands. $ git archive --prefix=upstream-kwsys/ 608d6b47 | tar x $ git shortlog --no-merges --abbrev=8 --format='%h %s' fc60c8b8..608d6b47 Rolf Eike Beer (6): 297758a5 SystemInformation: fix conversion warning 79ef34ef SystemInformation: fix calling kwsysProcess_WaitForData() f1068caf SystemInformation: speed up copying process data 7dfc27d5 SystemInformation: check CPU vendor and SSE support on OpenBSD 494d9d7a SystemInformation: get stepping code on Intel Macs 608d6b47 SystemInformation: determine processor features on Intel Macs Change-Id: I7f5bc5b7af2bf7d4e5c1ee291c286add0f17a7d5
* | | | Merge topic 'TARGET_DEFINED-genex'Brad King2013-01-154-0/+29
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 2bee6f5 Add the TARGET_DEFINED generator expression
| * | | | Add the TARGET_DEFINED generator expressionStephen Kelly2013-01-134-0/+29
| | |_|/ | |/| | | | | | | | | | This tests whether the parameter is a usable target.
* | | | Merge topic 'commands-genex-docs'Brad King2013-01-153-0/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 7c7b94f Document the use of generator expressions in new commands.
| * | | | Document the use of generator expressions in new commands.Stephen Kelly2013-01-133-0/+7
| | | | |
* | | | | Merge topic 'tll-allow-genex'Brad King2013-01-152-0/+20
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 1da7502 Don't include generator expressions in old-style link handling.
| * | | | | Don't include generator expressions in old-style link handling.Stephen Kelly2013-01-132-0/+20
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't add generator expressions to variables which are used for CMP0003, CMP0004, and the old-style _LIB_DEPENDS content. They will not be evaluated when read anyway and would probably confuse the code reading them. This makes it legitimate to use target_link_libraries with generator expressions as arguments.
* | | | | Merge topic 'compatible-INTERFACE-user-properties'Brad King2013-01-154-0/+81
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 7171fd0 Add a way to check INTERFACE user property compatibility.
| * | | | | Add a way to check INTERFACE user property compatibility.Stephen Kelly2013-01-154-0/+81
| | |_|/ / | |/| | |
* | | | | Merge topic 'fix-empty-link-line-crash'Brad King2013-01-151-0/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 8ff1d47 CMake: Skip empty link.txt lines (#13845)
| * | | | | CMake: Skip empty link.txt lines (#13845)Brad King2013-01-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the implementation of "cmake -E cmake_link_script", skip lines from the input file that are empty or contain only whitespace. Do not try to run a child with no command line.
* | | | | | CMake Nightly Date StampKitware Robot2013-01-151-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-01-141-1/+1
| |_|/ / / |/| | | |
* | | | | CMake Nightly Date StampKitware Robot2013-01-131-1/+1
| |_|/ / |/| | |
* | | | CMake Nightly Date StampKitware Robot2013-01-121-1/+1
| |/ / |/| |
* | | Merge topic 'LINK_INTERFACE_LIBRARIES-genex'Brad King2013-01-1119-115/+425
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 77d2646 Allow generator expressions in LINK_INTERFACE_LIBRARIES. 94aeaf7 Split LINK_INTERFACE_LIBRARIES export handling into dedicated method. a3aedb8 Split the generator expression before extracting targets. b6036d1 Extract the AddTargetNamespace method. cb1afbf Don't pass a position when determining if a target name is a literal. f99196d Add cmGeneratorExpression::Split() API.
| * | | Allow generator expressions in LINK_INTERFACE_LIBRARIES.Stephen Kelly2013-01-1014-17/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Config and IMPORTED_ variants may also contain generator expressions. If 'the implementation is the interface', then the result of evaluating the expressions at generate time is used to populate the IMPORTED_LINK_INTERFACE_LIBRARIES property. 1) In the case of non-static libraries, this is fine because the user still has the option to populate the LINK_INTERFACE_LIBRARIES with generator expressions if that is what is wanted. 2) In the case of static libraries, this prevents a footgun, enforcing that the interface and the implementation are really the same. Otherwise, the LINK_LIBRARIES could contain a generator expression which is evaluated with a different context at build time, and when used as an imported target. That would mean that the result of evaluating the INTERFACE_LINK_LIBRARIES property for a static library would not necessarily be the 'link implementation'. For example: add_library(libone STATIC libone.cpp) add_library(libtwo STATIC libtwo.cpp) add_library(libthree STATIC libthree.cpp) target_link_libraries(libtwo $<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,STATIC_LIBRARY>:libone>) target_link_libraries(libthree libtwo) If the LINK_LIBRARIES content was simply copied to the IMPORTED_LINK_INTERFACE_LIBRARIES, then libthree links to libone, but executables linking to libthree will not link to libone. 3) As the 'implementation is the interface' concept is to be deprecated in the future anyway, this should be fine.
| * | | Split LINK_INTERFACE_LIBRARIES export handling into dedicated method.Stephen Kelly2013-01-104-3/+33
| | | |
| * | | Split the generator expression before extracting targets.Stephen Kelly2013-01-102-2/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we're processing a LINK_INTERFACE_LIBRARIES string, it can contain targets. Make sure they are extracted for namespacing purposes. This needs to be restricted to strings which can actually have targets named in them. For example, this is not done for INTERFACE_COMPILE_DEFINITIONS, because even if there is a target named 'foo', the string 'foo' in that property means that '-Dfoo' will be set when compiling.
| * | | Extract the AddTargetNamespace method.Stephen Kelly2013-01-102-95/+52
| | | |
| * | | Don't pass a position when determining if a target name is a literal.Stephen Kelly2013-01-101-1/+1
| | | | | | | | | | | | | | | | The lastPos refers to a position in a different string.
| * | | Add cmGeneratorExpression::Split() API.Stephen Kelly2013-01-102-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can split a string like "A;$<1:B>;$<1:C>;D;E;$<1:F;G;H>;$<1:I>;J" into "A" "$<1:B>" "$<1:C>" "D" "E" "$<1:F;G;H>" "$<1:I>" "J"
* | | | Merge topic 'fix-imported-lib-linking-test'Brad King2013-01-112-3/+3
|\ \ \ \ | |/ / / | | / / | |/ / |/| | 93034a8 Fix linking to imported libraries test.
| * | Fix linking to imported libraries test.Stephen Kelly2013-01-102-3/+3
| | | | | | | | | | | | | | | | | | | | | Make a C executable instead of attempting to make a C++ static library (and not really succeeding). This was introduced in commit 894f52f3 (Handle INTERFACE properties transitively for includes and defines., 2012-09-23).
* | | CMake Nightly Date StampKitware Robot2013-01-111-1/+1
|/ /
* | Merge topic 'INTERFACE_POSITION_INDEPENDENT_CODE'Brad King2013-01-1024-10/+303
|\ \ | | | | | | | | | | | | | | | | | | 3581b96 Process the INTERFACE_PIC property from linked dependencies 042ecf0 Add API to calculate link-interface-dependent bool properties or error. bf5ece5 Keep track of properties used to determine linker libraries.
| * | Process the INTERFACE_PIC property from linked dependenciesStephen Kelly2013-01-1019-8/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | This allows a dependee to inform a target that it should have its POSITION_INDEPENDENT_CODE property set to ON, or OFF. The value of the POSITION_INDEPENDENT_CODE property, if set, must be consistent with any INTERFACE_POSITION_INDEPENDENT_CODE properties on dependees. Add a test covering the consistency checks on platforms where they run.
| * | Add API to calculate link-interface-dependent bool properties or error.Stephen Kelly2013-01-082-0/+131
| | | | | | | | | | | | | | | | | | | | | | | | This new method checks that the property FOO on a target is consistent with the INTERFACE_FOO properties of its dependees. If they are not the consistent, an error is reported. 'Consistent' means that iff the property is set, it must have the same boolean value as all other related properties.
| * | Keep track of properties used to determine linker libraries.Stephen Kelly2013-01-086-2/+73
| | | | | | | | | | | | | | | Those properties can't later be implicitly defined by the interface of those link libraries.
* | | Merge topic 'target-includes-defines-commands'Brad King2013-01-1014-0/+682
|\ \ \ | | | | | | | | | | | | | | | | | | | | fc61a7a Add the target_compile_definitions command. 8a37ebe Add the target_include_directories command.
| * | | Add the target_compile_definitions command.Stephen Kelly2013-01-107-0/+209
| | | | | | | | | | | | | | | | This is a convenience API to populate the corresponding properties.