summaryrefslogtreecommitdiffstats
path: root/Modules/CheckIPOSupported.cmake
Commit message (Collapse)AuthorAgeFilesLines
* CMakeParseArguments: Remove superfluous includes of CMakeParseArgumentsKyle Edwards2018-12-141-2/+0
| | | | | | | | | | | | | | Because cmake_parse_arguments() has been implemented as a native command, there is no need to include(CMakeParseArguments) anymore. Its inclusion has been removed from several CMake modules. Tests/CMakeOnly/CMakeLists.txt has been changed to include the *building* CMake's copy of CMakeParseArguments rather than the *built* CMake's copy. This file included the *built* copy because when this file was introduced, CMake could still be built with versions that didn't supply cmake_parse_arguments(). Now, CMake requires 3.1 or greater, where cmake_parse_arguments() existed but was still in the form of a module, so we include it from the *building* CMake.
* IPO: INTERPROCEDURAL_OPTIMIZATION (LTCG) for Visual StudioNiels Dekker2018-09-171-1/+1
| | | | | | | | | Add IPO support for Visual Studio (which is referred to by VS as "Link Time Code Generation" and "Whole Program Optimization"), for VS version >= 10. This allows CMake/VS users to enable IPO by setting property `INTERPROCEDURAL_OPTIMIZATION`. Fixes: #16748
* CheckIPOSupported: Tolerate backslashes in output of failed checksBrad King2018-08-301-1/+7
| | | | | | | | | | | | | Avoid passing the output of our `try_compile` through a macro argument. Macro invocations re-parse their arguments and so should not be given arbitrary content that may contain backslashes and such. Instead pass a simple message. This is also more readable in the case that the macro generates a message itself. After the macro returns, report the real output directly to the variable named by our caller. Also record the output in a log file as other checks do on failure. Fixes: #18244
* CheckIPOSupported: Simplify result reporting logicBrad King2018-08-301-3/+4
| | | | | | Simplify the test for whether a `RESULT` argument was given to the `check_ipo_supported` call. Also do not set an empty variable name if `OUTPUT` was not given.
* CheckIPOSupported: Document existing Fortran supportBrad King2018-01-301-1/+1
| | | | | Support was added by commit v3.9.0-rc1~318^2 (CheckIPOSupported: Add Fortran support, 2017-04-02) but the documentation was not updated.
* IPO: Consider support for each language separatelyBrad King2017-06-141-8/+10
| | | | | | | | | We only define `INTERPROCEDURAL_OPTIMIZATION` behavior for C, CXX, and Fortran languages. Do not try to enable support for other languages. Furthermore, each language builds with a different compiler, so check for support by CMake and the compiler for each language independently. Fixes: #16944
* Xcode: Support IPO (LTO)Ruslan Baratov2017-05-021-1/+1
|
* CheckIPOSupported: Add Fortran supportRuslan Baratov2017-04-041-6/+3
|
* CheckIPOSupported: Move '_CMakeLTOTest-*' under 'CMakeFiles'Ruslan Baratov2017-04-041-1/+1
|
* Add policy CMP0069 to enforce INTERPROCEDURAL_OPTIMIZATIONRuslan Baratov2017-03-301-1/+14
| | | | | | | | | Previously the `INTERPROCEDURAL_OPTIMIZATION` target property was honored only for the Intel compiler on Linux and otherwise ignored. In order to add support for more compilers incrementally without changing behavior in the future, add a new policy whose NEW behavior enforces the `INTERPROCEDURAL_OPTIMIZATION` property. Add flags for supported compilers and otherwise produce an error.
* CheckIPOSupported: Visual Studio and Xcode generators do not support IPORuslan Baratov2017-03-301-1/+6
|
* CheckIPOSupported: New module to check for compiler/cmake IPO supportRuslan Baratov2017-03-111-0/+215