# print_build_config prints information about the build configuration. Useful when reviewing build logs later.
function(print_build_config)
  message("---------- BUILD CONFIGURATION INFORMATION ----------")
  message("Standard Variables:")
  message("  CMAKE_COMMAND:            ${CMAKE_COMMAND}")
  message("  CMAKE_GENERATOR:          ${CMAKE_GENERATOR}")
  message("  CMAKE_MAKE_PROGRAM:       ${CMAKE_MAKE_PROGRAM}")
  message("  CMAKE_MODULE_PATH:        ${CMAKE_MODULE_PATH}")
  message("  CMAKE_BUILD_TYPE:         ${CMAKE_BUILD_TYPE}")
  message("  CMAKE_SOURCE_DIR:         ${CMAKE_SOURCE_DIR}")
  message("  CMAKE_BINARY_DIR:         ${CMAKE_BINARY_DIR}")
  message("  CMAKE_TOOLCHAIN_FILE:     ${CMAKE_TOOLCHAIN_FILE}")
  message("  CMAKE_CROSSCOMPILING:     ${CMAKE_CROSSCOMPILING}")
  message("  CMAKE_SYSTEM_NAME:        ${CMAKE_SYSTEM_NAME}")
  message("  CMAKE_HOST_SYSTEM_NAME:   ${CMAKE_HOST_SYSTEM_NAME}")
  message("  CMAKE_C_COMPILER:         ${CMAKE_C_COMPILER}")
  message("  CMAKE_CXX_COMPILER:       ${CMAKE_CXX_COMPILER}")
  message("  CMAKE_C_FLAGS:            ${CMAKE_C_FLAGS}")
  message("  CMAKE_CXX_FLAGS:          ${CMAKE_CXX_FLAGS}")
  message("  CMAKE_EXE_LINKER_FLAGS:   ${CMAKE_EXE_LINKER_FLAGS}")
  message("  CMAKE_SYSROOT:            ${CMAKE_SYSROOT}")
  message("  CMAKE_FIND_ROOT_PATH:     ${CMAKE_FIND_ROOT_PATH}")
  message("  CMAKE_STAGING_PREFIX:     ${CMAKE_STAGING_PREFIX}")
  message("  CMAKE_INSTALL_RPATH:      ${CMAKE_INSTALL_RPATH}")
  message("  CMAKE_BUILD_WITH_INSTALL_RPATH:  ${CMAKE_BUILD_WITH_INSTALL_RPATH}")
  message("  CMAKE_LIBRARY_OUTPUT_DIRECTORY:  ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
  message("  CMAKE_RUNTIME_OUTPUT_DIRECTORY:  ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
  message("-------- END BUILD CONFIGURATION INFORMATION --------")
endfunction()
