1#ifndef LIBSBX_UTILITY_TARGET_HPP_
2#define LIBSBX_UTILITY_TARGET_HPP_
7namespace sbx::utility {
10enum class build_configuration : std::uint8_t {
15#if defined(DEBUG) || !defined(NDEBUG)
16inline constexpr auto build_configuration_v = build_configuration::debug;
18inline constexpr auto build_configuration_v = build_configuration::release;
22enum class operating_system : std::uint8_t {
29#if defined(WIN32) || defined(_WIN32)
30inline constexpr auto operating_system_v = operating_system::windows;
31#elif defined(__APPLE__)
32inline constexpr auto operating_system_v = operating_system::mac;
33#elif defined(__linux__) || defined(__linux)
34inline constexpr auto operating_system_v = operating_system::linux;
36inline constexpr auto operating_system_v = operating_system::unknown;
40enum class compiler : std::uint8_t {
48inline constexpr auto compiler_v = compiler::clang;
49#elif (defined(__GNUC__) || defined(__GNUG__) || defined(__MINGW32__))
50inline constexpr auto compiler_v = compiler::gnu;
51#elif defined(__MSC_VER)
52inline constexpr auto compiler_v = compiler::msc;
54inline constexpr auto compiler_v = compiler::unknown;
57#if defined(SBX_CONSTEXPR_ENABLED)
58#define SBX_CONSTEXPR constexpr