diff options
Diffstat (limited to 'share/cmake-3.18/Modules/CMakeAddNewLanguage.txt')
-rw-r--r-- | share/cmake-3.18/Modules/CMakeAddNewLanguage.txt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/share/cmake-3.18/Modules/CMakeAddNewLanguage.txt b/share/cmake-3.18/Modules/CMakeAddNewLanguage.txt new file mode 100644 index 0000000..b0be590 --- /dev/null +++ b/share/cmake-3.18/Modules/CMakeAddNewLanguage.txt @@ -0,0 +1,31 @@ +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 :variable:`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 |