Commit Graph

225 Commits

Author SHA1 Message Date
Brad King e51bbc14f6 Merge topic 'output-compile-lines'
cdc2b41 Fix CompileCommandOutput test build on Windows
7039d1f Fix CompileCommandOutput test for Make tools not supporting spaces
4268e3d run_compile_commands: Cast istream::get() result to char
c45c60b run_compile_commands: Avoid extra stl vector conversion
7c5be51 run_compile_commands: Avoid shadow in std::map<>::at workaround
169bb05 Provide std::map<>::at for use in run_compile_commands
4e2185c Make std::map usage more portable in language=>flags/defines maps
a7e7a04 Fix run_compile_commands build on Apple GCC 3.3
c9174c0 Fix signed/unsigned comparison in EscapeJSON
8346a28 Only offer the compile command output feature on unix systems
0e6b05f Adds a test for the compile command line output.
5674844 make compile command output optional
fe07b05 implement cxx command output
65c0c24 cache flags and defines
3f064ef refactor flags and defines
2011-05-24 14:48:14 -04:00
Brad King c45c60b24f run_compile_commands: Avoid extra stl vector conversion
The Sun compiler does not provide the proper vector constructor to
initialize it from an iterator pair of a non-matching type.  Extend the
ParseUnixCommandLine API to provide a vector of the proper type so no
conversion is needed.
2011-05-18 09:44:28 -04:00
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
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
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
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 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 dd09d88065 Add JOM support and clean up some of the tar -E stuff 2009-11-05 15:00:15 -05: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 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
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 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
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
Brad King 8063dd293e ENH: Inform user when RPATH or RUNPATH is removed 2008-08-14 09:53:26 -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 703b8c8225 ENH: Added methods to cmSystemTools to save and restore file modification times. 2008-04-14 11:43:45 -04: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 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 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 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 4ca0d1ba09 COMP: Fixed error on HP due to newline macro. 2007-12-20 09:35:14 -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 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 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 5bb94ce166 ENH: apply patch from Mathieu, add argument -E md5sum to compute md5sums of
files, compatible to md5sum output

