24 Commits

Author SHA1 Message Date
Brad King
035c29fee4 Merge topic 'link-depends-no-shared'
306796e Teach BuildDepends test to cover LINK_DEPENDS_NO_SHARED
ed97631 Optionally skip link dependencies on shared library files
2012-11-13 14:31:54 -05:00
Brad King
306796e862 Teach BuildDepends test to cover LINK_DEPENDS_NO_SHARED
Build a shared library and an executable linking to it inside the inner
test.  Set LINK_DEPENDS_NO_SHARED on the executable.  Add a custom
target to compare the output file times.  Verify that on the first build
the executable is newer than the library.  Then modify a library source
file.  Verify that on the second build the library is newer because the
executable did not have a dependency to re-link.
2012-11-09 09:26:51 -05:00
Alex Neundorf
05f162ce95 AddCustomCommand: Handle multiple IMPLICIT_DEPENDS files (#10048)
The code handling IMPLICIT_DEPENDS was only able to track a single file,
the latest file replaced earlier files in the list.

The documentation now mentions that the language has to be prefixed to
every file and the test now uses two implicit dependencies, where only
the second is modified to trigger re-running of the custom command.

Alex

Inspired-by: Michael Wild <themiwi@users.sourceforge.net>
2012-11-06 11:54:58 -05:00
Kitware Robot
9db3116226 Remove CMake-language block-end command arguments
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the
block.  This is no longer the preferred style.

Run the following shell code:

for c in else endif endforeach endfunction endmacro endwhile; do
    echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
Kitware Robot
77543bde41 Convert CMake-language commands to lower case
Ancient CMake versions required upper-case commands.  Later command
names became case-insensitive.  Now the preferred style is lower-case.

Run the following shell code:

cmake --help-command-list |
grep -v "cmake version" |
while read c; do
    echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
Peter Kümmel
207ec5c3b1 Ninja: fix mis-matching endif() argument 2012-07-18 09:51:43 +02:00
Peter Kümmel
392a6541b5 Ninja: on Mac no multiple -arch because of -M 2012-07-10 13:43:01 +02:00
Peter Kuemmel
801f23fe51 Ninja: dep files and multiple -arch flags not possible on mac 2012-06-19 21:27:52 +02:00
David Cole
5f7acc8d75 Base architecture choice logic on Xcode version
Not on Darwin version.
2011-07-18 09:59:58 -04:00
David Cole
c050c592ee Fix BuildDepends test to work with Xcode 4
ppc tools are no longer available in the Xcode 4 installation.
Eliminate the use of the hard-coded 'ppc' in the test when
running on Snow Leopard or later.
2011-07-15 15:34:17 -04:00
Brad King
95f149e61f Define LINK_DEPENDS target property (#11406)
Custom Makefile link rules may need to depend on linker scripts.  Define
this property to allow user-specified link-time dependencies.
2010-11-05 09:05:08 -04:00
Bill Hoffman
819a4f2e57 ENH: make sure multiple archs are only tested when the work 2009-02-19 15:24:44 -05:00
Bill Hoffman
756cb547f3 BUG: fix xcode depend issue and add a test for it 2009-02-19 11:51:24 -05:00
Brad King
91de0b09ef ENH: Update BuildDepends test to check #include lines with macros.
- Tests IMPLICIT_DEPENDS_INCLUDE_TRANSFORM properties.
  - See issue #6648.
  - Works without help in VS IDEs due to native dependency handling.
  - Xcode needs help to rebuild correctly.
2008-05-14 11:55:12 -04:00
Brad King
d83b4cd255 ENH: Add a depends check step to custom targets. Add support for the IMPLICIT_DEPENDS feature of custom commands when building in custom targets. Convert multiple-output pair checks to be per-target instead of global. 2007-12-21 12:22:12 -05:00
Brad King
423cdb561c ENH: Adding test for ADD_CUSTOM_COMMAND's new IMPLICIT_DEPENDS feature. 2007-09-17 10:51:05 -04:00
Alexander Neundorf
92270d5bf8 COMP: fix test, in some cases stdout from bar was not captured correctly,
probably because the process was killed before the fflush() worked because
the busy loop blocked the processor (failing midworld test)

Alex
2007-06-13 16:26:50 -04:00
Brad King
c3474ad029 ENH: Executable bar should rebuild when its generated header changes. It does not need to link to the foo library anymore. 2007-05-23 17:01:26 -04:00
Brad King
303b4312b2 BUG: Target names in the COMMAND part of a custom command should not create a file-level dependency that forces the command to rerun when the executable target rebuilds, but the target-level dependency should still be created. Target names in a DEPENDS should do both a target-level and file-level dependency. Updated the BuildDepends test to check that this works. 2007-05-23 13:30:23 -04:00
Brad King
c288da754a BUG: Target names in the COMMAND part of a custom command should not create a file-level dependency that forces the command to rerun when the executable target rebuilds, but the target-level dependency should still be created. Target names in a DEPENDS should do both a target-level and file-level dependency. Updated the BuildDepends test to check that this works. 2007-05-23 13:27:00 -04:00
Andy Cedilnik
27727a2bba BUG: check in the rest of the changes to move from c to cxx 2007-05-16 07:56:56 -04:00
Andy Cedilnik
9338803697 BUG: fix test for hp move to c++ to avoid ansi issues and produce a message if the compile fails, (really checked in by Bill H.) 2007-05-16 07:55:00 -04:00
Bill Hoffman
1f286c067f ENH: add test for build depends 2007-05-10 10:05:52 -04:00
Bill Hoffman
d419354250 ENH: add a test to make sure Xcode does not break again 2007-05-09 15:10:12 -04:00