Extend cmake with the new functions
Description:
Add the functionality to extend the basic set of the cmake functions on the locally installed cmake application.
Motivation
Lets consider the following case, with the vcpkg c++ package manager. This package manager also uses cmake for building vcpkg itself and for building another packages that vcpkg distributes. So, generally speaking vcpkg is fully integrated with the cmake. For such package manager during the configuration and installation process it will be usefull to extend the basic set of the cmake functions with the new one vcpkg specific functions, which can be used in the another projects which wants to use vcpkg as a package manager. Example of such function:
function(vcpkg_install package_name)
find_program(VCPKG_FOUND vcpkg)
if(VCPKG_FOUND)
execute_process(vcpkg install ${package_name})
endif(VCPKG_FOUND)
endfunction()
So as a result such function will be useful for other project which also use cmake with the vcpkg to automatically install dependencies with the no need to manually add this function into their own CMakeLists.txt.
And it is not only the one case how it is possible to convenient extend the basic functionality of the cmake. I am sure that the are a lot of applications that are currently use cmake, and for them and for their users it will be applicable to bring some new cmake functionality.