Commit Graph

491 Commits

Author SHA1 Message Date
Brad King
e1b0a11dd4 Improve string(RANDOM) default seed
The naive time(0) seed is unique only within one second.  Instead try to
read a real source of entropy and otherwise fall back to a combination
of the process id and high-resolution time.
2011-05-17 10:07:26 -04:00
Brad King
f306a357b2 Merge topic 'style-line-length'
9d21281 Fix line-too-long style errors
86025d3 file(DOWNLOAD): Fix error message formatting
2010-09-14 13:19:53 -04:00
Brad King
9d21281b7d Fix line-too-long style errors 2010-09-10 14:42:09 -04:00
David Cole
666f328858 Preserve timestamps on files on tar extract.
Conversion to libarchive changed the behavior of
cmake -E tar xzf. This commit fixes that oversight.
2010-09-09 12:57:14 -04:00
Eric NOULARD
40dc97dc73 CPack Backward-compatibly enforce DESTDIR for DEB and RPM 2010-08-23 16:14:40 +02:00
Brad King
cb9ea2647f Remove cmSystemTools::EscapeSpaces method
The last remaining call to this method exists only for compatibility.
Remove the method and put its implementation inline in place of the last
call.
2010-08-18 10:26:05 -04:00
Eric NOULARD
b50c15915a Add ZIP archive format and LZMA compress support to libarchive-wrapper
This will be needed to use cmArchiveWrire in cmCPackArchiveGenerator
with the same feature set as before. Note that adding zip
support to libarchive-wrapper would also makes it easy to add
a new -E zip command to cmake commands.
2010-08-13 17:49:47 +02:00
Brad King
1b5b2ed3b2 Include entries for directories in tarballs (#11020)
Use libarchive through class cmArchiveWrite to implement the method
cmSystemTools::CreateTar.  The class includes entries for directories by
automatically traversing the tree on disk.
2010-08-06 11:38:14 -04:00
Brad King
3296e6ad90 Include headers from chosen libarchive (#10923)
When CMAKE_USE_SYSTEM_LIBARCHIVE is on we must include the system
libarchive headers to match the library that will be linked.
2010-08-05 17:06:10 -04:00
Brad King
ff1f8d0b53 Fix or cast more integer conversions in cmake
These were revealed by GCC's -Wconversion option.  Fix types where it is
easy to do so.  Cast in cases we know the integer will not be truncated.
2010-06-29 09:52:12 -04:00
Brad King
6fc4cd8680 Fix or cast integer conversions in cmake
These were revealed by GCC's -Wconversion option.  Fix types where it is
easy to do so.  Cast in cases we know the integer will not be truncated.
2010-06-25 09:05:15 -04:00
Brad King
fdb5f78705 CPack: Try harder to remove temporary dir (#10793)
Windows filesystems sometimes lock files temporarily.  Try removing the
CPack temp install folder multiple times before giving up.
2010-06-04 14:32:08 -04:00
Brad King
ea62d6973b Do not list file names during 'cmake -E tar xz'
Since commit "Switch to using libarchive from libtar" (2009-10-30) the
the implementation of "tar xz" has printed all paths from the tarball as
a single line with no separator.  This fixes the logic to extract
silently as expected.
2010-05-05 14:44:36 -04:00
David Cole
10a4abddfd Add missing archive_read_finish calls to fix some of the presently reported valgrind memory leaks. 2009-12-28 13:15:19 -05:00
David Cole
4d3a387ac6 Preserve environment variables across calls to cmCTestScriptHandler::RunConfigurationScript. This will help prevent problems like we are currently experiencing (regarding CMake continuous dashboards only running once each day because the HOME environment variable is modified indirectly by a command in a called script, but affects the environment in the calling script). 2009-12-23 14:34:46 -05:00
Zach Mullen
3cb2a0ffa6 Move cURL dependent code out of CMakeLib to fix complex tests. 2009-12-22 14:37:06 -05:00
Zach Mullen
766ef1d011 Fix broken bootstrap test 2009-12-22 09:03:18 -05:00
Zach Mullen
5aad7bf2d4 Make new web api safe for bootstrap build. 2009-12-21 16:42:32 -05:00
Zach Mullen
3ff0b94055 Added functionality to allow CTest to easily access web APIs. This will be used for better communication with CDash. 2009-12-21 15:19:57 -05:00
Zach Mullen
7af553188e Added support for CTest awareness of the CDash version. This will help forward compatibility for both tools. Note that this changeset effectively makes the default to disable output compression. Now, to enable output compression, the CDASH_CTEST_VERSION must be explicity set to >= 1.6. Automated detection of the CDash version is the next step. 2009-12-21 12:27:04 -05:00
Bill Hoffman
22fb266d06 use different tar format to handle longer file names 2009-11-14 08:48:32 -05:00
Bill Hoffman
28664b96f7 Show the current file when there is a tar error 2009-11-13 16:07:42 -05:00
Bill Hoffman
a875845be9 fix warning for borland 2009-11-13 07:39:10 -05:00
Bill Hoffman
dc5d1edcfd Fix missing return value. 2009-11-12 10:52:32 -05:00
Bill Hoffman
79b8d61ae9 Fix for working with symlinks in tar files 2009-11-08 19:59:01 -05:00
Bill Hoffman
f5fe20dc12 Fix some warnings 2009-11-08 10:34:12 -05:00
Bill Hoffman
7961c8685b go back to running stat and put size check in 2009-11-08 10:19:36 -05:00
Bill Hoffman
34ce92f151 Remove check for now so test passes on linux 2009-11-07 21:08:38 -05:00
Bill Hoffman
03cebb9a7f create a better error message 2009-11-07 20:45:34 -05:00
Bill Hoffman
3d1afdee4a add much better error checking on libarchive calls. 2009-11-07 19:35:35 -05:00
Zach Mullen
a9a4814971 Fix compiler error in cmSystemTools.cxx 2009-11-05 16:14:46 -05:00
Bill Hoffman
dd09d88065 Add JOM support and clean up some of the tar -E stuff 2009-11-05 15:00:15 -05:00
Zach Mullen
9f105a3f6d Fix style warning in cmsystemtools, cosmetic change to ctest code 2009-11-05 11:37:47 -05:00
Zach Mullen
cdbbe00a8b Fix unused param warning resulting from libarchive API change. 2009-11-04 11:36:23 -05:00
Bill Hoffman
5f41fe03ca Fix warnings for unused variables 2009-11-03 16:50:49 -05:00
Bill Hoffman
fb51d98562 Switch to using libarchive from libtar for cpack and cmake -E tar
This allows for a built in bzip and zip capability, so external tools
will not be needed for these packagers.  The cmake -E tar xf should be
able to handle all compression types now as well.
2009-10-30 13:10:56 -04:00
David Cole
43d07f6620 Fix more mismatched new[] / delete[] (eliminate invalid auto_ptr use) to correct valgrind reported memory issues. 2009-10-30 10:31:54 -04:00
David Cole
ccb0cf1306 Fix warnings in CMake source code. 2009-10-02 15:30:01 -04:00
David Cole
44bcba7461 Fix warnings in CMake source code. Suppress rampant warnings emanating from Qt files. 2009-10-01 16:47:08 -04:00
Brad King
96afb12087 Convert CMake to OSI-approved BSD License
This converts the CMake license to a pure 3-clause OSI-approved BSD
License.  We drop the previous license clause requiring modified
versions to be plainly marked.  We also update the CMake copyright to
cover the full development time range.
2009-09-28 11:43:28 -04:00
Brad King
b41a548d86 Add parentheses around '&&' between '||' for gcc
The GNU compiler warns about possible operator precedence mistakes and
asks for explicit parentheses (-Wparentheses).  We add the parentheses
to silence the warning.  This also fixes one real logic error in the
find_package() implementation by correcting expression evaluation order.
2009-09-11 08:18:15 -04:00
Brad King
57e14a4f97 COMP: Include <malloc.h> for 'free' on QNX 2009-07-13 17:08:38 -04:00
Brad King
724275b266 COMP: Include <stdlib.h> for 'free' 2009-07-13 16:46:53 -04:00
Brad King
3dd6f36d45 ENH: Add cmSystemTools::ParseUnixCommandLine
This method is a C++ wrapper around the KWSys System library function to
parse unix-style command lines.
2009-07-13 16:22:48 -04:00
Brad King
b64aadc5b0 ENH: Remove unused cmSystemTools::RemoveEscapes
The RemoveEscapes method is no longer used anywhere.  All uses of it
have been replaced by a real lexer.  We can remove the method.
2009-06-24 15:09:50 -04:00
Bill Hoffman
fdff8eb300 ENH: move PutEnv to SystemTools 2009-06-05 12:01:30 -04:00
Bill Hoffman
ae95f656f3 ENH: vms fix 2009-04-24 11:44:42 -04:00
Brad King
efe07c4e0a COMP: Fix calls to superclass methods for Borland
The superclass of cmSystemTools is cmsys::SystemTools, which should be
referencable by just SystemTools from inside the class.  Borland C++
does not seem to support this, so we use cmSystemTools instead.
2009-04-22 09:11:06 -04:00
Brad King
13e454f8d3 BUG: Avoid infinite loop at directory tree root
The system tools GetParentDirectory method no longer removes the root
path component.  This fixes cmSystemTools::FileExistsInParentDirectories
to not infinitely loop at when GetParentDirectory stops at the root.
2009-04-21 11:37:09 -04:00
Brad King
714d2fc04b ENH: Remove obscure method from KWSys SystemTools
This removes SystemTools::FileExistsInParentDirectories from KWSys since
it is a special-purpose method that is not generally useful.
2009-04-21 11:36:59 -04:00
Brad King
1ed7f381f1 COMP: Fix BOOL to bool conversion warning
The cmSystemTools::RenameFile method returns type bool, but its
implementation on Windows returns the result of an API function that
returns BOOL.  This change avoids the compiler warning.
2009-04-15 11:00:03 -04:00
Brad King
d3363beb2f ENH: Move RenameFile to cmSystemTools
This moves the cmGeneratedFileStream::RenameFile method implementation
into cmSystemTools.  It works only within a single filesystem volume,
but is atomic when the operating system permits.
2009-04-15 09:57:57 -04:00
Brad King
dc13914cd6 ENH: Create cmXMLSafe to help escapes in XML
This class provides easy syntax to efficiently insert blocks of data
into XML documents with proper escapes.  It replaces the old
cmCTest::MakeXMLSafe and cmSystemTools::MakeXMLSafe methods which
allocated extra memory instead of directly streaming the data.
2009-02-05 16:31:37 -05:00
Bill Hoffman
7f92b77997 BUG: fix crash with cmd.exe shell and cmake in the path 2009-01-20 10:06:39 -05:00
David Cole
306d517e82 COMP: Using the proper type for local variables can eliminate compiler warnings. 2008-11-26 15:41:16 -05:00
David Cole
ceaef94ccc ENH: Implement feature request from issue 7885. Allow setting environment variables on a per-test basis for ctest using set_test_properties ENVIRONMENT. 2008-11-26 14:38:43 -05:00
Bill Hoffman
64fc597de2 ENH: add initial support for HAIKU OS from bug# 7425 2008-09-15 17:53:28 -04:00
Bill Hoffman
1629963e7c BUG: fix for 7045, use gcc for .m 2008-08-19 15:55:10 -04:00
Brad King
ae60cc235c COMP: Work-around bogus compiler warning. 2008-08-15 09:47:21 -04:00
Brad King
8063dd293e ENH: Inform user when RPATH or RUNPATH is removed 2008-08-14 09:53:26 -04:00
Brad King
485c3faea7 BUG: Update both RPATH and RUNPATH entries
During installation the RPATH and RUNPATH entries of ELF binaries are
edited to match the user specification.  Usually either one entry is
present or both entries refer to the same string literal.  In the case
that they are both present and refer to separate string literals we need
to update both.  I have never seen this case in practice, but we should
do this just in case.
2008-08-14 09:53:21 -04:00
Brad King
2a85f8289f BUG: Remove both RPATH and RUNPATH entries
Removal of the RPATH and RUNPATH from ELF binaries must work when both
entries are present.  Both entries should be removed.  Previously only
one would be removed and the other would be blanked because it pointed
at the same string which was zeroed.  This fixes gentoo bug number
224901.
2008-08-14 09:53:17 -04:00
Brad King
cea66664c5 ENH: Added WOW64 key view support to KWSys SystemTools' windows registry API.
- Add an argument to registry read/write/delete methods to specify
    a 32-bit or 64-bit view.
  - Default is the bit-ness of the running program.
  - See issue #7095.
2008-05-27 14:47:00 -04:00
Brad King
757875df91 ENH: Inform user when RPATH is set during installation.
- Original patch from Alex.
  - Modified to print only when RPATH is actually set.
2008-05-27 10:22:03 -04:00
Brad King
b9a5dccc8d ENH: Added RPATH methods to cmSystemTools
- RemoveRPath to remove the RPATH from a binary
  - CheckRPath to check for an existing RPATH in a binary
2008-04-14 15:02:34 -04:00
Brad King
9b8404a305 COMP: Fix new cmSystemTools file time methods on Windows. 2008-04-14 12:44:01 -04:00
Brad King
703b8c8225 ENH: Added methods to cmSystemTools to save and restore file modification times. 2008-04-14 11:43:45 -04:00
Bill Hoffman
0a61a70870 BUG: undo change as it breaks preprocess test for some reason?? 2008-04-08 17:37:13 -04:00
Bill Hoffman
5a079b151a BUG: half fix for 6688, expand registry stuff on unix just like it was not found on windows 2008-04-08 16:06:44 -04:00
Bill Hoffman
cec897edc4 ENH: half fix for 6688, don't let [ count go negative 2008-04-08 16:05:23 -04:00
Brad King
871d80696b ENH: Update cmSystemTools::ChangeRPath to support replacing rpath values from the middle of the string. 2008-04-08 13:42:30 -04:00
Brad King
c408760a8a ENH: Improve error message when installation file(CHRPATH) cannot change the RPATH. 2008-04-07 10:55:52 -04:00
Bill Hoffman
cae34d2df3 ENH: try to fix mac symlinks to the executable 2008-03-28 14:29:29 -04:00
Brad King
34a338dcc1 ENH: In cmSystemTools::ChangeRPath check for the RUNPATH if RPATH does not exist. 2008-03-02 16:19:26 -05:00
Brad King
d732de4a8a ENH: Cleanup builtin chrpath support
- Move computation of extended build-tree rpath
    to cmComputeLinkInformation
  - Only enable the extended build-tree rpath if
    the target will be installed
  - Generalize the interface of file(CHRPATH)
  - When changing the rpath on installation only
    replace the part generated by CMake because
    the native tools (ex SunCC on Linux) might have
    added their own part to the rpath
2008-03-02 14:35:23 -05:00
Brad King
32ca01bef0 COMP: Fix unused parameter warning when cmSystemTools::ChangeRPath is built without ELF support. 2008-03-01 15:16:49 -05:00
Brad King
26e58b74d1 BUG: Fix cmSystemTools::ChangeRPath to not complain if there is no RPATH entry in the file but the requested new rpath is empty. 2008-03-01 13:17:01 -05:00
Brad King
34c76d4304 ENH: Use builtin chrpath instead of relinking ELF targets
- Add cmSystemTools::ChangeRPath method
  - Add undocumented file(CHRPATH) command
  - When installing use file(CHRPATH) to change the rpath
    instead of relinking
  - Remove CMAKE_CHRPATH lookup from CMakeFindBinUtils
  - Remove CMAKE_USE_CHRPATH option since this should
    always work
2008-03-01 12:51:07 -05:00
Brad King
4c137bad6b ENH: Add ELF file parsing
- Enabled when system provides elf.h
  - Introduce cmELF class to parse ELF files
  - Use in cmSystemTools::GuessLibrarySOName to really get soname
2008-02-27 16:26:35 -05:00
Brad King
782e9f7ffe ENH: Improve linking to third-party shared libraries on soname platforms
- Reduce false positives in cases of unknown soname
  - Make library extension regular expressions match only at end of string
  - When linking to libraries in implicit dirs convert to the -l option
    only if the file name is one that can be found by the linker
    (ex. /usr/lib/libfoo.so.1 should be linked by full path)
  - Add cmSystemTools::GuessLibrarySOName to guess the soname of a
    library based on presence of a symlink
  - In cmComputeLinkInformation try to guess an soname before assuming
    that a third-party library is built without an soname
  - In cmOrderDirectories guess the soname of shared libraries in cases
    it is otherwise unknown
2008-02-21 13:58:41 -05:00
Brad King
386a6ebf25 COMP: Need to return a value from fake MD5 method under bootstrap. 2008-01-25 08:11:04 -05:00
Brad King
f1c5b50cb7 COMP: Cannot do MD5 from KWSys during CMake bootstrap. 2008-01-24 16:11:06 -05:00
Brad King
1dec54489a ENH: Add cmSystemTools::ComputeStringMD5 method. 2008-01-24 14:41:18 -05:00
Bill Hoffman
b479c6a8a9 ENH: add ability to have manifest files and incremental linking with make and nmake 2008-01-01 15:13:41 -05:00
Brad King
73704ede42 ENH: Enabled color printing of "Scanning dependencies of target ..." message. 2007-12-19 17:15:41 -05:00
Brad King
9f61e2a235 ENH: Centralized and globalized computation of CMake program locations. This eliminates startup paths that failed to produce this information. 2007-12-13 17:56:50 -05:00
Brad King
e684c35295 STYLE: Fixed line-too-long. 2007-10-08 10:05:42 -04:00
Brad King
5df777edd7 COMP: Added inadvertantly removed include. 2007-10-08 10:03:37 -04:00
Brad King
71400cad02 COMP: Simplified include file logic. The windows.h header should be included for all compilers on windows. 2007-10-07 16:22:16 -04:00
Ken Martin
adffd10cce COMP: fix to compile on VS 8 2007-10-05 15:51:01 -04:00
Brad King
23c6b90080 BUG: Fix call to SetFileTime to set it on the proper file. 2007-10-05 10:03:16 -04:00
Brad King
a2b2742543 ENH: During file installation treat the source file as a dependency of the installed file. Install the file only if the destination is older than the source. Set the file times on the installed file to match those of the source file. This should greatly improve the speed of repeated installations because it removes the comparison of file contents. This addresses bug#3349. 2007-10-05 09:46:28 -04:00
Bill Hoffman
887699184a COMP: remove warnings 2007-09-27 14:44:11 -04:00
Bill Hoffman
9c3ffe2474 BUG: fix problem with stdout and stderr not showing up in ms dos shells 2007-09-25 10:57:49 -04:00
Bill Hoffman
150805258a ENH: add new machines 2007-09-24 13:21:25 -04:00
Bill Hoffman
c190756e24 ENH: fix warning 2007-09-17 11:17:38 -04:00
Bill Hoffman
66a094a9eb ENH: opps 2007-09-11 12:23:59 -04:00
Bill Hoffman
f262298bb0 ENH: fix 2 ctest issues, do not use the build type of ctest to look for config types, do not inherit pipes in child procs for ctest so it can kill them 2007-09-11 11:21:36 -04:00
Alexander Neundorf
f13c3eef83 COMP: patch from Mathieu: fix warning about unused variables in bootstrap
mode

Alex
2007-08-14 10:27:34 -04:00
Bill Hoffman
c693a23a7d ENH: use gnu tar for cygwin 2007-07-30 22:51:21 -04:00