summaryrefslogtreecommitdiffstats
path: root/Source/cmSystemTools.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | 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.
* Add parentheses around '&&' between '||' for gccBrad King2009-09-111-6/+6
| | | | | | | 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.
* COMP: Include <malloc.h> for 'free' on QNXBrad King2009-07-131-0/+3
|
* COMP: Include <stdlib.h> for 'free'Brad King2009-07-131-0/+1
|
* ENH: Add cmSystemTools::ParseUnixCommandLineBrad King2009-07-131-0/+32
| | | | | This method is a C++ wrapper around the KWSys System library function to parse unix-style command lines.
* ENH: Remove unused cmSystemTools::RemoveEscapesBrad King2009-06-241-42/+0
| | | | | The RemoveEscapes method is no longer used anywhere. All uses of it have been replaced by a real lexer. We can remove the method.
* ENH: move PutEnv to SystemToolsBill Hoffman2009-06-051-26/+0
|
* ENH: vms fixBill Hoffman2009-04-241-0/+2
|
* COMP: Fix calls to superclass methods for BorlandBrad King2009-04-221-4/+4
| | | | | | 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.
* BUG: Avoid infinite loop at directory tree rootBrad King2009-04-211-1/+3
| | | | | | 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.
* ENH: Remove obscure method from KWSys SystemToolsBrad King2009-04-211-0/+23
| | | | | This removes SystemTools::FileExistsInParentDirectories from KWSys since it is a special-purpose method that is not generally useful.
* COMP: Fix BOOL to bool conversion warningBrad King2009-04-151-3/+3
| | | | | | 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.
* ENH: Move RenameFile to cmSystemToolsBrad King2009-04-151-0/+50
| | | | | | 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.
* ENH: Create cmXMLSafe to help escapes in XMLBrad King2009-02-051-50/+0
| | | | | | | 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.
* BUG: fix crash with cmd.exe shell and cmake in the pathBill Hoffman2009-01-201-0/+9
|
* COMP: Using the proper type for local variables can eliminate compiler warnings.David Cole2008-11-261-1/+1
|
* ENH: Implement feature request from issue 7885. Allow setting environment ↵David Cole2008-11-261-0/+50
| | | | variables on a per-test basis for ctest using set_test_properties ENVIRONMENT.
* ENH: add initial support for HAIKU OS from bug# 7425Bill Hoffman2008-09-151-1/+4
|
* BUG: fix for 7045, use gcc for .mBill Hoffman2008-08-191-2/+3
|
* COMP: Work-around bogus compiler warning.Brad King2008-08-151-0/+2
|
* ENH: Inform user when RPATH or RUNPATH is removedBrad King2008-08-141-1/+11
|
* BUG: Update both RPATH and RUNPATH entriesBrad King2008-08-141-70/+119
| | | | | | | | | 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.
* BUG: Remove both RPATH and RUNPATH entriesBrad King2008-08-141-62/+92
| | | | | | | | 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.
* ENH: Added WOW64 key view support to KWSys SystemTools' windows registry API.Brad King2008-05-271-3/+3
| | | | | | | - 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.
* ENH: Inform user when RPATH is set during installation.Brad King2008-05-271-1/+11
| | | | | - Original patch from Alex. - Modified to print only when RPATH is actually set.
* ENH: Added RPATH methods to cmSystemToolsBrad King2008-04-141-0/+170
| | | | | - RemoveRPath to remove the RPATH from a binary - CheckRPath to check for an existing RPATH in a binary
* COMP: Fix new cmSystemTools file time methods on Windows.Brad King2008-04-141-1/+1
|
* ENH: Added methods to cmSystemTools to save and restore file modification times.Brad King2008-04-141-0/+73
|
* BUG: undo change as it breaks preprocess test for some reason??Bill Hoffman2008-04-081-4/+1
|
* BUG: half fix for 6688, expand registry stuff on unix just like it was not ↵Bill Hoffman2008-04-081-1/+12
| | | | found on windows
* ENH: half fix for 6688, don't let [ count go negativeBill Hoffman2008-04-081-1/+4
|
* ENH: Update cmSystemTools::ChangeRPath to support replacing rpath values ↵Brad King2008-04-081-9/+61
| | | | from the middle of the string.
* ENH: Improve error message when installation file(CHRPATH) cannot change the ↵Brad King2008-04-071-1/+7
| | | | RPATH.
* ENH: try to fix mac symlinks to the executableBill Hoffman2008-03-281-0/+2
|
* ENH: In cmSystemTools::ChangeRPath check for the RUNPATH if RPATH does not ↵Brad King2008-03-021-1/+6
| | | | exist.
* ENH: Cleanup builtin chrpath supportBrad King2008-03-021-4/+33
| | | | | | | | | | | | - 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
* COMP: Fix unused parameter warning when cmSystemTools::ChangeRPath is built ↵Brad King2008-03-011-0/+1
| | | | without ELF support.
* BUG: Fix cmSystemTools::ChangeRPath to not complain if there is no RPATH ↵Brad King2008-03-011-0/+6
| | | | entry in the file but the requested new rpath is empty.
* ENH: Use builtin chrpath instead of relinking ELF targetsBrad King2008-03-011-0/+83
| | | | | | | | | | - 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
* ENH: Add ELF file parsingBrad King2008-02-271-0/+14
| | | | | | - Enabled when system provides elf.h - Introduce cmELF class to parse ELF files - Use in cmSystemTools::GuessLibrarySOName to really get soname
* ENH: Improve linking to third-party shared libraries on soname platformsBrad King2008-02-211-0/+31
| | | | | | | | | | | | | | - 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
* COMP: Need to return a value from fake MD5 method under bootstrap.Brad King2008-01-251-0/+1
|
* COMP: Cannot do MD5 from KWSys during CMake bootstrap.Brad King2008-01-241-0/+5
|
* ENH: Add cmSystemTools::ComputeStringMD5 method.Brad King2008-01-241-0/+11
|
* ENH: add ability to have manifest files and incremental linking with make ↵Bill Hoffman2008-01-011-21/+31
| | | | and nmake
* ENH: Enabled color printing of "Scanning dependencies of target ..." message.Brad King2007-12-191-0/+36
|
* ENH: Centralized and globalized computation of CMake program locations. ↵Brad King2007-12-131-0/+23
| | | | This eliminates startup paths that failed to produce this information.
* STYLE: Fixed line-too-long.Brad King2007-10-081-1/+3
|
* COMP: Added inadvertantly removed include.Brad King2007-10-081-0/+1
|
* COMP: Simplified include file logic. The windows.h header should be ↵Brad King2007-10-071-20/+11
| | | | included for all compilers on windows.