AtomicGit.cmake 975 B

1234567891011121314151617181920212223242526
  1. macro (initialize_submodule target_dir result_variable)
  2. file(GLOB SUBMODULE_FILES ${target_dir}/*)
  3. list(LENGTH SUBMODULE_FILES SUBMODULE_FILES_LEN)
  4. if (SUBMODULE_FILES_LEN LESS 2)
  5. message(STATUS "Initialising ${target_dir}")
  6. find_package(Git REQUIRED)
  7. if (GIT_FOUND)
  8. execute_process(
  9. COMMAND git submodule update --init --remote "${target_dir}"
  10. WORKING_DIRECTORY ${ATOMIC_SOURCE_DIR}
  11. RESULT_VARIABLE SUBMODULE_RESULT
  12. )
  13. if (SUBMODULE_RESULT EQUAL 0)
  14. set (${result_variable} ON)
  15. message(INFO "Initialized ${target_dir}")
  16. else ()
  17. set (${result_variable} OFF)
  18. message(WARNING "Running git returned an error.")
  19. endif ()
  20. else ()
  21. message(STATUS "Could not find git in your Path. Please install git.")
  22. endif (GIT_FOUND)
  23. endif ()
  24. endmacro ()