summaryrefslogtreecommitdiffstats
path: root/Tests/BuildDepends/Project
Commit message (Collapse)AuthorAgeFilesLines
* Revise C++ coding style using clang-formatKitware Robot2016-05-167-20/+18
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-293-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sort include directives within each block (separated by a blank line) in lexicographic order (except to prioritize `sys/types.h` first). First run `clang-format` with the config file: --- SortIncludes: false ... Commit the result temporarily. Then run `clang-format` again with: --- SortIncludes: true IncludeCategories: - Regex: 'sys/types.h' Priority: -1 ... Commit the result temporarily. Start a new branch and cherry-pick the second commit. Manually resolve conflicts to preserve indentation of re-ordered includes. This cleans up the include ordering without changing any other style. Use the following command to run `clang-format`: $ git ls-files -z -- \ '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' | egrep -z -v '(Lexer|Parser|ParserHelper)\.' | egrep -z -v '^Source/cm_sha2' | egrep -z -v '^Source/(kwsys|CursesDialog/form)/' | egrep -z -v '^Utilities/(KW|cm).*/' | egrep -z -v '^Tests/Module/GenerateExportHeader' | egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' | xargs -0 clang-format -i This selects source files that do not come from a third-party. Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
* Tests: Extend BuildDepends test to cover OBJECT_DEPENDSBrad King2015-07-223-0/+20
| | | | | | | | The actual file timestamp dependency is known to not work on Visual Studio or Xcode generators. Tolerate such failure for these generators (Tests/CustomCommand already covers using OBJECT_DEPENDS to pull a custom command into a target, and that still works with these generators).
* Makefile: Fix multiple custom command outputs with one missingBrad King2015-04-101-0/+18
| | | | | | | | | | | | | | | | The use of "cmake -E touch_nocreate" added in commit v3.2.1~4^2 (Makefile: Fix multiple custom command outputs regression, 2015-03-06) caused builds to fail when one of the outputs is intentionally not created. This was fixed by our parent commit by making touch_nocreate succeed when the file is missing. Add a test case covering it. For the Watcom WMake generator, check for the SYMBOLIC source file property separately on each output. The mark is needed on outputs that are not really created to tell 'wmake' not to complain that it is missing. The mark is also needed on outputs that are created or 'wmake' will not consider them out of date when they exist. Inspired-by: Ben Boeckel <ben.boeckel@kitware.com>
* Tests: Cover rebuild with multiple custom command outputs (#15116)Brad King2014-12-051-0/+13
| | | | | | | | Extend the BuildDepends test with a case covering multiple custom command outputs with the second one consumed by another rule. With the old "multiple output pair" infrastructure used in the Makefile and Xcode generators this did not work. Now that it is fixed, test the case explicitly.
* Tests/BuildDepends: Make 3-second delay more robustBrad King2014-05-191-6/+0
| | | | | Use "cmake -E sleep 3" instead of execute_process with a TIMEOUT of 3. This avoids using a busy loop or depending on a timeout to kill it.
* ExternalProject: Add option to always run the build stepBrad King2014-02-212-0/+26
| | | | | | | Teach ExternalProject_Add a new BUILD_ALWAYS option to skip using the build step stamp file and execute the step on every build. Extend the BuildDepends test with a case to cover this option.
* Xcode: Fix test architecture selection for Xcode >= 5Brad King2013-10-021-2/+2
| | | | | | | | In Tests/Architecture and Tests/BuildDepends/Project we select a set of OS X cpu architectures to use for the test. Prior to Xcode 4 we always used i386 and ppc. Starting with Xcode 4, the tools do not support ppc but do support x86_64, so we switch to that. Fix the version check to recognize Xcode >= 5 as at least Xcode 4 and use the new architectures.
* Ninja: Update BuildDepends test to verify cmcldeps depfiles.Robert Maynard2013-07-262-0/+22
|
* Merge topic 'link-depends-no-shared'Brad King2012-11-134-0/+39
|\ | | | | | | | | | | 306796e Teach BuildDepends test to cover LINK_DEPENDS_NO_SHARED ed97631 Optionally skip link dependencies on shared library files
| * Teach BuildDepends test to cover LINK_DEPENDS_NO_SHAREDBrad King2012-11-094-0/+39
| | | | | | | | | | | | | | | | | | 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.
* | AddCustomCommand: Handle multiple IMPLICIT_DEPENDS files (#10048)Alex Neundorf2012-11-062-1/+4
|/ | | | | | | | | | | | | 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>
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-3/+3
| | | | | | | | | | | | | | | | | 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
* Convert CMake-language commands to lower caseKitware Robot2012-08-131-7/+7
| | | | | | | | | | | | | | | | | 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
* Ninja: fix mis-matching endif() argumentPeter Kümmel2012-07-181-1/+1
|
* Ninja: on Mac no multiple -arch because of -MPeter Kümmel2012-07-101-9/+3
|
* Ninja: dep files and multiple -arch flags not possible on macPeter Kuemmel2012-06-191-1/+8
|
* Base architecture choice logic on Xcode versionDavid Cole2011-07-181-2/+18
| | | | Not on Darwin version.
* Fix BuildDepends test to work with Xcode 4David Cole2011-07-151-0/+5
| | | | | | 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.
* Define LINK_DEPENDS target property (#11406)Brad King2010-11-052-0/+9
| | | | | Custom Makefile link rules may need to depend on linker scripts. Define this property to allow user-specified link-time dependencies.
* ENH: make sure multiple archs are only tested when the workBill Hoffman2009-02-191-1/+7
|
* BUG: fix xcode depend issue and add a test for itBill Hoffman2009-02-191-1/+3
|
* ENH: Update BuildDepends test to check #include lines with macros.Brad King2008-05-144-2/+33
| | | | | | | - 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.
* ENH: Add a depends check step to custom targets. Add support for the ↵Brad King2007-12-213-1/+17
| | | | IMPLICIT_DEPENDS feature of custom commands when building in custom targets. Convert multiple-output pair checks to be per-target instead of global.
* ENH: Adding test for ADD_CUSTOM_COMMAND's new IMPLICIT_DEPENDS feature.Brad King2007-09-173-0/+28
|
* COMP: fix test, in some cases stdout from bar was not captured correctly,Alexander Neundorf2007-06-131-2/+7
| | | | | | | probably because the process was killed before the fflush() worked because the busy loop blocked the processor (failing midworld test) Alex
* ENH: Executable bar should rebuild when its generated header changes. It ↵Brad King2007-05-231-1/+0
| | | | does not need to link to the foo library anymore.
* BUG: Target names in the COMMAND part of a custom command should not create ↵Brad King2007-05-231-0/+24
| | | | 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.
* BUG: Target names in the COMMAND part of a custom command should not create ↵Brad King2007-05-232-5/+40
| | | | 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.
* BUG: check in the rest of the changes to move from c to cxxAndy Cedilnik2007-05-161-2/+2
|
* BUG: fix test for hp move to c++ to avoid ansi issues and produce a message ↵Andy Cedilnik2007-05-161-0/+0
| | | | if the compile fails, (really checked in by Bill H.)
* ENH: add test for build dependsBill Hoffman2007-05-101-1/+4
|
* ENH: add a test to make sure Xcode does not break againBill Hoffman2007-05-092-0/+12