summaryrefslogtreecommitdiffstats
path: root/Source/cmFileCommand.cxx
Commit message (Collapse)AuthorAgeFilesLines
* ENH: Teach file(REMOVE) how to use relative pathsBrad King2009-03-061-3/+10
| | | | | | This teaches the command to interpret relative paths with respect to the location of the invoking CMakeLists.txt file. The convention is already used by most commands and won't change the behavior in script mode.
* ENH: Add undocumented file(DIFFERENT) commandBrad King2009-01-071-0/+65
| | | | | This new command will be used by generated installation scripts to determine whether an already-installed export file has changed.
* COMP: Fix installation of cmake-gui by CMake 2.4Brad King2009-01-051-1/+16
| | | | | | | | | When CMake 2.4 generates the build tree for CMake itself it asks the built CMake to install itself using the rules that 2.4 generated. Since the install rules use undocumented commands that are not compatible from 2.4 to 2.6 we need a special case to avoid failure. This sets a special indicator variable in the install rules that enables a compatibility hack to support the old install rule format.
* ENH: Refactor internal file(INSTALL) arg parsingBrad King2009-01-051-55/+22
| | | | | | The internal file(INSTALL) command argument parsing used several booleans with at most one set to true at a time to track argument parsing state. This refactors it to use one enumeration.
* BUG: Do not copy permissions of files when making the copy in an install ↵David Cole2008-12-181-2/+8
| | | | rule. If the source file was read-only, this prevents the subsequent set of the destination file's modification time, making the copied file always different in time-stamp than the original and always installing a new file with a new time stamp (but the same content) causing unnecessary downstream incremental rebuilds. As part of this fix, add an optional copyPermissions parameter to the SystemTools routines CopyFileIfDifferent, CopyFileAlways, CopyAFile and CopyADirectory. The copyPermissions parameter defaults to true to preserve the behavior of these routines for existing callers.
* ENH: Improve FILE GLOB_RECURSE handling of symlinks with a new CMake policy. ↵David Cole2008-09-111-3/+55
| | | | CMP0009 establishes NEW default behavior of not recursing through symlinks. OLD default behavior or explicit FOLLOW_SYMLINKS argument to FILE GLOB_RECURSE will still recurse through symlinks.
* ENH: Add the RECURSE_SYMLINKS_OFF flag to the FILE GLOB_RECURSE command. ↵David Cole2008-08-231-0/+14
| | | | Exposes the recently added kwsys capability that prevents recursing through symlinks to CMake scripts.
* ENH: Inform user when RPATH or RUNPATH is removedBrad King2008-08-141-3/+14
|
* ENH: Inform user when RPATH is set during installation.Brad King2008-05-271-3/+16
| | | | | - Original patch from Alex. - Modified to print only when RPATH is actually set.
* BUG: Fix previous change to file(STRINGS) command.Brad King2008-05-171-10/+6
| | | | | - Previous change added form-feed as a string terminator. - Instead it should just be recognized as a valid string character.
* ENH: Teach Fortran compiler identification about the Portland Group compiler ↵Brad King2008-05-161-5/+9
| | | | (PGI).
* BUG: Remove check for files written by file(WRITE) being loaded.Brad King2008-04-301-1/+0
| | | | | | | | | | | | - CMake 1.8 and below did not do the check but could get in infinite loops due to the local generate step. - CMake 2.0 added the check but failed to perform it in directories with no targets (see bug #678). - CMake 2.2 removed the local generate which fixed the problem but did not remove the check. - Between CMake 2.4 and 2.6.0rc6 the check was fixed to work even when no targets appear in a directory (see bug #6923). - Bottom line: the check is no longer needed.
* ENH: Improve RPATH behavior during installation.Brad King2008-04-141-14/+148
| | | | | | | - If new RPATH is empty then remove the entry completely - Preserve file modification time so installation is not repeated - If installed file already exists remove it if its RPATH does not match that expected
* ENH: Improve error message when installation file(CHRPATH) cannot change the ↵Brad King2008-04-071-2/+4
| | | | RPATH.
* ENH: install the mac application bundle into /Applications directly with no ↵Bill Hoffman2008-04-041-1/+2
| | | | enclosing folder
* BUG: the directory the FILE DOWNLOAD command is writing to might not exist.Sebastien Barre2008-03-131-0/+11
|
* ENH: Cleanup builtin chrpath supportBrad King2008-03-021-6/+62
| | | | | | | | | | | | - 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
* ENH: Use builtin chrpath instead of relinking ELF targetsBrad King2008-03-011-0/+32
| | | | | | | | | | - 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 more information to messageBill Hoffman2008-02-181-4/+6
|
* ENH: make sure files are binary for download and make status a pair of value ↵Bill Hoffman2008-02-071-3/+5
| | | | string
* ENH: remove debug print stuffBill Hoffman2008-02-061-7/+0
|
* ENH: add DOWNLOAD option to FILE commandBill Hoffman2008-02-061-0/+172
|
* ENH: add return and break support to cmake, also change basic command ↵Ken Martin2008-01-231-1/+2
| | | | invocation signature to be able to return extra informaiton via the cmExecutionStatus class
* BUG: with cmake 2.4 INSTALL_FILES() with no files was accepted by cmake,Alexander Neundorf2008-01-071-3/+5
| | | | | | | | | | with cmake cvs without this patch an invalid cmake_install.cmake script was generated in this case, it failed with an error if no files were given. So just do nothing if no files are listed to make it compatible. http://lists.kde.org/?l=kde-commits&m=119965185114478&w=2 Alex
* BUG: File installation should overwrite the destination if the file times ↵Brad King2008-01-041-5/+2
| | | | differ at all rather than only if the source file is newer. Users expect installation to overwrite destination files. This addresses the re-opening of bug#3349.
* STYLE: Fix line-too-long.Brad King2008-01-031-1/+1
|
* COMP: fix build on Windows with gcc, patch from Maik BeckmannAlexander Neundorf2008-01-031-1/+2
| | | | Alex
* ENH: add the keywords OFFSET and HEX to the FILE() command, using OFFSET anAlexander Neundorf2008-01-021-22/+73
| | | | | | | | | offset can be specified where the reading starts, and using HEX the data can be converted into a hex string, so binary data can be compared with text functions -add docs for LIMIT, OFFSET and HEX Alex
* ENH: Added FILES_MATCHING option to INSTALL(DIRECTORY). This will help ↵Brad King2008-01-021-4/+32
| | | | install a tree of header files while ignoring non-headers.
* ENH: During file installation treat the source file as a dependency of the ↵Brad King2007-10-051-18/+45
| | | | 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.
* STYLE: fix line lengthsAlexander Neundorf2007-07-201-1/+1
| | | | Alex
* COMP: Remove unused argument.Brad King2007-07-021-2/+1
|
* ENH: Further cleanup of installation script generation. The per-component ↵Brad King2007-07-021-223/+33
| | | | and per-configuration testing is now done in cmake code instead of in the FILE(INSTALL) command. The generation of the cmake code to do these tests is centralized in cmInstallGenerator. Old-style shared library versioning and component/config support code has been removed from FILE(INSTALL). This commit is surrounded by the tags CMake-InstallGeneratorCleanup2-pre and CMake-InstallGeneratorCleanup2-post.
* BUG: Need to compute the correct versioned name for executables on cygwin. ↵Brad King2007-06-271-19/+26
| | | | This addresses bug#5238.
* STYLE: remove out commented codeAlexander Neundorf2007-06-071-74/+23
| | | | Alex
* ENH: add option to FILE(STRINGS NO_HEX_CONVERSION) to disable automaticAlexander Neundorf2007-05-251-7/+68
| | | | | | | | | | | | | | | | | | | conversion of hex and srec files to binary. Without this automatic conversion, everywhere where a compiled file is parsed for strings the a file(HEX2BIN somefile binfile) command has to be added otherwise it will not work for these compilers. I tried this with DetermineCompiler and CheckTypeSize and nobody will do this except the users who work with such compilers. For them it will break if they don't add this conversion command in all these places. If FILE(STRINGS) is used with a text file, it will in most cases still work as expected, since it will only convert hex and srec files. If a user actually wants to get text out of hex files, he knows what he's doing and will see the hint in the documentation. Anyway, it should work without having to create a temporary file, will work on this later. Alex
* ENH: make the compiler id detection work, even if the output file name ofAlexander Neundorf2007-05-251-0/+10
| | | | | | | the compiler is completely unknown and even if it produces intel hex or motorola s-record files, with test Alex
* COMP: Fix for borland now that components list check is const.Brad King2007-05-191-2/+4
|
* STYLE: fix line lengthsAlexander Neundorf2007-05-181-12/+15
| | | | Alex
* ENH: merge CMake-CrossCompileBasic to HEADAlexander Neundorf2007-05-171-449/+501
| | | | | | | | | | | | | | | | | | | | | | | | -add a RESULT_VARIABLE to INCLUDE() -add CMAKE_TOOLCHAIN_FILE for specifiying your (potentially crosscompiling) toolchain -have TRY_RUN() complain if you try to use it in crosscompiling mode (which were compiled but cannot run on this system) -use CMAKE_EXECUTABLE_SUFFIX in TRY_RUN(), probably TRY_RUN won't be able to run the executables if they have a different suffix because they are probably crosscompiled, but nevertheless it should be able to find them -make several cmake variables presettable by the user: CMAKE_C/CXX_COMPILER, CMAKE_C/CXX_OUTPUT_EXTENSION, CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_INFO_FILE -support prefix for GNU toolchains (arm-elf-gcc, arm-elf-ar, arm-elf-strip etc.) -move ranlib on OSX from the file command to a command in executed in cmake_install.cmake -add support for stripping during install in cmake_install.cmake -split out cl.cmake from Windows-cl.cmake, first (very incomplete) step to support MS crosscompiling tools -remove stdio.h from the simple C program which checks if the compiler works, since this may not exist for some embedded platforms -create a new CMakeFindBinUtils.cmake which collects the search fro ar, ranlib, strip, ld, link, install_name_tool and other tools like these -add support for CMAKE_FIND_ROOT_PATH for all FIND_XXX commands, which is a list of directories which will be prepended to all search directories, right now as a cmake variable, turning it into a global cmake property may need some more work -remove cmTestTestHandler::TryExecutable(), it's unused -split cmFileCommand::HandleInstall() into slightly smaller functions Alex
* COMP: Avoid warning.Brad King2007-04-261-4/+4
|
* ENH: Added FILE(STRINGS) command.Brad King2007-04-251-0/+304
|
* ENH: Added option CMAKE_INSTALL_SO_NO_EXE on linux to choose whether the ↵Brad King2007-04-101-9/+13
| | | | default permissions for shared libraries include the executable bit. This is necessary to support the conflicting policies of Debian and Fedora. These changes address bug#4805.
* BUG: Preserve symlinks during installation. This addresses bug#4384.Brad King2007-03-121-0/+68
|
* COMP: fix warningsKen Martin2007-03-021-1/+1
|
* COMP: fix a compiel warningKen Martin2007-03-011-1/+1
|
* ENH: added LIMIT on file readKen Martin2007-03-011-3/+25
|
* ENH: Add support to INSTALL(DIRECTORY) to install an empty directory. This ↵Brad King2006-08-291-2/+11
| | | | addresses bug#3572.
* COMP: Need to use cmsys_stl when in CMake code, not kwsys_stl.Brad King2006-08-271-3/+3
|
* BUG: Avoid putting double-slashes in fromFile during installation. Also ↵Brad King2006-08-251-3/+8
| | | | added regex debugging copy of the expression in string form.