Alex
2007-07-16 10:54:32 -04:00
Brad King e01cdf2065 ENH: Added kwsys SystemTools::CreateSymlink and SystemTools::ReadSymlink. 2007-03-12 13:50:28 -04:00
Brad King 91c2b84a92 ENH: Added ConvertToOutputSlashes method to convert slashes with the same policy as ConvertToOutputPath but without escaping. 2007-03-08 11:49:26 -05:00
Brad King d37577d9e0 STYLE: Removing unused methods ConvertToShellPath and EscapeForUnixShell. 2007-03-08 09:48:17 -05:00
Bill Hoffman 5647e6e254 ENH: fix parens in the path with spaces in the path 2007-02-21 21:24:17 -05:00
Brad King d37abb6b5d ENH: Added EscapeWindowsShellArgument and ParseWindowsCommandLine methods to cmSystemTools. 2007-02-01 11:45:37 -05:00
Ken Martin daa37f1163 STYLE: fix line length 2006-05-12 13:53:21 -04:00
Ken Martin d81ebf0c23 ENH: added support for -SP scripts in new processes 2006-04-04 13:04:28 -04:00
Andy Cedilnik b20cb78049 ENH: Handle missing unsetenv and add check for environ 2006-03-17 15:46:20 -05:00
Andy Cedilnik d5631f370b ENH: Add a method to remove environment variables 2006-03-17 11:44:07 -05:00
Andy Cedilnik fe1fda6431 ENH: Use vector of plain strings and add cmake -E command for getting environment 2006-03-17 11:14:14 -05:00
Andy Cedilnik f44fedd3e9 ENH: Add access for all environment variables 2006-03-17 10:58:37 -05:00
Bill Hoffman 6b47b28867 ENH: fix line length style stuff 2006-03-10 11:13:15 -05:00
Brad King f2cf7e9197 ENH: Enable capture of output from VCExpress.exe and devenv.exe. 2006-02-15 10:22:55 -05:00
Brad King db0681d2f6 ENH: Adding option to return empty arguments when expanding a list. 2006-02-09 19:03:27 -05:00
Andy Cedilnik e5a8e115bc ENH: Move relative path to kwsys 2006-02-07 10:23:17 -05:00
Andy Cedilnik 8477aa59e5 ENH: Merge from cpack branch 2006-01-01 23:31:17 -05:00
Andy Cedilnik abe4fd77fc ENH: Make the syntax more line tar 2005-12-29 12:19:13 -05:00
Andy Cedilnik d1180fc4e1 ENH: Add untaring support 2005-12-29 10:43:12 -05:00
Andy Cedilnik fdc844ecdb ENH: Add method to create tar 2005-12-28 16:30:55 -05:00
Bill Hoffman 452925649a ENH: add better support for framework linking 2005-12-26 13:14:19 -05:00
Brad King e2ec4a1845 ENH: Adding kwsys::SystemTools::FileTimeCompare method to compare file modification times with the highest resolution possible on the file system. 2005-02-17 11:28:13 -05:00
Bill Hoffman 626be7884a FIX: go back to not trying to handle spaces in the path for run single command and comment it so that people know to call the right thing 2004-10-25 13:16:05 -04:00
Brad King b4176dcab9 ENH: Added FileTimeCompare method to compare file modification times. Currently the resolution is limited to one second. 2004-10-15 09:23:14 -04:00
Bill Hoffman ef8385744b BUG: allow split string to know if it is separating a path 2004-10-14 11:46:30 -04:00
Bill Hoffman 78e8f12b86 BUG: fix and comment relative path funciton 2004-10-13 11:37:55 -04:00
Andy Cedilnik 3fc7dc5e70 ENH: Move permissions code to kwsys so that copyfile can use it. Fixes Bug #1133 - cmake -E copy file dir sets the wrong permissions on the destination directory 2004-09-29 12:20:52 -04:00
Bill Hoffman 3e2e0d5d63 BUG: fixes for mingw and CMakesetup with spaces in the source directory 2004-08-30 13:50:00 -04:00
Bill Hoffman 9655299f08 ENH: initial fortran support 2004-08-06 14:51:41 -04:00
Brad King 40a5bad916 ENH: Made RunSingleCommand take a double as its timeout length. 2004-07-02 16:27:46 -04:00
Bill Hoffman 2705b1bf73 BUG: fix spaces in path on mingw, and change EXEC_PROGRAM to return false when it does not run, also do not convert the directory to an output path for EXEC_PROGRAM as this is done by the process execution, and doing it twice may cause trouble on some shells. 2004-06-23 16:34:38 -04:00
Berk Geveci ec3a119480 BUG: When error occurs, try compiles should still work 2004-03-17 09:42:32 -05:00
Andy Cedilnik fb228e73c8 ERR: Properly handle mode_t on borland 2004-01-27 09:05:01 -05:00
Andy Cedilnik 09421a261c ENH: Preserve permissions when copying files 2004-01-26 15:50:38 -05:00
Andy Cedilnik 7527fbccc2 ENH: Add code for setting and getting permissions 2004-01-26 14:55:57 -05:00
Bill Hoffman 222e9a2876 BUG: fix put/get env problems 2004-01-26 13:32:46 -05:00
Bill Hoffman 2c2291bbe0 ENH: add new feature to ctest so that it can cmake, build and run a test executable 2004-01-07 11:24:22 -05:00
Andy Cedilnik 32accc1607 BUG: For consistency, use cmStdString. Also, there was a bug in SplitString which make it lose the first character. 2003-12-26 15:00:27 -05:00
Bill Hoffman eb9fc21543 ENH: add support for relative paths in makefiles 2003-12-22 12:24:26 -05:00
Andy Cedilnik 5b232ded15 ENH: Add initial memory check support which works for Valgrind 2003-12-15 17:26:00 -05:00
Brad King 9a58ac6649 ENH: Added CreateSymlink method. 2003-11-26 14:52:12 -05:00
Andy Cedilnik d21532cd02 ENH: Ok, no more argument needed for script mode 2003-10-29 19:49:50 -05:00
Bill Hoffman a413160fec ENH: add the unix makefile generator as an option from the windows GUI, this builds with mingw, cygwin, and combinations of make cl, bcc32 2003-08-21 16:22:23 -04:00
Andy Cedilnik 028f5aa2c7 ENH: Abstract parsing of arguments so that I can use it in other places 2003-08-07 19:00:53 -04:00
Andy Cedilnik 8a31793c89 ENH: Add back the kwsysProcess RunCommand, now is in parallel 2003-08-03 22:32:15 -04:00
Brad King 45e508f530 ERR: Renamed superclass typedef from SystemTools to Superclass to avoid conflict across platforms. 2003-06-24 10:16:28 -04:00
Brad King 4435e364b8 ERR: Typedefs are not inherited on SGI and Borland. 2003-06-24 08:19:51 -04:00
Brad King dc3fd5c267 ENH: Merged use of kwsys library. 2003-06-23 08:58:58 -04:00
Ken Martin 590460aaae new function 2003-06-19 14:27:01 -04:00
Ken Martin ba68f771b3 yikes added new custom command support 2003-06-03 10:30:23 -04:00
Andy Cedilnik a9875aa62f Implement GetLineFromStream that actually works and use it instead of getline 2003-03-27 12:24:30 -05:00
Brad King 1f55680332 ENH: Added cmDocumentation class to generate various forms of documentation. Each executable will be able to generate its own documentation. 2003-02-14 10:53:37 -05:00
Bill Hoffman badbd8dc8d Fix for include optional 2003-02-08 10:24:03 -05:00
Brad King cde384411d Several fixes/improvements:
- Fixed CollapseFullPath to work on relative paths with base paths
    not in the current working directory.
  - INCLUDE command now supports relative paths (using above fix).
  - Added ABSOLUTE option to GET_FILENAME_COMPONENT command to
    unwind symlinks and relative paths.
  - Fixed libName_EXPORTS macro definition to be valid C identifier.
  - Added DEFINE_SYMBOL target propterty for customizing the export symbol.
  - Implemented LINK_FLAGS target propterty for libraries in VC6 and VC7.

