set(SOURCEMETA_UTILITIES_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/common")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/shim.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/variables.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/defaults.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/compiler/simd.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/compiler/sanitizer.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/compiler/options.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/options/enum.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/commands/copy-file.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/targets/library.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/targets/executable.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/targets/clang-format.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/targets/clang-tidy.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/targets/shellcheck.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/targets/doxygen.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/targets/googletest.cmake")
include("${SOURCEMETA_UTILITIES_DIRECTORY}/targets/googlebenchmark.cmake")

# To let downstream projects directly include this file
if(NOT PROJECT_IS_TOP_LEVEL)
  set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" PARENT_SCOPE)
endif()

# For debugging purposes
if(PROJECT_IS_TOP_LEVEL)
  message(STATUS "CMAKE_VERSION: ${CMAKE_VERSION}")
  message(STATUS "CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}")
  message(STATUS "CMAKE_SYSTEM_PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}")
  message(STATUS "CMAKE_HOST_SYSTEM_NAME: ${CMAKE_HOST_SYSTEM_NAME}")
  message(STATUS "CMAKE_HOST_SYSTEM_PROCESSOR: ${CMAKE_HOST_SYSTEM_PROCESSOR}")
endif()
