summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'FindOpenMP-AppleClang'Brad King2018-03-071-3/+27
|\ | | | | | | | | | | | | | | | | e3cd7c1e01 FindOpenMP: Add support for AppleClang compiler b4c539e651 FindOpenMP: Verify in test source that OMP library is linked 7dd8c7a680 FindOpenMP: Improve inclusion of helper modules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1812
| * FindOpenMP: Add support for AppleClang compilerHenry Fredrick Schreiner2018-03-071-0/+23
| | | | | | | | | | | | | | This is possible using an external `omp` library and by passing the flag past the compiler driver via `-Xclang -fopenmp`. Fixes: #17775
| * FindOpenMP: Verify in test source that OMP library is linkedHenry Fredrick Schreiner2018-03-071-0/+1
| |
| * FindOpenMP: Improve inclusion of helper modulesHenry Fredrick Schreiner2018-03-071-3/+3
| | | | | | | | | | Use `CMAKE_CURRENT_LIST_DIR` instead of `CMAKE_ROOT`. Do not include modules inside a loop.
* | Merge topic 'ctest-affinity'Brad King2018-03-0725-6/+345
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 6be53c6695 CTest: Add options to control test process affinity to CPUs c5428d8db2 libuv: disable process affinity during CMake bootstrap 24de561a1a libuv: unix,win: add uv_spawn option to set child CPU affinity mask 43d6e5a71f libuv: misc: add function to get CPU affinity mask size Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1814
| * | CTest: Add options to control test process affinity to CPUsBrad King2018-03-0520-6/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v2.8.0~170 (ENH: Added ctest test options PROCESSORS and RUN_SERIAL, 2009-09-07) CTest learned to track the number of processors allocated to running tests in order to balance it against the desired level of parallelism. Extend this idea by introducing a new `PROCESSOR_AFFINITY` test property to ask that CTest run a test with the CPU affinity mask set. This will allow a set of tests that are running concurrently to use disjoint CPU resources.
| * | libuv: disable process affinity during CMake bootstrapBrad King2018-03-051-0/+10
| | | | | | | | | | | | Avoid depending on platform-specific pthread features during bootstrap.
| * | libuv: unix,win: add uv_spawn option to set child CPU affinity maskBrad King2018-03-053-0/+114
| | | | | | | | | | | | | | | | | | | | | | | | Implement it on Linux, FreeBSD, and Windows for now, and fail with UV_ENOTSUP on other platforms. Backported from upstream libuv PR 1527, scheduled for inclusion in libuv 2.0.
| * | libuv: misc: add function to get CPU affinity mask sizeBrad King2018-03-053-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | Implement it on Linux, FreeBSD, and Windows for now, and return UV_ENOTSUP on other platforms. Backported from upstream libuv PR 1527, scheduled for inclusion in libuv 2.0.
* | | Merge branch 'release-3.11'Brad King2018-03-070-0/+0
|\ \ \
| * \ \ Merge branch 'autogen-empty-source-file-fix' into release-3.11Brad King2018-03-061-11/+18
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !1825
| * \ \ \ Merge branch 'xl-new-compiler-macros' into release-3.11Brad King2018-03-064-10/+26
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !1820
* | \ \ \ \ Merge topic 'autogen-empty-source-file-fix'Brad King2018-03-071-11/+18
|\ \ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 50b7be6d1f Autogen: Check if a file is empty before reading it Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1825
| * | | | | Autogen: Check if a file is empty before reading itSebastian Holtermann2018-03-061-11/+18
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling `std::string::front()` on an empty string results in an undefined behavior by the C++ standard. In gcc8 it causes an assertion to fail. This adds a check to `AUTOGEN` if a file to read is empty and in case avoids the use of an empty `std::string` buffer. Closes #17793
* | | | | Merge topic 'xl-new-compiler-macros'Brad King2018-03-074-10/+26
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | eb1a9be4b6 XL: Recognize compilers identified by __ibmxl__ Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Chuck Atkins <chuck.atkins@kitware.com> Merge-request: !1820
| * | | | XL: Recognize compilers identified by __ibmxl__Brad King2018-03-064-10/+26
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IBM XL C/C++ for Linux versions 13.1.6 and above no longer define `__IBMC__` or `__IBMCPP__` by default (see `-qxlcompatmacros`). Instead `__ibmxl__` now identifies the compiler along with some related new version macros. Fixes: #17784
* | | | CMake Nightly Date StampKitware Robot2018-03-071-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2018-03-061-1/+1
| |/ / |/| |
* | | Merge topic 'general_cleanup_enhance'Brad King2018-03-0519-105/+139
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0a21d820d3 Remove c_str() from calls to converttorelativeformake in XCode Generator f93cc4158e Refactor cmCacheManager::LoadCache to use ostringstream 915b71010c Enhance RunCMake test coverage for file(GLOB) fcaa134c6c Refactor HandleGlobCommand cf5d0b49e8 Adjust class description in cmFileTimeComparison.h Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1810
| * | | Remove c_str() from calls to converttorelativeformake in XCode GeneratorShane Parris2018-02-281-22/+16
| | | |
| * | | Refactor cmCacheManager::LoadCache to use ostringstreamShane Parris2018-02-281-8/+8
| | | |
| * | | Enhance RunCMake test coverage for file(GLOB)Shane Parris2018-02-2815-2/+35
| | | |
| * | | Refactor HandleGlobCommandShane Parris2018-02-281-71/+78
| | | |
| * | | Adjust class description in cmFileTimeComparison.hShane Parris2018-02-281-2/+2
| | |/ | |/|
* | | Merge topic 'object-library-linking'Brad King2018-03-0557-161/+437
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7776ce98c3 Tests: Add cases for usage requirements of linked object libs bafe655b11 Help: Document linking behavior of OBJECT libraries 57538224d0 objlib: Link object-files from `OBJECT` libraries. 9a7f039ee7 objlib: Allow `OBJECT` libraries to link to `OBJECT` libraries. dfb6e84082 objlib: Allow other libraries to link to `OBJECT` libraries. 51249e69ea objlib: Allow `OBJECT` libraries to link to other libraries. e22c45d4c9 Tests: Teach RunCMake to ignore AIX ld warnings about GNU atexit Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com> Acked-by: John Drouhard <john@jmdtech.org> Merge-request: !1524
| * | | Tests: Add cases for usage requirements of linked object libsBrad King2018-03-0113-19/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add tests to cover transitive usage requirements on installation and export of targets that link to object libraries. Issue: #14778
| * | | Help: Document linking behavior of OBJECT librariesBrad King2018-03-016-21/+104
| | | | | | | | | | | | | | | | | | | | Inspired-by: Deniz Bahadir <dbahadir@benocs.com> Issue: #14778
| * | | objlib: Link object-files from `OBJECT` libraries.Deniz Bahadir2018-03-014-8/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: This finally links the object-files of the `OBJECT` library from the right-hand side of `target_link_libraries` to the target on the left-hand side. However, this will only happen with directly linked `OBJECT` libraries, not with `OBJECT` libraries "linked" through property `INTERFACE_LINK_LIBRARIES` of a target on the right-hand side! Fixes: #14778
| * | | objlib: Allow `OBJECT` libraries to link to `OBJECT` libraries.Deniz Bahadir2018-03-0113-35/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: This still does not link the object-files of the `OBJECT` library from the right-hand side of `target_link_libraries` to the target on the left-hand side. (In this particular case of another `OBJECT` library on the left-hand side this would not make any sense anyway. The target on the left-hand side has no link-step.) Issue: #14778
| * | | objlib: Allow other libraries to link to `OBJECT` libraries.Deniz Bahadir2018-03-0120-66/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0110-22/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Tests: Teach RunCMake to ignore AIX ld warnings about GNU atexitBrad King2018-03-011-0/+2
| | | |
* | | | Merge topic 'def-generate-windows-only'Brad King2018-03-051-0/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1ac042aa67 Do not generate rules for .def generation where not supported Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1809
| * | | | Do not generate rules for .def generation where not supportedBrad King2018-02-281-0/+5
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our `cmake -E __create_def` helper used for `WINDOWS_EXPORT_ALL_SYMBOLS` and merging of multiple `.def` files is available only with CMake hosted on Windows. However, we may generate use of it on other platforms since commit v3.9.0-rc1~405^2 (Support WINDOWS_EXPORT_ALL_SYMBOLS with `.def` files, 2017-03-13) when multiple `.def` files are listed. This results in a build error because the tool doesn't exist. Fix our logic to avoid using the tool on non-Windows platforms. Instead silently ignore all but the first `.def` source as we did before. Issue: #17773
* | | | CMake Nightly Date StampKitware Robot2018-03-051-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2018-03-041-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2018-03-031-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2018-03-021-1/+1
| |/ / |/| |
* | | Merge topic 'object-library-export-as-interface'Brad King2018-03-0123-63/+123
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 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-2823-63/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'doc_test_prop_WORKING_DIRECTORY'Craig Scott2018-02-281-2/+4
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | 92a4c236f6 Help: Fix wrong default for WORKING_DIRECTORY test property Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Brad King <brad.king@kitware.com> Merge-request: !1806
| * | | Help: Fix wrong default for WORKING_DIRECTORY test propertyCraig Scott2018-02-271-2/+4
| | | |
* | | | 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 'findjava-jar-in-dev-component'Brad King2018-02-281-4/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 596a7f262a FindJava: Add Java_JAR_EXECUTABLE to a component: Development Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1807
| * | | | | FindJava: Add Java_JAR_EXECUTABLE to a component: DevelopmentGiel van Schijndel2018-02-271-4/+4
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | All discovered executables were placed in a component, except for 'jar'. This forced the use of find_package(Java) without any component specification. This commit adds 'jar' to the 'Development' component, because that's what it's used for.
* | | | | 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
| | | | | |