Several of these fixes were contributed by Gareth Jones.
2003-02-07 14:04:16 -05:00
Bill Hoffman 62b612fbf8 add better testing for unlink 2003-02-05 22:26:55 -05:00
Bill Hoffman f58d7df66a ENH: add checking for NOTFOUND 2003-01-31 13:50:42 -05:00
Bill Hoffman 2f4ea98a4c add a fatal error, and make sure c and c++ compilers work before using them 2003-01-21 12:50:48 -05:00
Bill Hoffman cd7d9823c4 ENH: fix for AIX 2002-12-23 12:19:44 -05:00
Brad King 4888c088ae ENH: Moved ExpandListVariables out of individual commands. Argument evaluation rules are now very consistent. Double quotes can always be used to create exactly one argument, regardless of contents inside. 2002-12-11 18:13:33 -05:00
Brad King d6f98c2a82 ENH: Added cmSystemTools::EnableMSVCDebugHook() to prevent error dialogs when CMake is invoked by Dart. 2002-12-11 11:49:08 -05:00
Ken Martin 9e526f797a removed cmMakefile depend from cmSystemTools 2002-12-02 15:59:59 -05:00
Bill Hoffman 5a75e03037 allow flags to be in the CC and CXX environment variables 2002-11-19 18:17:17 -05:00
Bill Hoffman f5d95fb078 Complete rework of makefile generators expect trouble 2002-11-08 15:46:08 -05:00
Andy Cedilnik d7ee016535 Move the hi-res time to system tools 2002-11-06 13:06:49 -05:00
Andy Cedilnik f895a94995 Add a simple globbing of files and directories 2002-11-05 08:51:40 -05:00