CMake module to automatically clone git repositories during configure time.
This can be useful if you have CMake-only libraries such as ucm that have no build script but have to be available at configure time. ExternalProject_Add can not be easily used for this because it executes at build time and only if other targets depend on it. In contrast to other solutions cmake_git_clone also handles nested git submodules correctly automatically.
   git_clone(
             PROJECT_NAME                    <project name>
             GIT_URL                         <url>
             [GIT_TAG|GIT_BRANCH|GIT_COMMIT  <symbol>]
             [DIRECTORY                      <dir>]
             [QUIET]
       )
   ARGUMENTS:
         PROJECT_NAME
             name of the project that will be used in output variables.
             must be the same as the git directory/repo name
         GIT_URL
             url to the git repo
         GIT_TAG|GIT_BRANCH|GIT_COMMIT
             optional
             the tag/branch/commit to checkout
             default is master
         DIRECTORY
             optional
             the directory the project will be cloned into
             default is the build directory, similar to ExternalProject (${CMAKE_BINARY_DIR})
         QUIET
             optional
             don't print status messages
   OUTPUT VARIABLES:
         <project name>_SOURCE_DIR
             top level source directory of the cloned project
Copy the cmake folder to your project source directory and include(cmake/GitUtils.cmake) in the root CMakeLists.txt file.
Call the git_clone function with url to a valid git repository. Output directory and branch, commit or tag are optional:
git_clone(
        PROJECT_NAME    ucm
        GIT_URL         https://github.com/onqtam/ucm.git
        GIT_BRANCH      master)
The project will be downloaded to ${ucm_SOURCE_DIR}
This project is available under the MIT license.
