Commit Graph

112 Commits

Author SHA1 Message Date
Daniel Pfeifer 3a7be4f394 prefer list(APPEND) over string(APPEND) where appropriate 2016-08-08 21:28:52 +02:00
Daniel Pfeifer 7a649111cd Use string(APPEND) in Tests
Automate with:

find Tests -type f -print0 | xargs -0 perl -i -0pe \
's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
2016-07-28 00:43:04 +02:00
Kitware Robot d9fd2f5402 Revise C++ coding style using clang-format
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.
2016-05-16 16:05:19 -04:00
Brad King 6b0b066074 InstallRequiredSystemLibraries: Optionally install Windows UCRT (#16073) 2016-05-12 11:10:23 -04:00
Yves Frederix 630c8aa843 install: Allow generator expressions in DIRECTORY
Teach install(DIRECTORY) to support generator expressions in the list
of directories, much like install(FILES) already supports.
2016-01-13 09:02:06 -05:00
Robert Goulet bd189cc24e install: Allow generator expressions in DIRECTORY DESTINATION 2015-09-24 09:13:03 -04:00
Brad King 69ab5f5502 Tests: Cover install(FILES) with a genex DESTINATION 2015-09-23 14:41:52 -04:00
Brad King c85672634c Tests: Teach SimpleInstall to use "cmake --build"
Switch from "ctest --build-and-test" to "cmake --build" to drive the
install and package targets in the SimpleInstall test.
2013-11-18 08:26:22 -05:00
Rolf Eike Beer cd4451d1e7 replace string(... MATCHES "^const$) with string(... STREQUAL "const") 2013-06-02 22:18:19 +02: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
Kitware Robot 7bbaa4283d Remove trailing whitespace from most CMake and C/C++ code
Our Git commit hooks disallow modification or addition of lines with
trailing whitespace.  Wipe out all remnants of trailing whitespace
everywhere except third-party code.

Run the following shell code:

git ls-files -z -- \
 bootstrap doxygen.config '*.readme' \
 '*.c' '*.cmake' '*.cpp' '*.cxx' \
 '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
 '*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
egrep -z -v '^(Modules/CPack\..*\.in)' |
xargs -0 sed -i 's/ \+$//'
2012-08-13 14:18:39 -04:00
Brad King fea3e84ee3 export(): Document undefined behavior of location properties
Since the export() command needs to know the final location of a target
in the build tree we cannot allow properties affecting the location or
name of a target file to be set after the target is passed to export().

Fix a violation of this rule in the SimpleInstall test.
2011-12-01 16:00:12 -05:00
Sean McBride a27edd8a05 Fix XCode -> Xcode typos, notably in man page (#12231) 2011-05-31 09:13:00 -04:00
David Cole 1412cc442e SimpleInstall test now builds an installer package if CTEST_TEST_CPACK is ON at the Tests/CMakeLists.txt level. 2009-11-16 15:35:04 -05:00
Brad King 2740db5ede ENH: Allow more specification of target file names
This creates target properties ARCHIVE_OUTPUT_NAME, LIBRARY_OUTPUT_NAME,
and RUNTIME_OUTPUT_NAME, and per-configuration equivalent properties
ARCHIVE_OUTPUT_NAME_<CONFIG>, LIBRARY_OUTPUT_NAME_<CONFIG>, and
RUNTIME_OUTPUT_NAME_<CONFIG>.  They allow specification of target output
file names on a per-type, per-configuration basis.  For example, a .dll
and its .lib import library may have different base names.

For consistency and to avoid ambiguity, the old <CONFIG>_OUTPUT_NAME
property is now also available as OUTPUT_NAME_<CONFIG>.

See issue #8920.
2009-05-01 09:45:43 -04:00
Brad King 1595b8e69e ENH: Add install(DIRECTORY) option 'OPTIONAL'
This adds the OPTIONAL option to the install(DIRECTORY) command.  It
tells the installation rule that it is not an error if the source
directory does not exist.  See issue #8394.
2009-02-24 11:41:40 -05:00
Brad King 061d20be38 ENH: Add UNKNOWN type for IMPORTED libraries
When creating an IMPORTED target for a library that has been found on
disk, it may not be known whether the library is STATIC or SHARED.
However, the library may still be linked using the file found from disk.
Use of an IMPORTED target is still important to allow per-configuration
files to be specified for the library.

This change creates an UNKNOWN type for IMPORTED library targets.  The
IMPORTED_LOCATION property (and its per-config equivalents) specifies
the location of the library.  CMake makes no assumptions about the
library that cannot be inferred from the file on disk.  This will help
projects and find-modules import targets found on disk or specified by
the user.
2008-08-18 11:39:22 -04:00
David Cole 1105a86c52 ENH: Add patch for feature request #6847 - CPack components for NSIS and PackageMaker installers. Thanks to Doug Gregor for all the hard work involved with implementing this patch! Also added new test CPackComponents that is conditionally executed only when NSIS or PackageMaker installer builders are available. 2008-06-17 11:39:26 -04:00
Ken Martin ce8810c4e7 ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
Brad King 1332b55794 BUG: Updated SimpleInstall tests for new export/import interface. 2008-01-28 08:39:25 -05:00
Brad King 60bf0531b0 ENH: Added FILES_MATCHING option to INSTALL(DIRECTORY). This will help install a tree of header files while ignoring non-headers. 2008-01-02 15:17:56 -05:00
Brad King 24d6ecd81c BUG: Fix SimpleInstall test to work with new dependency of package on all. 2008-01-01 10:54:49 -05:00
David Cole 6767a658fc BUG: Need extra regex to parse sw_vers output on Mac OSX 10.2 (and presumably earlier) to avoid running PackageMaker during the SimpleInstall* tests. See comment in CMake/Tests/SimpleInstall/CMakeLists.txt for more info. 2007-11-10 06:54:43 -05:00
David Cole c8e832dcf5 BUG: Fix #5868 - add COMPONENT handling to the SCRIPT and CODE signatures of the INSTALL command. 2007-10-15 07:08:15 -04:00
David Cole 890efa7980 COMP: Rename the executables for the SimpleInstall tests so that the executable files that run during the test do not have the word install in their file names. This allows running the tests on Windows Vista without admin privileges and without adding a manifest containing the asInvoker requestedExecutionLevel element. 2007-10-01 15:57:34 -04:00
Brad King bb6b7de09a ENH: Disable package test only on OSX < 10.4. Added comment explaining reason for timeout. 2007-09-20 10:56:33 -04:00
Brad King 4710c7aef6 ENH: Re-enable packaging part of SimpleInstall-Stage2 test on Apple. Give it a long timeout to see what is going on. 2007-09-19 11:10:35 -04:00
Alexander Neundorf b4f02ec0bd COMP: reenable the installation of the PUBLIC_HEADERs
Alex
2007-09-19 09:04:26 -04:00
Alexander Neundorf 2f7f5eb04a COMP: disable packaging test on Apple, see if this fixes the timeouts
Alex
2007-09-17 16:21:24 -04:00
Bill Hoffman 6e9b3f36eb ENH: test install of debug libs 2007-09-17 15:27:59 -04:00
Bill Hoffman fdab49ab57 ENH: turn this stuff off to see if it fixes the dashboard on midworld 2007-09-10 17:39:28 -04:00
Alexander Neundorf 56c0bbc83f STYLE: adapt the test to the change from FILENAME to FILE
-add a call to the EXPORT() command

Alex
2007-08-30 16:23:12 -04:00
Alexander Neundorf 8302ea66d2 ENH: add test for installing a header marked as PUBLIC_HEADER of a library
Alex
2007-08-27 16:05:42 -04:00
Alexander Neundorf 556b1257ac COMP: add a test for exporting and importing targets
Alex
2007-08-27 15:15:26 -04:00
Alexander Neundorf cfd9fdf5de COMP: the SimpleInstall test also succeeds on the Mac, so maybe Andys
comment is not valid anymore

Alex
2007-08-27 14:44:32 -04:00
Brad King c8b263c674 ENH: Enable versioned executable test everywhere but XCode. 2007-07-02 09:58:08 -04:00
Brad King 06472d620a ENH: Added more install rules to increase coverage of the command. 2007-05-28 11:41:29 -04:00
Brad King a99c60b0ed ENH: Added testing of REGEX option to INSTALL(DIRECTORY). Added tests to cover all forms of old-style install commands. 2007-05-25 11:41:37 -04:00
Brad King 3124c60938 ENH: Add test to see if INSTALL_FILES actually worked. 2007-05-25 11:09:22 -04:00
Brad King 176879b2fe BUG: Remove spaces from test output paths. Not all make tools can handle it. Ths SubDirSpaces test is meant for that purpose anyway. 2007-03-12 23:36:56 -04:00
Brad King cf7eeab37a ENH: Testing new target properties RUNTIME_OUTPUT_DIRECTORY, LIBRARY_OUTPUT_DIRECTORY, and ARCHIVE_OUTPUT_DIRECTORY. This is an incremental fix for bug#2240 and bug#4210. 2007-03-12 10:23:06 -04:00
Andy Cedilnik df1ff57498 ENH: Several CPack fixes. First, allow user to set CMAKE_MODULE_PATH for CPack; make SetOptionIfNotSet more robust to handle empty options; do test TGZ, STGZ, and TZ, Add handling (and test) of Install Script; set environment variable CMAKE_INSTALL_PREFIX 2006-10-12 13:30:00 -04:00
Andy Cedilnik e31dc3abe5 ENH: Several CPack fixes. First, allow user to set CMAKE_MODULE_PATH for CPack; make SetOptionIfNotSet more robust to handle empty options; do test TGZ, STGZ, and TZ, Add handling (and test) of Install Script; set environment variable CMAKE_INSTALL_PREFIX 2006-10-12 13:05:50 -04:00
Brad King b20fd1af11 BUG: Do not collapse the INSTALL_NAME_DIR setting because users may intend to have .. in the path. This makes the makefile generator consistent with the already working Xcode implementation of this feature. Also added a test for @executable_path/.. style settings for this property. 2006-10-11 12:41:20 -04:00
Brad King 934c804ea4 ENH: Added OPTIONAL option to INSTALL command to allow installation of files if they exist while ignoring them otherwise. This addresses bug#2922. 2006-10-05 11:31:57 -04:00
Brad King 27a67fb72f ENH: Add support to INSTALL(DIRECTORY) to install an empty directory. This addresses bug#3572. 2006-08-29 15:04:29 -04:00
Andy Cedilnik 3ef750a42c ENH: Always do tar.Z since we do have compress now builtin 2006-08-24 10:57:27 -04:00
Brad King 93163cc1f9 ENH: Added code to remove any bad installations of CVS directories before running the test so that one failure does not need manual adjustment to get it to pass again. 2006-08-24 09:47:52 -04:00
Brad King a2b89129de ENH: Added check for bad installation of a CVS directory to test. 2006-08-21 17:52:34 -04:00