Commit Graph

15420 Commits

Author SHA1 Message Date
Brad King 7a63192074 Merge topic 'fix-compile-OBJECT_DIR'
03f3b4e Replace <OBJECT_DIR> rule placeholder consistently (#14667)
2014-01-02 14:23:52 -05:00
Brad King fef56edee7 Merge topic 'update-kwsys'
2f7c169 Merge branch 'upstream-kwsys' into update-kwsys
d4efa5f KWSys 2013-12-21 (e81f2a9e)
2014-01-02 14:23:35 -05:00
Brad King f6c85e7b36 Merge topic 'fix-ctest-regressions'
7f0d4af CTest: fix regressions introduced by the ctest-fix-run-serial topic
2014-01-02 14:23:22 -05:00
Brad King 0d63bdd2d9 Merge topic 'rpath-default'
d25ad48 OS X: Add CMP0042 to enable MACOSX_RPATH by default
2014-01-02 14:23:09 -05:00
Brad King 03f3b4e727 Replace <OBJECT_DIR> rule placeholder consistently (#14667)
The <OBJECT_DIR> placeholder is supposed to be the base intermediate
files directory for the current target.  This is how it gets replaced
during link line generation.  However, during compile line generation
we replace it with the directory containing the current object file
which may be a subdirectory.  Fix replacement of <OBJECT_DIR> in the
generated compile lines to be the base intermediate files directory.

This was expoxed by commit 42ba1b08 (VS: Separate compiler and linker
PDB files, 2013-04-05) when we added a "/Fd<OBJECT_DIR>/" flag to the
MSVC compile line in order to match the VS IDE default compiler program
database location in the intermediate files directory.  For source files
in a subdirectory relative to the current target this caused the wrong
location to be used for the compiler program database.  This becomes
particularly important when using precompiled headers.

While at it, use the cmTarget::GetSupportDirectory method to compute the
intermediate files directory for the current target instead of repeating
the logic in a few places.
2014-01-02 13:45:41 -05:00
Clinton Stimpson d25ad482e9 OS X: Add CMP0042 to enable MACOSX_RPATH by default
Also adding documentation for CMAKE_MACOSX_RPATH, and improving
documentation for MACOSX_RPATH.
2014-01-02 13:41:49 -05:00
Kitware Robot c0798b50d0 CMake Nightly Date Stamp 2014-01-02 00:01:08 -05:00
Kitware Robot 9e9debe505 CMake Nightly Date Stamp 2014-01-01 00:01:13 -05:00
Kitware Robot 403632c8ae CMake Nightly Date Stamp 2013-12-31 00:01:08 -05:00
Kitware Robot 1b7546c460 CMake Nightly Date Stamp 2013-12-30 00:01:27 -05:00
Kitware Robot 8b275894da CMake Nightly Date Stamp 2013-12-29 00:01:05 -05:00
Kitware Robot a846670013 CMake Nightly Date Stamp 2013-12-28 00:01:11 -05:00
Kitware Robot 9f7c2bde8f CMake Nightly Date Stamp 2013-12-27 00:01:09 -05:00
Kitware Robot cba6c45410 CMake Nightly Date Stamp 2013-12-26 00:01:07 -05:00
Kitware Robot b87ce492ab CMake Nightly Date Stamp 2013-12-25 00:01:07 -05:00
Kitware Robot dfbca3b42a CMake Nightly Date Stamp 2013-12-24 00:01:08 -05:00
Brad King 2f7c169158 Merge branch 'upstream-kwsys' into update-kwsys 2013-12-23 10:51:38 -05:00
Brad King 7f3ead9bd0 Merge topic 'update-kwsys'
f4fcfc6 Merge branch 'upstream-kwsys' into update-kwsys
7aa3c20 KWSys 2013-12-19 (2426b57d)
2013-12-23 10:19:35 -05:00
Brad King b5ef7fd47e Merge topic 'wix-cmake-coding-conventions'
37a1157 CPackWiX: adhere to CMake member naming convention
2013-12-23 10:19:29 -05:00
Brad King 4dd2382a6e Merge topic 'fix-Qt-rcc-file-handling'
870bd16 QtAutogen: Don't modify target source files while iterating them.
2013-12-23 10:19:24 -05:00
Brad King 11ddaa51ea Merge topic 'vs-external-project-type'
a79cbdc VS: Teach include_external_msproject about non-C++ projects (#14661)
2013-12-23 10:19:10 -05:00
Brad King b646ae88fa Merge topic 'remove-VTK-include-hack'
db7d111 cmLocalGenerator: Remove VTK include hack (#11338).
2013-12-23 10:19:00 -05:00
Brad King 1e8d4b5f46 Merge topic 'constify'
ae6fc55 cmGlobalGenerator: Fix value type pushed into autogens vector
2013-12-23 10:18:51 -05:00
Brad King a61bec581e Merge topic 'wix-fix-registry-slash'
7eea71e CPackWiX: replace slash with backslash in registry key path
2013-12-23 10:18:43 -05:00
Nils Gladitz 7f0d4aff24 CTest: fix regressions introduced by the ctest-fix-run-serial topic
The first regression resulted in endless looping due to unrun test
dependencies. The second regression prioritized all tests with dependencies
in serial test runs.
2013-12-23 15:31:15 +01:00
Kitware Robot f350fa6c71 CMake Nightly Date Stamp 2013-12-23 00:01:07 -05:00
Kitware Robot eb684157be CMake Nightly Date Stamp 2013-12-22 00:01:07 -05:00
Kitware Robot de607ff52e CMake Nightly Date Stamp 2013-12-21 00:01:08 -05:00
Brad King f4fcfc6ef3 Merge branch 'upstream-kwsys' into update-kwsys 2013-12-20 14:27:36 -05:00
Nils Gladitz 37a1157aa9 CPackWiX: adhere to CMake member naming convention 2013-12-20 18:12:01 +01:00
Stephen Kelly 870bd16f2c QtAutogen: Don't modify target source files while iterating them.
Populate a separate vector of files and append them separately. This
was the pattern used prior to commit 035b6908 (Autogen: Split AutoRcc
handling into two methods, 2013-12-10), which was erroneously not
maintained in that refactoring.
2013-12-20 17:37:20 +01:00
David Golub a79cbdc068 VS: Teach include_external_msproject about non-C++ projects (#14661)
Teach CMake to guess the project type guid based on the project file
extension.  This allows non-C++ projects like *.vbproj or *.csproj
to be included.
2013-12-20 11:02:11 -05:00
Stephen Kelly db7d1112ea cmLocalGenerator: Remove VTK include hack (#11338).
This exists for pre-CMake 2.4 compatibility. All such compatibility
code was removed for CMake 3.0, so remove this too.
2013-12-20 16:15:58 +01:00
Brad King ae6fc555a7 cmGlobalGenerator: Fix value type pushed into autogens vector
The parent commit changed the AutogensType::value_type to be
"std::pair<cmQtAutoGenerators,cmTarget const*>" but our std::make_pair
call returns "std::pair<cmQtAutoGenerators,cmTarget*>".  Construct the
value_type directly instead of using make_pair.  Otherwise the Sun 5.9
compiler complains

 ".../Source/cmGlobalGenerator.cxx", line 1281: Error:
 Formal argument x of type "const std::pair<cmQtAutoGenerators, const cmTarget*>&"
 in call to "std::vector<std::pair<cmQtAutoGenerators, const cmTarget*> >
 ::push_back(const std::pair<cmQtAutoGenerators, const cmTarget*>&)" is being
 passed "std::pair<cmQtAutoGenerators, cmTarget*>".
2013-12-20 10:06:45 -05:00
Brad King 28d9aba7d6 Merge topic 'minor-cleanup'
b51b6e9 Export: Skip INTERFACE libraries when generating -config files.
cad5c79 cmTarget: Fix typo
08e72a3 Automoc: Fix style
2eda924 Genex: Use case-sensitive comparison in PLATFORM_ID.
9436353 Genex: Always return immediately on error.
20a06d0 Export: Clean up comment.
f4d9466 Genex: Accept arbitrary content in *_CASE and MAKE_C_IDENTIFIER.
d36b489 Genex: Allow single param expressions to accept arbirary input.
218ad35 Constify cmStrCmp.
4cb7d79 Help: Fix CMP0037 docs.
5187580 Help: Add missing period.
2013-12-20 09:41:40 -05:00
Brad King 7974dced73 Merge topic 'make-entry-no-parallel'
bd11de0 Makefile: Allow "gmake target1 target2 -j" (#14312)
2013-12-20 09:41:32 -05:00
Brad King 6f29fdd7cd Merge topic 'update-kwsys'
2a943d9 Merge branch 'upstream-kwsys' into update-kwsys
f788d9a KWSys 2013-12-19 (88165c5e)
2013-12-20 09:41:27 -05:00
Brad King bd11de0857 Makefile: Allow "gmake target1 target2 -j" (#14312)
Add the .NOTPARALLEL target to each local Makefile command-line
interface entry point file so that even with -j we launch only
one "make -f Makefile2" at a time.  The actual build rules
in Makefile2 and lower will still run in parallel.

Do not add .NOTPARALLEL for Borland or Watcom make tools because
they do not tolerate it.  Other make tools that do not understand
.NOTPARALLEL will not be hurt.

Suggested-by: Robert Luberda <robert-cmake@debian.org>
2013-12-20 09:35:20 -05:00
Nils Gladitz 7eea71ea57 CPackWiX: replace slash with backslash in registry key path
Forward slash is not understood as a key path separator.
2013-12-20 12:01:28 +01:00
Kitware Robot a0ce1e36b6 CMake Nightly Date Stamp 2013-12-20 00:01:24 -05:00
Stephen Kelly b51b6e97a2 Export: Skip INTERFACE libraries when generating -config files.
The properties object has just been created, so is always empty,
which means the if block is never entered. The following lines do
not have any effect because an INTERFACE library has no LOCATION.
At the end, no code is generated for INTERFACE libraries in
config-specific exported files, so skip them early.
2013-12-20 00:56:17 +01:00
Brad King 2a943d9264 Merge branch 'upstream-kwsys' into update-kwsys 2013-12-19 10:44:29 -05:00
Stephen Kelly cad5c79e6c cmTarget: Fix typo
'a ALIAS' -> 'an ALIAS'
2013-12-19 16:17:59 +01:00
Stephen Kelly 08e72a34e9 Automoc: Fix style
Insert whitespace before operators.
2013-12-19 16:17:59 +01:00
Stephen Kelly 2eda924389 Genex: Use case-sensitive comparison in PLATFORM_ID. 2013-12-19 16:17:59 +01:00
Stephen Kelly 9436353f94 Genex: Always return immediately on error. 2013-12-19 16:17:59 +01:00
Stephen Kelly 20a06d01f7 Export: Clean up comment.
Introduced in commit a4263c9f (export(): Handle multiple dependent export
sets., 2013-10-10)
2013-12-19 16:17:59 +01:00
Stephen Kelly f4d9466130 Genex: Accept arbitrary content in *_CASE and MAKE_C_IDENTIFIER. 2013-12-19 16:17:59 +01:00
Stephen Kelly d36b489401 Genex: Allow single param expressions to accept arbirary input.
Existing single-parameter expressions work due to special casing
which assumes that if there is only one parameter, and the node
accepts arbitrary content, then the result is the input.

This is true for the existing expressions matching that
pattern - namely the "1" and "TARGET_NAME" expressions. However,
the LOWER_CASE, and UPPER_CASE expressions should also accept
arbitrary content, and in their case, the result is not the input.

Refactor the cmGeneratorExpressionEvaluator to allow that extension.
Actually evaluate the "1" and "0" nodes.
2013-12-19 16:17:59 +01:00
Stephen Kelly 218ad35f96 Constify cmStrCmp. 2013-12-19 16:17:58 +01:00