summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* objlib: Allow other libraries to link to `OBJECT` libraries.Deniz Bahadir2018-03-016-32/+27
| | | | | | | | Note: This only allows `OBJECT` libraries to be on the right-hand side of `target_link_libraries` but still does not link its object-files to the target on the left-hand side. Issue: #14778
* objlib: Allow `OBJECT` libraries to link to other libraries.Deniz Bahadir2018-03-011-10/+0
| | | | | | | | | | The proper way to use libraries is now through `target_link_libraries` for things such as usage requirements, compile definitions, include directories, etc. To facilitate this, allow `OBJECT` libraries to "link" to other libraries. Co-Author: Ben Boeckel <ben.boeckel@kitware.com> Issue: #14778
* Merge topic 'object-library-export-as-interface'Brad King2018-03-0113-46/+77
|\ | | | | | | | | | | | | ea0ce73a19 install,export: Maybe transform OBJECT libraries to INTERFACE libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1811
| * install,export: Maybe transform OBJECT libraries to INTERFACE librariesBrad King2018-02-2813-46/+77
| | | | | | | | | | | | | | | | | | | | | | Teach the `install` and `export` commands to support installing and exporting `OBJECT` libraries without their object files. Transform them to `INTERFACE` libraries in such cases. For `install(TARGETS)`, activate this when no destination for the object files is specified. For `export`, activate this only under Xcode with multiple architectures when we have no well-defined object file locations to give to clients.
* | CMake Nightly Date StampKitware Robot2018-03-011-1/+1
| |
* | Merge topic 'co-compile-with-launcher'Brad King2018-02-283-36/+70
|\ \ | | | | | | | | | | | | | | | | | | eaf9f69d41 Fix combined use of compiler launcher with lint tools Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1791
| * | Fix combined use of compiler launcher with lint toolsIlya A. Kriveshko2018-02-273-36/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using ccache with clang-tidy, ccache needs to wrap compiler invocation, rather than cmake invocation. But it needs to do it without affecting the command line that iwyu-like tools are receiving. With this fix, if __run_co_compile is used, compile launcher is passed using the new --launcher option, but if __run_co_compile is not needed, compiler launcher is prepended to the command line as before. To better illustrate the change: with this fix if running clang-tidy with CXX_COMPILER_LAUNCHER set to "/usr/bin/time;-p;ccache" (time -p added strictly for illustration purposes), the command line changes from: /usr/bin/time -p ccache cmake -E __run_co_compile \ --tidy=clang-tidy ... -- g++ ... to: cmake -E __run_co_compile \ --launcher="/usr/bin/time;-p;ccache" \ --tidy=clang-tidy ... -- g++ ... This allows the compiler to be run via the launcher, but leaves tidy (& friends) invocations unaffected. Fixes: #16493
* | | Merge topic 'ideoptions-string'Brad King2018-02-286-37/+40
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 8182ebca32 cmIDEOptions: use std::string Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1804
| * | | cmIDEOptions: use std::stringVitaly Stakhovsky2018-02-266-37/+40
| | | |
* | | | CMake Nightly Date StampKitware Robot2018-02-281-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2018-02-271-1/+1
|/ / /
* | | Merge topic 'extend_suppress_regeneration'Brad King2018-02-266-33/+62
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | b6ef4bc3 Document and extend the CMAKE_SUPPRESS_REGENERATION variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1792
| * | | Document and extend the CMAKE_SUPPRESS_REGENERATION variableShane Parris2018-02-236-33/+62
| | | | | | | | | | | | | | | | Fixes: https://gitlab.kitware.com/cmake/cmake/issues/16815
* | | | Merge topic 'outputconverter_speedup'Brad King2018-02-262-36/+37
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8ab3660a cmOutputConverter: Inline some functions and avoid string re-allocations Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com> Merge-request: !1788
| * | | | cmOutputConverter: Inline some functions and avoid string re-allocationsFrank Winklmeier2018-02-232-36/+37
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Use std::string (with correct initial size) in cmOutputConverter::Shell__GetArgument instead of ostringstream. This avoids several re-allocations of the string buffer. In addition, convert some of the private static members into inline free functions to avoid function calls.
* | | | Merge topic 'getsource_optimize'Brad King2018-02-262-0/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2d1e5ada cmMakefile: Improve performance of GetSource for known files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1764
| * | | | cmMakefile: Improve performance of GetSource for known filesFrank Winklmeier2018-02-232-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store "Known" files separately in KnownFileSearchIndex. This avoids creating the rather expensive cmSourceFileLocation object for source files that are already known. For large projects this results in a factor 3-4 speedup of cmGlobalGenerator::Compute().
* | | | | Merge topic 'project-references-csharp-17678'Brad King2018-02-262-18/+27
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 076a356c VS: Support C# project references Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1752
| * | | | | VS: Support C# project referencesRobert Dailey2018-02-232-18/+27
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When specifying a pure C# target in the `target_link_libraries()` call to another C++ target, a `<ProjectReference>` was setup for it (we wanted this) but also a corresponding `.lib` was added under `<AdditionalDependencies>` (we didn't want this). This change introduces a check that prevents `.lib` linker options from being used when the corresponding target for that library is a C# target. Fixes: #17678
* | | | | Merge topic 'vs-cpp-improvements'Brad King2018-02-264-82/+58
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b723fe3d VS: Convert loops to C++11, other C++ improvements Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1786
| * | | | | VS: Convert loops to C++11, other C++ improvementsVitaly Stakhovsky2018-02-224-82/+58
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2018-02-261-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2018-02-251-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2018-02-241-1/+1
| |/ / / / |/| | | |
* | | | | Merge topic 'ninja-depfile-name'Brad King2018-02-231-2/+20
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 84de8b80 Ninja: Use as dependency file <objectDir/SourceName>.d if needed. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1781
| * | | | | Ninja: Use as dependency file <objectDir/SourceName>.d if needed.Claus Klein2018-02-201-2/+20
| | | | | |
* | | | | | Merge topic '14297-partial-xcode-zero-check'Brad King2018-02-231-1/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 481420ee Xcode: Generate ZERO_CHECK generator target only once Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1790
| * | | | | | Xcode: Generate ZERO_CHECK generator target only onceGregor Jasny2018-02-221-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY has been enabled generate only the root-level ZERO_CHECK target so targets in subdirectories pick up the root generator target of ZERO_CHECK. For the case that CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is not enabled more investigation and a proper and final fix is still needed. Issue: 14297
| * | | | | | Merge branch 'export-android-mk' into release-3.11v3.11.0-rc1Brad King2018-02-151-12/+16
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !1766
| * \ \ \ \ \ \ Merge branch 'autogen-write-on-change-only' into release-3.11Brad King2018-02-131-34/+12
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !1753
| * \ \ \ \ \ \ \ Merge branch '17711-reset-xcode-target-var' into release-3.11Brad King2018-02-131-0/+1
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !1757
* | \ \ \ \ \ \ \ \ Merge topic 'std-thread-link'Brad King2018-02-231-0/+1
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 94eee5e6 CMakeLib: Link to system thread libraries to support std::thread Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Daniel Chabrowski <dantezstudio@gmail.com> Merge-request: !1789
| * | | | | | | | | | CMakeLib: Link to system thread libraries to support std::threadBrad King2018-02-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some environments require linking to thread libraries for `std::thread`. Express this direct dependency of CMakeLib explicitly. Previously this was done indirectly through our bundled libuv, but that does not work when using a system libuv. Fixes: #17757
* | | | | | | | | | | CMake Nightly Date StampKitware Robot2018-02-231-1/+1
| |_|_|_|_|_|_|_|/ / |/| | | | | | | | |
* | | | | | | | | | Merge topic 'setidentifier_move'Brad King2018-02-222-9/+10
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 46436581 cmGeneratorExpression: Use std::move to avoid vector copies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1779
| * | | | | | | | | | cmGeneratorExpression: Use std::move to avoid vector copiesFrank Winklmeier2018-02-212-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use move semantics in GeneratorExpressionContent::SetIdentifier and ::SetParameters to avoid vector copies.
* | | | | | | | | | | Merge topic 'cmake-build-global-gen'Brad King2018-02-221-4/+4
|\ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 83f8e764 cmake: Fix global generator path style in --build mode Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1784
| * | | | | | | | | | cmake: Fix global generator path style in --build modeBrad King2018-02-211-4/+4
| | |_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the `--build` code path so that `cmSystemTools::SetForceUnixPaths` is called with the global generator's path style. This makes forwarding of `--target subdir/src.c.obj` match the slash style the generator placed in the build system. Fixes: #17742
* | | | | | | | | | CMake Nightly Date StampKitware Robot2018-02-221-1/+1
|/ / / / / / / / /
* | | | | | | | | CMake Nightly Date StampKitware Robot2018-02-211-1/+1
| |_|_|_|_|_|/ / |/| | | | | | |
* | | | | | | | Merge topic 'string-join'Brad King2018-02-202-2/+28
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 689eeb67 string: Add JOIN subcommand Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com> Merge-request: !1762
| * | | | | | | | string: Add JOIN subcommandAlex Turbov2018-02-162-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is just like CONCAT but accepts a glue string to put between each value. `JOIN ""` is equivalent to `CONCAT`.
* | | | | | | | | Merge topic 'ninja-cmake-deps'Brad King2018-02-201-1/+7
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ed000d7d Ninja: Don't add custom command outputs to phony rule for CMake inputs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1768
| * | | | | | | | Ninja: Don't add custom command outputs to phony rule for CMake inputsPatrick Stewart2018-02-151-1/+7
| | | | | | | | |
* | | | | | | | | CMake Nightly Date StampKitware Robot2018-02-201-1/+1
| | | | | | | | |
* | | | | | | | | CMake Nightly Date StampKitware Robot2018-02-191-1/+1
| | | | | | | | |
* | | | | | | | | CMake Nightly Date StampKitware Robot2018-02-181-1/+1
| | | | | | | | |
* | | | | | | | | CMake Nightly Date StampKitware Robot2018-02-171-1/+1
| | | | | | | | |
* | | | | | | | | Merge topic 'file_cmd_touch'Brad King2018-02-163-2/+39
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e78e24f6 Replaces execute_process calls to touch files with file(TOUCH) calls 602988e1 Adds file(TOUCH) and file(TOUCH_NOCREATE) sub-commands Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1705
| * | | | | | | | | Adds file(TOUCH) and file(TOUCH_NOCREATE) sub-commandsShane Parris2018-02-153-2/+39
| | | | | | | | | |