summaryrefslogtreecommitdiffstats
path: root/Source/cmFileCommand.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused cmLocalGenerator include.Stephen Kelly2015-10-051-1/+0
|
* cmMakefile: Store EvaluationFiles.Stephen Kelly2015-08-011-5/+2
| | | | | Relieve the cmGlobalGenerator of this responsibility. Evaluate the generator expressions in the context of the cmLocalGenerator.
* cmAlgorithms: Rename cmRange to cmMakeRange.Stephen Kelly2015-07-221-1/+1
|
* Genex: Store a backtrace, not a pointer to one.Stephen Kelly2015-07-171-2/+2
| | | | | | | | | | The storage of a pointer means that the ownership and lifetime are externally determined, which is harder to reason about. It also imposes API constraints, requiring APIs to return references to backtraces. This pointer storage was introduced in commit v3.1.0-rc1~425^2~3 (genex: remove the need for backtraces, 2014-05-23). As backtraces are now cheap to copy around, just do that instead.
* Fix preprocessor checks WIN32 => _WIN32Brad King2015-06-151-3/+3
| | | | | | The latter is predefined by Windows toolchains and is more reliable. Reported-by: Michael Stürmer <michael.stuermer@schaeffler.com>
* cmFileCommand: Fix implementation of CMP0009.Stephen Kelly2015-06-091-8/+4
|
* cmFileCommand: Do not log raw protocol data from curl (#15589)Brad King2015-05-281-3/+26
| | | | | | Teach cmFileCommandCurlDebugCallback to filter the debug data by type and show only summary information instead of the raw data. This avoids allocating memory for all data transferred by UPLOAD or DOWNLOAD.
* cmFileCommand: Clarify logic for populating LOG variableBrad King2015-05-281-1/+1
| | | | | | | The chunkDebug buffer we use to accumulate the LOG variable content is populated if and only if a log variable was requested by the call, but it is much clearer to check that a log variable was requested explicitly before populating it.
* cmFileCommand: Rename variable verboseLog => logVarBrad King2015-05-281-5/+4
| | | | | This makes the LOG variable name consistent between UPLOAD and DOWNLOAD implementations.
* cmFileCommand: Remove leftover no-op debugging logicBrad King2015-05-281-11/+0
| | | | | | Remove debugging logic left from commit v2.6.0~305 (add DOWNLOAD option to FILE command, 2008-02-06). The CURLE_OPERATION_TIMEOUTED code path does nothing that the code immediately after it does not do.
* Merge topic 'refactor-cmPolicies'Brad King2015-05-051-4/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 013ada80 cmPolicies: Implement PolicyMap in terms of bitset. be6664c2 cmPolicies: Implement abstraction for PolicyMap. de211686 Port to static cmPolicies API. 13981f20 cmPolicies: Make all API static. 23e2bcc8 cmPolicies: Remove unused DefinePolicy method. 5641ba4f cmPolicies: Remove unused cmPolicy class. 3de54497 cmPolicies: Loop over all policies using enum constants. 387aff20 cmPolicies: Trivialize GetPolicyStatus method. dbf680d6 cmPolicies: Use more-direct ID access. 8c204133 cmPolicies: Implement in terms of public API. e3a8c029 cmPolicies: Make private method file-static. cb765af0 cmPolicies: Implement short description access with XMacros. 5df267fa cmPolicies: Implement version check with XMacro. 2235cfeb cmPolicies: Implement id to version with XMacro. 05d84388 cmPolicies: Implement id to string conversion with XMacro. 6eaade8a cmPolicies: Introduce XMacro table for policy data. ...
| * Port to static cmPolicies API.Stephen Kelly2015-05-041-4/+2
| |
* | Port to cmMakefile::GetGlobalGenerator.Stephen Kelly2015-05-031-4/+3
|/
* cmMakefile: Rename GetCurrent{Output,Binary}Directory.Stephen Kelly2015-04-201-2/+2
| | | | Match names used in CMake code.
* cmMakefile: Rename GetCurrent{,Source}Directory.Stephen Kelly2015-04-201-10/+10
| | | | Match the names used in cmake code.
* Add some missing includes.Stephen Kelly2015-04-121-0/+2
|
* Fix warnings from clang scanbuild.Bill Hoffman2015-03-251-0/+1
|
* file: Teach GLOB to list directories optionallyDomen Vrankar2015-03-201-3/+59
| | | | | | GLOB lists directories by default and GLOB_RECURSE does not. LIST_DIRECTORIES enables user to control the behavior explicitly for consistently for both GLOB and GLOB_RECURSE.
* Include cmAlgorithms where it is used.Stephen Kelly2015-03-101-0/+1
|
* Merge topic 'install-manifest-optimize'Brad King2015-02-271-1/+4
|\ | | | | | | | | c4814174 install: Write the entire installation manifest at once
| * install: Write the entire installation manifest at onceRobert Goulet2015-02-261-1/+4
| | | | | | | | | | Avoid a separate open/close for each file installed. Use a single file(WRITE) instead of a loop with file(APPEND).
* | Use cmJoin to accumulate string ranges.Stephen Kelly2015-02-111-5/+1
| | | | | | | | | | | | | | | | Avoid using the std::accumulate algorithm which is designed for numeric types, not complex types. It introduces unneccessary copies. Initialize variables where they are populated.
* | Remove use of cmsys_stl.Stephen Kelly2015-02-051-2/+2
|/ | | | It is not needed.
* file: Teach STRINGS to support UTF-16 and UTF-32 encodingsJustin Borodinsky2015-01-271-3/+61
|
* cmake: Use a default CA path when not using system curlBrad King2015-01-231-4/+5
| | | | | | | | | | | | | | | | | | | | When using system curl, we trust it to be configured with desired CA certs. When using our own build of curl, we use os-configured CA certs on Windows and OS X. On other systems, try to achieve this by searching for common CA cert locations. According to a brief investigation, the curl packages on popular Linux distros are currently configured as: * Arch: /etc/ssl/certs/ca-certificates.crt * Debian with OpenSSL: /etc/ssl/certs * Debian with GNU TLS: /etc/ssl/certs/ca-certificates.crt * Debian with NSS: /etc/ssl/certs/ca-certificates.crt * Fedora: /etc/pki/tls/certs/ca-bundle.crt * Gentoo with OpenSSL: /etc/ssl/certs * Gentoo without OpenSSL: /etc/ssl/certs/ca-certificates.crt Teach CMake and CTest to look for these paths and use them as a CA path or bundle when no other os-configured or user-specified CAs are available.
* Replace 'foo.length() >= 1' pattern with !foo.empty()Stephen Kelly2015-01-181-1/+1
|
* Replace foo.size() pattern with !foo.empty().Stephen Kelly2015-01-181-10/+10
|
* Replace 'foo.size() == 0' pattern with foo.empty().Stephen Kelly2015-01-181-1/+1
|
* Replace 'foo.size() > 0' pattern with !foo.empty().Stephen Kelly2015-01-181-3/+3
|
* Port all cmOStringStream to std::ostringstream.Stephen Kelly2015-01-111-49/+49
| | | | All compilers hosting CMake support the std class.
* file: Use 'long' to represent the parsed LOCK TIMEOUT valueRuslan Baratov2014-12-051-4/+5
| | | | | | | | | Convert the StringToInt helper into a StringToLong helper with a 'long' result type. This will make the helper more useful to other callers that want to use strtol. While at it, also check errno after calling strtol in case the conversion fails with a range error.
* file: Add LOCK subcommand to do file and directory lockingRuslan Baratov2014-12-031-0/+203
| | | | | | | | | 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.
* Remove some unneeded c_str calls.Stephen Kelly2014-11-231-2/+2
|
* Encoding: Use encoding libcurl expects with file: urls.Clinton Stimpson2014-11-051-0/+38
| | | | | | | | For unescaped file: URLs on Windows, libcurl expects the ANSI code page. This fixes the CMake.FileUpload test when CMake is configured to use UTF-8 internally with a non-ascii build directory name.
* Merge topic 'remove-borland-build'Brad King2014-10-211-2/+0
|\ | | | | | | | | 2db55ffa Remove borland workarounds.
| * Remove borland workarounds.Stephen Kelly2014-10-151-2/+0
| | | | | | | | | | CMake 3.0 is the last release to require to be able to build with Borland.
* | strings: Remove redundant calls to std::string::c_str()Nils Gladitz2014-10-151-8/+8
|/ | | | | Replacements were detected and performed by the clang tool remove-cstr-calls on a linux build.
* file: Add ENCODING option to file(STRINGS) command (#10519)Clinton Stimpson2014-08-061-1/+69
| | | | Support extraction of UTF-8 strings.
* file: Refactor internal implementation of file(STRINGS)Clinton Stimpson2014-08-061-18/+28
| | | | Make room for encoding support.
* Encoding: Replace some system calls with kwsys calls which handle unicode.Clinton Stimpson2014-07-011-10/+2
|
* file(INSTALL): Add undocumented options to control output verbosityBrad King2014-06-241-3/+58
| | | | | | Create options "MESSAGE_ALWAYS", "MESSAGE_LAZY", and "MESSAGE_NEVER" to specify whether to print the "Installing" and "Up-to-date" messages. Extend the RunCMake.file test with cases covering these options.
* file(INSTALL): Report existing DIRECTORY as Up-to-dateBrad King2014-06-241-1/+2
| | | | | | | | | | | Teach cmFileCopier::InstallDirectory to detect whether the destination directory exists. If so, report it as "Up-to-date" instead of "Installing". This resolves message asymmetry with file installations. Extend the RunCMake.file and RunCMake.install tests to check the installation output on both the first and second run. Suggested-by: J Decker <d3ck0r@gmail.com>
* file(INSTALL): Do not pre-create DESTINATION for DIRECTORYBrad King2014-06-241-10/+13
| | | | | | When installing a DIRECTORY, do not pre-create the DESTINATION. The cmFileCopier::InstallDirectory method will create the directory anyway. Give it a chance to detect whether the directory already exists or not.
* genex: remove the need for backtracesBen Boeckel2014-06-051-2/+2
| | | | | Rather than making dummy backtraces and passing them around, just make backtraces optional.
* cmMakefile: return a backtraceBen Boeckel2014-06-051-2/+1
| | | | | This allows backtraces to be fully controlled by the makefile rather than externally (and makes changing how they are manipulated easier).
* file: Report system error on failure to open fileBrad King2014-05-201-6/+8
|
* file: Avoid runaway DOWNLOAD/UPLOAD progress reports (#14807)Brad King2014-03-171-0/+5
| | | | | | | | Curl makes progress callbacks frequently but we round to the nearest percent and report only when that changes so that we make at most 101 progress reports. However, when unexpected data beyond the total are transferred the progress can get beyond 100% and lead to unlimited reports. Avoid this case by capping the reported progress to 100%.
* Remove some c_str() calls.Stephen Kelly2014-03-111-71/+71
| | | | | | Use the clang RemoveCStrCalls tool to automatically migrate the code. This was only run on linux, so does not have any positive or negative effect on other platforms.
* file DOWNLOAD: Display the curl result status when a hash mismatch occurs.Matt McCormick2014-01-161-0/+2
|
* Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.Clinton Stimpson2014-01-071-8/+9
| | | | | Also use SystemTools::Fopen() instead of fopen(). This is to eventually support utf-8 filenames.