kaliber/build/BUILDCONFIG.gn

72 lines
1.3 KiB
Plaintext

declare_args() {
is_debug = false
}
# Platform detection
if (target_os == "") {
target_os = host_os
}
if (current_os == "") {
current_os = target_os
}
is_android = current_os == "android"
is_ios = current_os == "ios"
is_linux = current_os == "linux"
is_mac = current_os == "mac"
is_win = current_os == "win"
is_apple = is_mac || is_ios
is_desktop = is_mac || is_linux || is_win
is_mobile = is_android || is_ios
is_unix = is_android || is_linux
# Optional build components
have_vulkan = false
if (target_cpu == "") {
if (is_mobile) {
target_cpu = "arm64"
} else {
target_cpu = host_cpu
}
}
if (target_cpu == "x86_64") {
target_cpu = "x64"
}
if (current_cpu == "") {
current_cpu = target_cpu
}
# Set defaults
_default_config = [
"//build:default",
"//build:warnings",
]
if (is_debug) {
_default_config += [ "//build:debug" ]
} else {
_default_config += [ "//build:release" ]
}
set_defaults("executable") {
configs = [ "//build:executable" ] + _default_config
}
set_defaults("static_library") {
configs = _default_config
}
set_defaults("shared_library") {
configs = _default_config
}
set_defaults("source_set") {
configs = _default_config
}
if (is_win) {
set_default_toolchain("//build/toolchain/msvc")
} else {
# Clang behaves like GCC in most cases.
set_default_toolchain("//build/toolchain/gcc")
}