summaryrefslogtreecommitdiffstats
path: root/Source/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* cmStringAlgorithms: Add cmCatViews and cmStrCat functionsSebastian Holtermann2019-08-011-0/+1
|
* Merge topic 'cmStringAlgorithms'Kyle Edwards2019-07-301-0/+2
|\ | | | | | | | | | | | | f71f7ce3f0 cmStringAlgorithms: Move string functions to the new cmStringAlgorithms.h Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3618
| * cmStringAlgorithms: Move string functions to the new cmStringAlgorithms.hSebastian Holtermann2019-07-291-0/+2
| | | | | | | | | | This adds the `cmStringAlgorithms.h` header and moves all string functions from `cmAlgorithms.h` to `cmStringAlgorithms.h`.
* | CMakeVersion.rc: Compute resource components only on WindowsBrad King2019-07-291-0/+15
|/
* cmUnexpectedCommand: Replace with lambda expressionRegina Pfeifer2019-07-211-2/+0
|
* Merge topic 'cmPropertyMap_unordered_map'Brad King2019-06-121-1/+0
|\ | | | | | | | | | | | | | | | | | | | | | | 00d265e3c8 cmPropertyMap: Use std::unordered_map as container instead of std::map 1b945f95ba cmPropertyMap: Add RemoveProperty method e0a8ff3148 cmPropertyMap: Use std::string as value container class 8d934d861b cmPropertyMap: Make std::map container private 026f65d284 cmPropertyMap: Add GetList method 9e64e617eb cmPropertyMap: Rename GetPropertyList method to GetKeys Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3435
| * cmPropertyMap: Use std::string as value container classSebastian Holtermann2019-06-081-1/+0
| |
* | file: Add GET_RUNTIME_DEPENDENCIES modeKyle Edwards2019-06-101-0/+28
|/ | | | Co-Authored-by: Bryon Bean <bryon.bean@kitware.com>
* Merge topic 'cmFileTimes'Brad King2019-05-231-0/+2
|\ | | | | | | | | | | | | | | | | 5b53cfda24 cmSystemTools: Remove cmSystemToolsFileTime interface 9c576a88d9 Use cmFileTimes instead of cmSystemToolsFileTime interface 4b45a5d5c7 cmFileTimes: New RAII based cmFileTimes class Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3358
| * cmFileTimes: New RAII based cmFileTimes classSebastian Holtermann2019-05-221-0/+2
| | | | | | | | | | This adds a new RAII based cmFileTimes class. It is supposed to replace the C style cmSystemToolsFileTime interface.
* | cmNinjaLinkLineDeviceComputer now lives in the correct source fileRobert Maynard2019-05-201-0/+2
|/
* cmUVProcessChain: Add cmUVProcessChainKyle Edwards2019-05-071-0/+2
| | | | | | | | | This class is ultimately intended as a replacement for cmsys::Process. It spawns a series of processes using libuv, piping the output of each command into the next. Note: input support has not yet been implemented because write support has not yet been implemented on cmUVStreambuf.
* cmUVStreambuf: Add std::streambuf implementation for uv_stream_tKyle Edwards2019-04-251-0/+1
| | | | | This will allow std::istream/std::ostream-based interaction with processes spawned by libuv.
* Refactor: Move/rename cmProcessGetPipes() to cmGetPipes()Kyle Edwards2019-04-251-0/+2
|
* Autogen: Rename `cmQtAutoGeneratorMocUic` class to `cmQtAutoMocUic`Sebastian Holtermann2019-04-151-2/+2
| | | | | The class name `cmQtAutoGeneratorMocUic` is long and cumbersome. This renames it to `cmQtAutoMocUic`.
* Autogen: Factor out concurrency framework to cmWorkerPool classSebastian Holtermann2019-04-151-0/+2
| | | | | | | | | | | | | | | This factors out the concurrency framework in `cmQtAutoGeneratorMocUic` to a dedicated class `cmWorkerPool` which might be reused in other places. `cmWorkerPool` supports fence jobs that require that - all other jobs before in the queue have been processed before the fence job processing gets started, - no jobs later in the queue will be processed before the fence job processing has been completed. Fence jobs are needed where the completion of all previous jobs in the queue is a requirement for further processing. E.g. in `cmQtAutoGeneratorMocUic` the generation of `mocs_compilation.cpp` requires that all previous source file parse jobs have been completed.
* Merge topic 'argument-parser'Brad King2019-04-091-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | b783e62533 cmExecuteProcessCommand: Port to cmArgumentParser 9bddb03f31 cmParseArgumentsCommand: Port to cmArgumentParser 45edf1ad66 Retire cmCommandArgumentsHelper f5acecaa6f cmExportCommand: Port to cmArgumentParser e6b6bb0618 cmInstallCommand: Port to cmArgumentParser 4336a29edd cmFileCommand: Port to cmArgumentParser 4359fe133b Introduce cmArgumentParser Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Leonid Pospelov <pospelovlm@yandex.ru> Merge-request: !3137
| * Retire cmCommandArgumentsHelperRegina Pfeifer2019-04-041-2/+0
| |
| * Introduce cmArgumentParserRegina Pfeifer2019-04-041-0/+2
| |
* | Autogen: Rename cmQtAutoGeneratorRcc to cmQtAutoRccSebastian Holtermann2019-04-061-2/+2
|/ | | | | The class name `cmQtAutoGeneratorRcc` is long and cumbersome. This shortens it to `cmQtAutoRcc`.
* Merge topic 'ghs-linux'Brad King2019-03-221-8/+16
|\ | | | | | | | | | | | | | | | | | | | | 2c43fb5be3 FindThreads: Fix pthread library check in GHS Multi Generator 0404efe786 GHS: Add support for GHS Multi Generator in Linux 2060a1445c Tests: Fix file name case in GHS object library test ddad70c8a4 Tests: Run GHS tests in a separate ctest process f7dca1fc97 GHS: Fix include-what-you-use and clang-tidy diagnostics Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3006
| * GHS: Add support for GHS Multi Generator in LinuxNaren Manimohan2019-03-211-8/+16
| |
* | Rename cmFileTimeComparison to cmFileTimeCacheSebastian Holtermann2019-03-181-2/+2
| | | | | | | | | | The name `cmFileTimeCache` reflects the functionality of the class more appropriately.
* | cmFileTimeComparison: Use cmFileTime internallySebastian Holtermann2019-03-181-2/+0
| | | | | | | | | | | | | | | | | | This replaces OS dependent code in `cmFileTimeComparison` with `cmFileTime` instances that provide the required file time load and comparison operations. A new public `cmFileTimeComparison::Load` method is introduced that, for a given file name, updates the `cmFileTimeComparison` cache on demand and returns a `cmFileTime` instance on success.
* | New cmFileTime classSebastian Holtermann2019-03-181-0/+4
|/ | | | | | The new cmFileTime class stores the file modification time as an OS independent nanosecond count. Its main use is to load and compare file modification times in nanosecond and second resolution.
* cmFileCommand: Factor out cmFileCopier and cmFileInstallerBryon Bean2019-03-131-0/+4
| | | | Split these classes out into their own sources.
* cmcompress: Delete unused 3rdParty moduleRegina Pfeifer2019-02-251-2/+1
|
* Xcode: Require at least Xcode 5Gregor Jasny2019-02-161-3/+0
|
* Merge topic 'add-missing-macos-framework'Brad King2019-01-291-1/+2
|\ | | | | | | | | | | | | 475e78d907 macOS: Add missing explicit dependency on CoreServices framework Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2873
| * macOS: Add missing explicit dependency on CoreServices frameworkChuck Atkins2019-01-291-1/+2
| | | | | | | | | | | | | | | | On Apple, the implementation of cmGlobalXCodeGenerator::Open uses LSOpenCFURLRef from CoreServices. This get's transitively pulled in from CMake's libuv build but ends up generating a linker error when using an external libuv. This explicitly adds the appropriate dependency.
* | cmMakefile: Impose maximum recursion limitKyle Edwards2019-01-231-0/+10
| | | | | | | | | | | | | | | | | | In order to keep infinitely-recursive scripts from causing a stack overflow in the CMake executable, CMake now imposes a maximum recursion limit before issuing an error message. The limit can be adjusted at runtime with CMAKE_MAXIMUM_RECURSION_DEPTH. Fixes: #18694
* | Factor out enum MessageType into dedicated headerBruno Manganelli2019-01-161-0/+1
| | | | | | | | Reduce the number of files relying on `cmake.h`.
* | VS: Rename VS 2017 generator sources to be version-independentBrad King2019-01-111-2/+2
| | | | | | | | | | | | Rename `cmGlobalVisualStudio{15 => Versioned}Generator`. Rename `Factory` to `Factory15` since that part still needs to be version-specific.
* | Merge topic 'custom-string'Brad King2018-12-131-0/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2d68b2c593 String: Add str_if_stable() as a const alternative to str() a0841b59bd String: Add support for a ""_s string literal syntax 9d5fe8e96a String: Add 'borrow' member to construct borrowing instances 80802a002c String: Add support for concatenation by operator+ ff69763ca0 String: Add a custom string type 410a3e4b22 Add support for using C++17 string_view or a fallback Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de> Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com> Merge-request: !2578
| * | String: Add support for a ""_s string literal syntaxBrad King2018-12-121-0/+1
| | | | | | | | | | | | | | | Create a `static_string_view` type that binds only to the static storage of string literals. Teach `cm::String` to borrow from these implicitly.
| * | String: Add a custom string typeBrad King2018-12-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a `cm::String` type that holds a view of a string buffer and optionally shares ownership of the buffer. Instances can either borrow longer-lived storage (e.g. static storage of string literals) or internally own a `std::string` instance. In the latter case, share ownership with copies and substrings. Allocate a new internal string only on operations that require mutation. This will allow us to recover string sharing semantics that we used to get from C++98 std::string copy-on-write implementations. Such implementations are not allowed by C++11 so code our own in a custom string type instead.
| * | Add support for using C++17 string_view or a fallbackBrad King2018-12-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define a `cm::string_view` type implemented via C++17 `std::string_view` when available. Provide a fallback implementation for C++11 and C++14 compilers. The fallback implementation was written by reading documentation of the standard spec. We have no dedicated tests for it, but it will be covered by tests of its clients later.
* | | Merge topic 'fileapi'Brad King2018-12-131-0/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b9c6f08276 Help: Add release note for fileapi feature 4b6b2a571c fileapi: extend codemodel v2 with directory details eb8c7676a4 fileapi: extend codemodel v2 with a project model 42f0125ceb fileapi: Add test for cmakeFiles v1 6615408193 fileapi: add cmakeFiles v1 3f6ee75a66 fileapi: Add test for cache v2 7489e95b8e fileapi: add cache v2 ea0a060168 fileapi: Add test for codemodel v2 ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2706
| * | | fileapi: add cmakeFiles v1Brad King2018-12-121-0/+2
| | | | | | | | | | | | | | | | Issue: #18398
| * | | fileapi: add cache v2Brad King2018-12-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Start with v2 to distinguish it from server-mode v1. Issue: #18398
| * | | fileapi: add codemodel v2Brad King2018-12-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Start with v2 to distinguish it from server-mode v1. Issue: #18398
| * | | fileapi: Add protocol v1 infrastructure with support for shared query filesBrad King2018-12-121-0/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a file-based API that clients may use to get semantic information about the buildsystem that CMake generates. Clients will write query files under a designated location in the build tree, and CMake will write reply files for clients to read. Start with support for shared stateless query files. These allow clients to share requests for major object versions and get all those recognized by CMake. Once any client has written a shared request to a build tree it will persist. Other clients will not need to overwrite the request (since it is stateless) and should not remove it either. For now we add only an undocumented object kind to use for testing the query and reply infrastructure. Object kinds providing real semantic information will be added later. Issue: #18398
* | | CTest: Remove submit method 'xmlrpc'Regina Pfeifer2018-11-281-2/+1
|/ /
* | Autogen: Add cmQtAutoGenGlobalInitializer classSebastian Holtermann2018-11-111-0/+2
| | | | | | | | | | This moves the global ``AUTOMOC/UIC/RCC`` targets initializer generation code into a separate new ``cmQtAutoGenGlobalInitializer`` class.
* | Merge topic 'rename-cpack-ext-generator'Brad King2018-11-061-1/+1
|\ \ | |/ | | | | | | | | | | 20d5e77a27 CPack: Rename Ext generator to External Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2566
| * CPack: Rename Ext generator to ExternalCraig Scott2018-11-051-1/+1
| | | | | | | | | | Ext and External were used inconsistently in the code and the docs. This change converts all uses of Ext to External, including within variable names used by the generator.
* | add_subdirectory: Run subdirectory install rules in correct orderKyle Edwards2018-10-101-0/+2
|/ | | | | | | | | Before this change, install rules created by add_subdirectory() would be executed after all of the top-level install rules, even if they were declared before the top-level rules. This change adds a new policy, CMP0082, which interleaves the add_subdirectory() install rules with the other install rules so they are run in the correct order.
* LINK_DIRECTORIES: Add new properties and commandsMarc Chevrier2018-09-251-0/+2
| | | | | | | | | | | | These new capabilities enable to manage link directories Two new properties: * target properties: LINK_DIRECTORIES and INTERFACE_LINK_DIRECTORIES One new command * target_link_directories(): to populate target properties Fixes: #17215
* server: Compile json object generation source separatelyBrad King2018-09-211-0/+3
| | | | | Declare entry points in a dedicated header and compile the source separately instead of including it in the server implementation.
* cmLinkItem: Convert to a "sum type" over a string and target pointerBrad King2018-09-071-0/+1
| | | | | | | | | Avoid exposing the item name implicitly as std::string. When the item is a target, avoid storing a second copy of its name. Most link item construction is paired with calls to `FindTargetToLink` to get the possible target pointer. Rename these methods to `ResolveLinkItem` and refactor them to construct the entire item.