summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeForceCompiler.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Help: Improve description of modulesBartosz Kosiorek2019-04-231-15/+18
|
* Help: Use 'deprecated' template, and date deprecation of modulesJoachim Wuttke (o)2018-10-251-1/+3
|
* Help: Convert remaining modules to block-style commentsKitware Robot2018-10-221-63/+64
|
* Simplify CMake per-source license noticesBrad King2016-09-271-13/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* CMakeForceCompiler: Deprecate this module and its macrosBrad King2016-03-081-8/+12
| | | | | | | | | | We originally deprecated this module in commit v3.5.0-rc1~295^2 (CMakeForceCompiler: Deprecate this module and its macros, 2015-10-19). Then a use case was found to still require the module so the deprecation was reverted for CMake 3.5 by commit v3.5.0-rc3~4^2 (CMakeForceCompiler: De-deprecate until more use cases have alternatives, 2016-02-17). Since then `CMAKE_TRY_COMPILE_TARGET_TYPE` was introduced to provide an alternative solution for that use case. Deprecate the module again.
* CMakeForceCompiler: De-deprecate until more use cases have alternativesBrad King2016-02-171-7/+9
| | | | | | | | | | We deprecated this module in commit v3.5.0-rc1~295^2 (CMakeForceCompiler: Deprecate this module and its macros, 2015-10-19) in order to determine whether anyone still has use cases that require it. Indeed we still need to provide a way to work with toolchains that cannot link binaries without special flags. Remove the deprecation warnings until we can provide an alternative to the module for this use case.
* CMakeForceCompiler: Deprecate this module and its macrosBrad King2015-10-191-3/+15
| | | | | | | | | | | | | | | | | | This module was added by commit v2.6.0~1489 (...supporting embedded compilers..., 2007-07-02) to avoid needing to build the compiler id detection source on toolchains that need special flags or linker files to produce executables. Since then CMake has learned other ways to identify such compilers (e.g. passing vendor-specific version flags and checking for vendor-specific banners in the output). Furthermore, CMake now detects a lot more than just the compiler id during language initialization in order to support things like <LANG>_STANDARD and COMPILE_FEATURES. Therefore CMakeForceCompiler is no longer a viable approach because it skips such detection. One remaining challenge to support toolchains that require special linker files is to build the test for a working compiler, compiler ABI detection binary, and other try_compile cases. This will have to be worked out as such cases are encountered.
* Avoid if() quoted auto-dereferenceBen Boeckel2014-10-201-2/+2
| | | | | | | When testing CMAKE_<LANG>_COMPILER_ID values, do not explicitly dereference or quote the variable. We want if() to auto-dereference the variable and not its value. Also replace MATCHES with STREQUAL where equivalent.
* Convert builtin help to reStructuredText source filesKitware Robot2013-10-151-13/+34
| | | | | | | | Run the convert-help.bash script to convert documentation: ./convert-help.bash "/path/to/CMake-build/bin" Then remove it.
* Move CMAKE_<LANG>_COMPILER_WORKS to compiler information filesBrad King2012-08-241-3/+0
| | | | | | | | Since the parent commit this test result is specific to the version of CMake. Store it in the version-specific compiler information files instead of CMakeCache.txt so testing can be re-done to meet the requirements of the current version of CMake even if another version of CMake was already used to configure the build tree.
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-6/+6
| | | | | | | | | | | | | | | | | Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Convert CMake-language commands to lower caseKitware Robot2012-08-131-32/+32
| | | | | | | | | | | | | | | | | Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code: cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Modules: Fix spelling 'To distributed' -> 'To distribute'Todd Gamblin2010-08-091-1/+1
|
* Provide macro to force Fortran compilerBrad King2009-12-141-0/+20
| | | | | | We add the macro CMAKE_FORCE_Fortran_COMPILER to the cross-compiling helper module CMakeForceCompiler.cmake so that toolchain files can force a Fortran compiler as well as C and C++ compilers. See issue #10032.
* Convert CMake non-find modules to BSD LicenseBrad King2009-09-281-0/+13
| | | | | | | This adds copyright/license notification blocks CMake's non-find modules. Most of the modules had no notices at all. Some had notices referring to the BSD license already. This commit normalizes existing notices and adds missing notices.
* STYLE: Fixed docs of new CMakeForceCompilerBrad King2008-03-031-2/+4
|
* ENH: Restore CMAKE_FORCE_C_COMPILER and CMAKE_FORCE_CXX_COMPILER macros in ↵Brad King2008-03-031-27/+47
| | | | CMakeForceCompiler module.
* ENH: Remove unnecessary compiler force macros. The compiler ID can now be ↵Brad King2008-02-141-61/+25
| | | | detected without linking an executable.
* BUG: When forcing the C and CXX compilers do not try to detect the ABI ↵Brad King2008-02-031-2/+3
| | | | information. Cleanup configured language compiler info files by always using @ONLY. This addresses bug#6297.
* STYLE: fix typo in the docsAlexander Neundorf2007-08-241-1/+1
| | | | Alex
* ENH: second try for handling the linker language with integer priority ↵Alexander Neundorf2007-07-121-0/+11
| | | | | | values (returning a pointer to a string on the stack is no good idea) Alex
* COMP: revert last commit for now, broke Visual StudioAlexander Neundorf2007-07-111-11/+0
| | | | Alex
* ENH: CMAKE_<LANG>_LINKER_PREFERENCE is now an integer priority, not aAlexander Neundorf2007-07-111-0/+11
| | | | | | | | | | | | | | | | | | | two-step priority (None or Prefered) Current order: ASM 0, C 10, Fortran 20, CXX 30, Java 40 This is the same order as automake choses: http://www.gnu.org/software/automake/manual/html_node/How-the-Linker-is-Chosen.html This change should be backward compatible: if there is a project using fortran and CXX, they had to set the LINKER_LANGUAGE explicitely, otherwise cmake complained (but still generated the project files). Explicitely setting the linker language still overrides automatic detection. If somebody has a custom language for cmake and the PREFERENCE starts with "P", its changed to 100, which gives it preference over all other languages (except the other custom languages which have also "Prefered"). "None" is converted to 0. Alex
* ENH: make supporting embedded compilers need a user specific linker file forAlexander Neundorf2007-07-021-0/+51
compiling an executable (amd thus cannot build the compiler-id program) easier by providing CMAKE_FORCE_XXX() macros which force cmake to use the given compilers anyway Alex