IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
build.hxx
Go to the documentation of this file.
1
3
4#pragma once
10
11namespace ice::build
12{
13
14 static constexpr bool is_debug = current_config == Configuration::Debug;
15
16 static constexpr bool is_develop = current_config == Configuration::Develop;
17
18 static constexpr bool is_profile = current_config == Configuration::Profile;
19
20 static constexpr bool is_release = current_config == Configuration::Release;
21
22
23 static constexpr bool is_windows = current_platform == System::Windows;
24
25 static constexpr bool is_linux = current_platform == System::Linux;
26
27 static constexpr bool is_android = current_platform == System::Android;
28
29 static constexpr bool is_webapp = current_platform == System::WebApp;
30
31 static constexpr bool is_unix = is_linux || is_android || is_webapp;
32
33
34 static constexpr bool is_x64 = current_platform == Architecture::x86_x64 || current_platform == Architecture::Arm64;
35
36 static constexpr bool is_arm = current_platform == ArchFamily::ARM;
37
38 static constexpr bool is_msvc = current_platform == Compiler::MSVC;
39
40 static constexpr bool is_clang = current_platform == Compiler::Clang;
41
42 static constexpr bool is_gcc = current_platform == Compiler::GCC;
43
44
45 static_assert(
46 ISP_ARCH_BITS == (ice::build::is_x64 ? 64 : 32),
47 "Missmatch on predicted architecture bit-size and `is_x64` built-time constant."
48 );
49
50} // namespace ice::build
Definition build.hxx:12
static constexpr bool is_windows
Definition build.hxx:23
@ Windows
Definition platform.hxx:14
@ WebApp
Definition platform.hxx:17
@ Android
Definition platform.hxx:15
@ Linux
Definition platform.hxx:16
static constexpr bool is_webapp
Definition build.hxx:29
static constexpr bool is_arm
Definition build.hxx:36
static constexpr bool is_x64
Definition build.hxx:34
static constexpr bool is_unix
Definition build.hxx:31
static constexpr bool is_profile
Definition build.hxx:18
static constexpr bool is_linux
Definition build.hxx:25
static constexpr bool is_develop
Definition build.hxx:16
@ ARM
Definition platform.hxx:24
static constexpr bool is_debug
Definition build.hxx:14
static constexpr bool is_clang
Definition build.hxx:40
static constexpr bool is_msvc
Definition build.hxx:38
static constexpr bool is_gcc
Definition build.hxx:42
static constexpr bool is_release
Definition build.hxx:20
@ Develop
Definition config.hxx:14
@ Debug
Definition config.hxx:13
@ Release
Definition config.hxx:16
@ Profile
Definition config.hxx:15
static constexpr bool is_android
Definition build.hxx:27
@ MSVC
Definition platform.hxx:38
@ GCC
Definition platform.hxx:40
@ Clang
Definition platform.hxx:39
@ x86_x64
Definition platform.hxx:31
@ Arm64
Definition platform.hxx:32
#define ISP_ARCH_BITS
Definition platform.hxx:138