summaryrefslogtreecommitdiffstats
path: root/Source/cmFileCommand.h
Commit message (Collapse)AuthorAgeFilesLines
* file: Add LOCK subcommand to do file and directory lockingRuslan Baratov2014-12-031-0/+1
| | | | | | | | | Provide options to fail without blocking or to block up to a timeout. Provide options to specify the scope containing the lock so it can be released automatically at the end of a function, file, or process. Extend the RunCMake.file test with cases covering the file(LOCK) command usage and error cases.
* stringapi: Command namesBen Boeckel2014-03-081-1/+1
|
* Drop builtin command documentationBrad King2013-10-161-207/+0
| | | | | Drop all GetTerseDocumentation and GetFullDocumentation methods from commands. The command documentation is now in Help/command/*.rst files.
* Docs: Document file(GENERATE) CONDITION as optional.Stephen Kelly2013-07-251-1/+1
|
* file: Add GENERATE command to produce files at generate timeStephen Kelly2013-05-241-0/+19
| | | | | | | | | | | | | | The idea is to write to a temp file which contains generator expressions, and at generate time, evaluate the generator expressions, and write the result to a file. Because executables on Windows are limited in the length of command line it is possible to use, it is common to write command line arguments to a file instead and specify the file as a source of arguments. This new FILE(GENERATE) subcommand allows the use of generator expressions to create such files so that they can be used with add_custom_command for example.
* CMake: Stylistic changes and documentation tweaksDavid Cole2012-12-051-4/+3
| | | | ...for the contributed file and string TIMESTAMP sub-commands.
* CMake: Add TIMESTAMP subcommand to string and file commandsNils Gladitz2012-12-051-0/+10
|
* Documentation: Clarify some command descriptionsAndreas Mohr2012-11-071-1/+2
| | | | | | | | - file(WRITE): add configure_file() decoupling hint - function(): definitely mention PARENT_SCOPE - include_directories(): mention possible results of SYSTEM setting - macro(): mention scope specifics of function() - message(): improve SEND_ERROR / FATAL_ERROR docs, since people said it's not obvious
* file(DOWNLOAD): Change EXPECTED_HASH to take ALGO=valueBrad King2012-09-191-6/+6
| | | | | | Make the EXPECTED_HASH option take only a single value instead of two to avoid handling sub-keyword arguments. This is also consistent with URL_HASH in ExternalProject.
* Rename SSL terminology to TLSBrad King2012-09-141-6/+6
| | | | | | TLS has superseded SSL so rename the recently added file(DOWNLOAD) and ExternalProject options using the newer terminology. Drop "CURLOPT" from names because curl is an implementation detail.
* file(DOWNLOAD): Add options for SSLBill Hoffman2012-09-111-1/+10
| | | | | | | Add the ability to request that downloads disable or enable Certificate Authority checking with https ssl downloads. When the option to verify the servers CA is disabled, one may verify download contents with SHA hashes.
* file(DOWNLOAD): Generalize EXPECTED_MD5 to EXPECTED_HASHBill Hoffman2012-09-111-3/+5
| | | | Add support for SHA algorithms.
* FILE: mention that TO_CMAKE_PATH also handles list delimitersRolf Eike Beer2012-03-291-1/+2
|
* Add 'const' qualifier to some cmCommand membersYury G. Kudryashov2012-02-291-4/+4
| | | | | Use const_cast for the special case in cmFindBase where GetFullDocumentation calls GenerateDocumentation.
* Add file(SHA*) commands to compute cryptographic hashesBrad King2011-11-161-2/+2
| | | | Add a file() command API for SHA1, SHA224, SHA256, SHA384, and SHA512.
* Add file(MD5) command to compute cryptographic hashBrad King2011-11-161-0/+4
| | | | | Provide a CMake-language binding to the md5sum function previously available only by "cmake -E md5sum".
* Teach file(DOWNLOAD|UPLOAD) to timeout after inactivityBrad King2011-06-011-4/+9
| | | | | Add option INACTIVITY_TIMEOUT to terminate the operation if there is no progress for more than a given amount of time.
* Implement file(UPLOAD (#11286)David Cole2011-02-251-0/+15
| | | | Including documentation and testing, of course.
* Warn in find(GLOB) docs about bad use case (#11617)Brad King2010-12-161-1/+6
| | | | | | | | The first instinct of a lot of users is to use file(GLOB) to assemble lists of sources. Add a warning to the help text stating that it should not be used for this purpose and briefly explain why. Suggested-By: Ryan Pavlik
* Improve FILE(DOWNLOAD) and ExternalProject.David Cole2010-05-271-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve FILE(DOWNLOAD ...): - Add percent complete progress output to the FILE DOWNLOAD command. This progress output is off by default to preserve existing behavior. To turn it on, pass SHOW_PROGRESS as an argument. - Add EXPECTED_MD5 argument. Verify that the downloaded file has the expected md5 sum after download is complete. - Add documentation for SHOW_PROGRESS and EXPECTED_MD5. When the destination file exists already and has the expected md5 sum, then do not bother re-downloading the file. ("Short circuit" return.) Also, add a test that checks for the status output indicating that the short circuit behavior is actually occurring. Use a binary file for the test so that the md5 sum is guaranteed to be the same on all platforms regardless of "shifting text file line ending" issues. Improve ExternalProject: - Add argument URL_MD5. - Add verify step that compares md5 sum of .tar.gz file before extracting it. - Add md5 check to download step, too, to prevent unnecessary downloads. - Emit a warning message when a file is not verified. Indicate that the file may be corrupt or that no checksum was specified.
* Fix up download a bit, better error checking and uses of long not double for ↵Bill Hoffman2009-10-221-1/+1
| | | | timeout as curl needs, bug# 9748
* 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.
* ENH: Create file(COPY) command signatureBrad King2009-04-291-1/+37
| | | | | | | | The file(INSTALL) command has long been undocumented and used only to implement install() scripts. We now document it and provide a similar file(COPY) signature which is useful in general-purpose scripts. It provides the capabilities of install(DIRECTORY) and install(FILES) but operates immediately instead of contributing to install scripts.
* ENH: Refactor file(INSTALL) implementationBrad King2009-04-291-24/+0
| | | | | | The undocumented file(INSTALL) is implemented by a cmFileInstaller class inside cmFileCommand. This refactors the class to split out code not specific to installation into a cmFileCopier base class.
* ENH: Send all file installations through one pathBrad King2009-04-291-4/+2
| | | | | | This creates a single cmFileInstaller method to dispatch installation of symlinks, directories, and files. The change removes duplicate tests of input file type and makes the decision more consistent.
* ENH: Remove unused PROPERTIES from file(INSTALL)Brad King2009-04-271-1/+0
| | | | | The undocumented file(INSTALL) command used to support a PROPERTIES option, but no install code still uses it. This removes the option.
* ENH: Create file(RENAME) command modeBrad King2009-04-151-0/+5
| | | | | This creates command "file(RENAME <oldname> <newname>)" to rename a file or directory within a single disk volume.
* ENH: Add undocumented file(DIFFERENT) commandBrad King2009-01-071-0/+1
| | | | | This new command will be used by generated installation scripts to determine whether an already-installed export file has changed.
* BUG: fix spellingBill Hoffman2008-12-191-1/+1
|
* ENH: Improve FILE GLOB_RECURSE handling of symlinks with a new CMake policy. ↵David Cole2008-09-111-5/+5
| | | | 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.
* BUG: Correct typo in documentation: or -> ofDavid Cole2008-08-231-1/+1
|
* ENH: Add the RECURSE_SYMLINKS_OFF flag to the FILE GLOB_RECURSE command. ↵David Cole2008-08-231-2/+4
| | | | Exposes the recently added kwsys capability that prevents recursing through symlinks to CMake scripts.
* BUG: Remove check for files written by file(WRITE) being loaded.Brad King2008-04-301-4/+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-1/+3
| | | | | | | - 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: Use builtin chrpath instead of relinking ELF targetsBrad King2008-03-011-0/+1
| | | | | | | | | | - 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: make sure files are binary for download and make status a pair of value ↵Bill Hoffman2008-02-071-1/+5
| | | | string
* ENH: add DOWNLOAD option to FILE commandBill Hoffman2008-02-061-1/+8
|
* 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
* ENH: add the keywords OFFSET and HEX to the FILE() command, using OFFSET anAlexander Neundorf2008-01-021-2/+4
| | | | | | | | | 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: make commands lower case by defaultKen Martin2007-10-101-22/+21
|
* COMP: Remove unused argument.Brad King2007-07-021-1/+0
|
* ENH: Further cleanup of installation script generation. The per-component ↵Brad King2007-07-021-6/+0
| | | | 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-1/+2
| | | | This addresses bug#5238.
* STYLE: add documentation for FILE(REMOVE ...) and FILE(REMOVE_RECURSE ...)Alexander Neundorf2007-06-131-4/+8
| | | | | | | FILE(REMOVE ...) works only for files, not for directories, REMOVE_RECURSE works for both, it seems having both is not necessary Alex
* STYLE: remove out commented codeAlexander Neundorf2007-06-071-15/+10
| | | | Alex
* ENH: add option to FILE(STRINGS NO_HEX_CONVERSION) to disable automaticAlexander Neundorf2007-05-251-3/+10
| | | | | | | | | | | | | | | | | | | 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-3/+4
| | | | | | | the compiler is completely unknown and even if it produces intel hex or motorola s-record files, with test Alex
* ENH: merge CMake-CrossCompileBasic to HEADAlexander Neundorf2007-05-171-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | -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
* ENH: Added FILE(STRINGS) command.Brad King2007-04-251-0/+25
|
* ENH: added LIMIT on file readKen Martin2007-03-011-1/+1
|