message(STATUS "")
message(STATUS "BUILD SUMMARY")
message(STATUS "  CMAKE_GENERATOR       : ${CMAKE_GENERATOR}")
message(STATUS "  Compiler ID           : ${CMAKE_CXX_COMPILER_ID}")
message(STATUS "  Build type            : ${CMAKE_BUILD_TYPE}")
message(STATUS "  Build tests           : ${TEST}")
message(STATUS "  Build benchmarks      : ${BENCH}")
message(STATUS "  Sanitize flags        : ${ASAN}")
message(STATUS "  Thread Sanitize flags : ${TSAN}")
message(STATUS "")
message(STATUS "  Install prefix : ${CMAKE_INSTALL_PREFIX}")
message(STATUS "  Binary dir     : ${BINDIR}")
message(STATUS "  Lib dir        : ${LIBDIR}")
message(STATUS "")

message(STATUS "CMAKE_CXX_STANDARD         : ${CMAKE_CXX_STANDARD}")
message(STATUS "CMAKE_C_STANDARD           : ${CMAKE_C_STANDARD}")
message(STATUS "")
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
    message(STATUS "CMAKE_CXX_FLAGS            : ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG} ")
    message(STATUS "CMAKE_C_FLAGS              : ${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_DEBUG} ")
elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
    message(STATUS "CMAKE_CXX_FLAGS            : ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}")
    message(STATUS "CMAKE_C_FLAGS              : ${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_RELEASE}")
else()
    message(STATUS "CMAKE_CXX_FLAGS            : ${CMAKE_CXX_FLAGS}")
    message(STATUS "CMAKE_C_FLAGS              : ${CMAKE_C_FLAGS}")
endif()
message(STATUS "CMAKE_SHARED_LINKER_FLAGS  : ${CMAKE_SHARED_LINKER_FLAGS}")
message(STATUS "CMAKE_EXE_LINKER_FLAGS     : ${CMAKE_EXE_LINKER_FLAGS}")
