This file provides a few notes to CMake developers about how to add | |
support for a new language to CMake. It is also possible to place | |
these files in CMAKE_MODULE_PATH within an outside project to add | |
languages not supported by upstream CMake. However, this is not | |
a fully supported use case. | |
The implementation behind the scenes of project/enable_language, | |
including the compiler/platform modules, is an *internal* API that | |
does not make any compatibility guarantees. It is not covered in the | |
official reference documentation that is versioned with the source code. | |
Maintainers of external language support are responsible for porting | |
it to each version of CMake as upstream changes are made. Since | |
the API is internal we will not necessarily include notice of any | |
changes in release notes. | |
CMakeDetermine(LANG)Compiler.cmake -> this should find the compiler for LANG and configure CMake(LANG)Compiler.cmake.in | |
CMake(LANG)Compiler.cmake.in -> used by CMakeDetermine(LANG)Compiler.cmake | |
This file is used to store compiler information and is copied down into try | |
compile directories so that try compiles do not need to re-determine and test the LANG | |
CMakeTest(LANG)Compiler.cmake -> test the compiler and set: | |
SET(CMAKE_(LANG)_COMPILER_WORKS 1 CACHE INTERNAL "") | |
CMake(LANG)Information.cmake -> set up rule variables for LANG : | |
CMAKE_(LANG)_CREATE_SHARED_LIBRARY | |
CMAKE_(LANG)_CREATE_SHARED_MODULE | |
CMAKE_(LANG)_CREATE_STATIC_LIBRARY | |
CMAKE_(LANG)_COMPILE_OBJECT | |
CMAKE_(LANG)_LINK_EXECUTABLE | |