Commit Graph

22374 Commits

Author SHA1 Message Date
Brad King 18985f6c29 Merge topic 'refactor-autogen-setup'
944277d cmAutogen: Gather tool arguments after creating generator targets.
d2f4b1e cmAutogen: Rename method to InitializeAutogenTarget
45735f3 cmAutogen: Move autogen target creation to InitializeMocSourceFile.
20a234d cmAutogen: Extract some helper methods for autogen targets.
2013-11-06 08:39:08 -05:00
Brad King ef3dc6507e Merge topic 'clear-generator-data'
5cf1120 cmGlobalGenerator: Refactor member cleanup between configures
2013-11-06 08:39:01 -05:00
Kitware Robot 4d6b88d44b CMake Nightly Date Stamp 2013-11-06 00:01:11 -05:00
Stephen Kelly 944277d09e cmAutogen: Gather tool arguments after creating generator targets.
This change causes the GetLinkInterfaceDependentStringProperty method,
called in SetupAutoGenerateTarget, after the creation of generator
targets. In CMake 4.0, the GetLinkInterfaceDependentStringProperty
will move to the cmGeneratorTarget class, and this patch is a necessary
prerequisite to that.
2013-11-05 20:17:34 +01:00
Stephen Kelly d2f4b1e3cf cmAutogen: Rename method to InitializeAutogenTarget
This reflects better what it is doing.
2013-11-05 20:17:34 +01:00
Stephen Kelly 45735f3827 cmAutogen: Move autogen target creation to InitializeMocSourceFile.
The SetupAutoGenerateTarget method will soon be invoked at a later
time in a followup commit. We need to ensure that we create the
utility autogen target early.
2013-11-05 20:17:32 +01:00
Stephen Kelly 20a234d1b8 cmAutogen: Extract some helper methods for autogen targets.
These snippets will soon be needed from multiple methods.
2013-11-05 20:17:30 +01:00
Brad King e313d397cd Merge topic 'fix-automoc-compile-definitions'
a1b9465 Automoc: Add directory-level COMPILE_DEFINITIONS to command line (#14535)
2013-11-05 13:32:15 -05:00
Stephen Kelly a1b9465bf8 Automoc: Add directory-level COMPILE_DEFINITIONS to command line (#14535)
In commit 18412153 (Refactor cmTarget::GetCompileDefinitions...,
2013-06-06) cmQtAutomoc was refactored to get all compile definitions
from the target instead of separately asking the target and querying the
directory-level COMPILE_DEFINITIONS property value.  While the
generation process does integrate directory-level COMPILE_DEFINITIONS
into the target definitions, this did not happen until after Automoc
targets are constructed.  Therefore the commit regressed use of
directory-level definitions in Automoc targets.

Factor the definition finalization logic out from the
cmGlobalGenerator::CreateGeneratorTargets method into a new
cmGlobalGenerator::FinalizeTargetCompileDefinitions method and call it
before constructing Automoc targets.  This will place the
directory-level definitions into the target in time to use them for the
Automoc targets.

Extend the QtAutomoc test to cover this case.
2013-11-05 12:00:49 -05:00
Brad King 177f5e51d2 Merge topic 'osx-no-PackageMaker'
7947981 CPack: Disable OS X PackageMaker by default (#13662)
2013-11-05 11:42:10 -05:00
Brad King d9600f9880 Merge topic 'test-Assembler-no-g'
f60797f Tests/Assembler: Drop -g when generating sample assembly source
2013-11-05 11:42:01 -05:00
Brad King 4ab88500ae Merge topic 'cmake-E-autogen-crash'
132c40a cmake: Validate -E cmake_autogen argument count (#14545)
cc52b7d Merge branch 'cmake-E-automoc-crash' into cmake-E-autogen-crash
9ef66f2 cmake: Validate -E cmake_automoc argument count (#14545)
2013-11-05 08:17:10 -05:00
Brad King 93fe461e6c Merge topic 'remove-cmake-i-wizard'
0fa9aea Help: Drop mention of cmake -i wizard mode
2013-11-05 08:17:06 -05:00
Brad King 3e2eacb638 Merge topic 'doc-tool-usage'
d1e8a02 Help: Refine manual/*.1.rst usage summaries
2013-11-05 08:17:01 -05:00
Brad King 46316a0569 Merge topic 'FindPHP4-no-cache-output'
a06debc FindPHP4: Drop extra content from reported PHP4_INCLUDE_PATH (#14540)
2013-11-05 08:16:57 -05:00
Brad King d94416725e Merge topic 'FindJNI-biarch'
cde56c1 FindJNI: Support biarch installations (#14541)
2013-11-05 08:16:51 -05:00
Brad King f506a2efbe Merge topic 'ninja-dont-parse-empty-depsflag'
f212615 Ninja: don't parse empty string
2013-11-05 08:16:47 -05:00
Brad King 7ccb8fafdb Merge topic 'ninja-deps-intel'
d439083 Ninja: add depfile support for Intel's compiler
2013-11-05 08:16:42 -05:00
Brad King 132c40a8a8 cmake: Validate -E cmake_autogen argument count (#14545)
Do not access an argument index not known to exist.

Port the change from commit 9ef66f2b (cmake: Validate -E cmake_automoc
argument count, 2013-11-05) to the new location of the code.
2013-11-05 07:39:45 -05:00
Brad King cc52b7d5f9 Merge branch 'cmake-E-automoc-crash' into cmake-E-autogen-crash 2013-11-05 07:38:51 -05:00
Brad King 9ef66f2b0f cmake: Validate -E cmake_automoc argument count (#14545)
Do not access an argument index not known to exist.
2013-11-05 07:37:23 -05:00
Brad King 5cf1120fbf cmGlobalGenerator: Refactor member cleanup between configures
Factor member cleanup out from cmGlobalGenerator::Configure and the
destructor into a dedicated helper to avoid duplication.  This fixes
clearing of BuildExportSets between configures.
2013-11-05 07:27:42 -05:00
Brad King 47694c40e3 Merge topic 'clear-evaluation-files'
2e388cc file(GENERATE): Clear internal records between configures
2013-11-05 07:26:46 -05:00
Kitware Robot f6f7531353 CMake Nightly Date Stamp 2013-11-05 00:01:07 -05:00
Brad King 2e388cc3c2 file(GENERATE): Clear internal records between configures
In the CMake interactive dialogs cmGlobalGenerator::Configure may
run more than once.  Clear the cmGlobalGenerator::EvaluationFiles
data between configures to avoid accessing deleted data.
2013-11-04 16:14:49 -05:00
Brad King 0fa9aea293 Help: Drop mention of cmake -i wizard mode
The parent commit removed support for this mode, so do not mention
it in the documentation.
2013-11-04 11:16:22 -05:00
Brad King d1e8a0240b Help: Refine manual/*.1.rst usage summaries
Use a parsed-literal block to list possible command-line signatures.
Add an "Options" section header before the list of options.
2013-11-04 11:06:14 -05:00
Brad King f4253d7bf6 Merge topic 'policy-CMP0022-fixes-for-master'
e9654c6 Fix INTERFACE_LINK_LIBRARIES documentation typos
23087eb Merge branch 'policy-CMP0022-fixes' into policy-CMP0022-fixes-for-master
603fe92 Fix summary documentation of INTERFACE_LINK_LIBRARIES
0aa97b6 Fix spelling in INTERFACE_LINK_LIBRARIES documentation (#14542)
2013-11-04 09:05:57 -05:00
Modestas Vainius cde56c1223 FindJNI: Support biarch installations (#14541)
On biarch architecture, CMAKE_SYSTEM_PROCESSOR might be a 64bit one
while the system 32bit one. Take this into consideration while looking
for Java library directory.

Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=718290
2013-11-04 08:55:02 -05:00
Brad King a06debcde9 FindPHP4: Drop extra content from reported PHP4_INCLUDE_PATH (#14540)
The set() call for this variable left out the CACHE keyword.  It does
not need to be cached anyway, so drop the other CACHE set() signature
arguments.

Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=722475
Reported-by: Modestas Vainius <modax@debian.org>
Inspired-by: Mathieu Malaterre <malat@debian.org>
2013-11-04 08:51:46 -05:00
Brad King e9654c632a Fix INTERFACE_LINK_LIBRARIES documentation typos
Apply the changes from commit 603fe925 (Fix summary documentation of
INTERFACE_LINK_LIBRARIES, 2013-11-04) and commit 0aa97b6b (Fix spelling
in INTERFACE_LINK_LIBRARIES documentation, 2013-11-04) to the new
location of the same documentation.
2013-11-04 08:33:38 -05:00
Brad King 23087ebcca Merge branch 'policy-CMP0022-fixes' into policy-CMP0022-fixes-for-master 2013-11-04 08:32:16 -05:00
Brad King 603fe9253f Fix summary documentation of INTERFACE_LINK_LIBRARIES
The property applies to all library types, not just shared libraries.
2013-11-04 08:29:00 -05:00
Modestas Vainius 0aa97b6bb7 Fix spelling in INTERFACE_LINK_LIBRARIES documentation (#14542)
s/overriden/overridden/
2013-11-04 08:26:09 -05:00
Brad King b4a1f442bb Merge topic 'policy-CMP0022-fixes-for-master'
b51696f CMP0022: Update target_link_libraries plain signature documentation
25b7f87 Merge branch 'policy-CMP0022-fixes' into policy-CMP0022-fixes-for-master
0a561a0 CMP0022: Warn about a given target at most once
23d21b7 Do not export INTERFACE_LINK_LIBRARIES from non-linkable targets
ef10b87 CMP0022: Plain target_link_libraries must populate link interface
0e06788 CMP0022: Add test for target_link_libraries plain signature
c0f4a61 CMP0022: Add unit test for null pointer check and message.
4b0cfa7 Merge branch 'output-CMP0022-entries' into policy-CMP0022-fixes
2013-11-04 07:54:20 -05:00
Brad King eb3761ae68 Merge topic 'constify'
af4c109 cmGeneratorTarget: Make some accessors const.
6bdea06 cmTarget: Make some accessors const.
2013-11-04 07:54:03 -05:00
Brad King a9c8f7b300 Merge topic 'doc-CMAKE_INCLUDE_DIRECTORIES_BEFORE'
12d10a0 Add missing documentation for include dirs related variables. (#12611)
2013-11-04 07:53:57 -05:00
Brad King 1d998085be Merge topic 'improve-tgt-INCLUDE_DIRECTORIES-docs'
8c6363a cmTarget: Improve INCLUDE_DIRECTORIES property docs (#13188).
2013-11-04 07:53:51 -05:00
Brad King ae57fb8ef6 Merge topic 'robust-ctest_empty_binary_directory'
35fbc10 CTest: more aggressive implementation of ctest_empty_binary_directory()
9d9f102 Tests: added test for ctest_empty_binary_directory()
2013-11-04 07:53:47 -05:00
Brad King f3698f7c4a Merge topic 'cpack-drag-n-drop-rez'
53d6ebb cpack: For DragNDrop generator, add sysroot option when calling Rez.
193029c cpack: For DragNDrop generator, add sysroot option when calling Rez.
2013-11-04 07:53:25 -05:00
Peter Kümmel d439083287 Ninja: add depfile support for Intel's compiler 2013-11-04 13:29:19 +01:00
Peter Kümmel f212615d3e Ninja: don't parse empty string 2013-11-04 13:20:27 +01:00
Kitware Robot e405380d06 CMake Nightly Date Stamp 2013-11-04 00:01:10 -05:00
Stephen Kelly af4c1096f6 cmGeneratorTarget: Make some accessors const. 2013-11-03 22:27:28 +01:00
Stephen Kelly 6bdea066e6 cmTarget: Make some accessors const. 2013-11-03 22:27:28 +01:00
Brad King b51696f003 CMP0022: Update target_link_libraries plain signature documentation
Make the documentation change made by commit ef10b87c (CMP0022: Plain
target_link_libraries must populate link interface, 2013-11-02) in the
new location for the same documentation.
2013-11-03 09:23:02 -05:00
Brad King 25b7f87eca Merge branch 'policy-CMP0022-fixes' into policy-CMP0022-fixes-for-master
Resolve conflict in Source/cmTarget.cxx by integrating the changes to
the internal copy constructor from both sides.  Also resolve a logical
conflict by dropping the special case for INTERFACE_LIBRARY targets.
Since cmTarget::SetMakefile already forces CMP0022 to NEW for such
targets we need no special handling.

Resolve conflict in Source/cmTargetLinkLibrariesCommand.h by dropping
the documentation change.  We will make the same change in the new
location of the same documentation in a separate commit.

Resolve conflicts in

 Tests/RunCMake/CMP0022/CMP0022-WARN-empty-old-stderr.txt
 Tests/RunCMake/CMP0022/RunCMakeTest.cmake

by taking the side from the 'policy-CMP0022-fixes' branch.
2013-11-03 09:20:47 -05:00
Brad King 0a561a0347 CMP0022: Warn about a given target at most once
Since cmTarget::ComputeLinkInterface is called separately for each
"head" target that links a target, the warning we produce when
CMP0022 is not set could be repeated.  Add explicit logic to allow
the warning to appear at most once.  Multiple copies of the warning
for the same target are almost always identical and therefore
redundant.  In the rare case that two copies of the warning are
different, the second can appear in a future run after the first
is fixed.
2013-11-03 09:14:54 -05:00
Kitware Robot defbc2aa2a CMake Nightly Date Stamp 2013-11-03 00:01:08 -04:00
Brad King 23d21b78e1 Do not export INTERFACE_LINK_LIBRARIES from non-linkable targets
When cmExportFileGenerator::SetImportLinkInterface exports the old
LINK_INTERFACE_LIBRARIES property values it skips doing so for
non-linkable targets because target->GetLinkInterface returns NULL for
such targets.

Since cmExportFileGenerator::PopulateInterfaceLinkLibrariesProperty
looks at the INTERFACE_LINK_LIBRARIES property directly instead of using
the computed link interface, teach it to skip exporting the property if
target->IsLinkable returns false.

Extend the RunCMake.CMP0022 test with a case covering this.  Simply
export an executable target that links to a library that is not
exported.
2013-11-02 14:51:07 -04:00