Its's very good.. However I think that rather we reference ${NUPIC_CORE_REMOTE} ${NUPIC_CORE_COMMITISH} directly in the macro, we could pass this value through a parameter to macro (${remote}, ${commitish}, for example).. The intention of this macro is being reused for other repos too.. With these changes, this goal is dismissed..

How about remove this block from header:

<pre><code># nupic.core external git dependencies
set(NUPIC_CORE_REMOTE "https://github.com/numenta/nupic.core.git"
    CACHE
    STRING
    "nupic.core remote repository")
set(NUPIC_CORE_COMMITISH "90df8f1ef9eabda03695a9aa60c8029fe3540b9e"
    CACHE
    STRING
    "nupic.core commit")</code></pre>

 and update the block:

<pre><code>#
# LibNupicCore
#
set(LIB_STATIC_NUPICCORE nupic_core)
<b><i>set(NUPIC_CORE_REMOTE "https://github.com/numenta/nupic.core.git" CACHE STRING "nupic.core remote repository")
set(NUPIC_CORE_COMMITISH "90df8f1ef9eabda03695a9aa60c8029fe3540b9e" CACHE STRING "nupic.core commit")</i></b>
generate_submodule_library(${LIB_STATIC_NUPICCORE} "${REPOSITORY_DIR}/nta" "-DNTA_PYTHON_SUPPORT=${PYTHON_VERSION}" "" <b><i>"${NUPIC_CORE_REMOTE}" "${NUPIC_CORE_COMMITISH}"</b></i>)</code></pre>