summaryrefslogtreecommitdiff
path: root/core/os
diff options
context:
space:
mode:
authorHugo Locurcio <hugo.locurcio@hugo.pro>2021-03-26 15:33:36 +0100
committerHugo Locurcio <hugo.locurcio@hugo.pro>2021-08-31 20:34:44 +0200
commit2daaf0fdc3e11a32f7f0c7767ae853cedfe29258 (patch)
treee82da01b6452f252ffdcfec3318762da0edbb53d /core/os
parent794606657745e77b89523f19c5e3b69c838f0cb7 (diff)
Make platform feature tag names lowercase
Feature tag names are still case-sensitive, but this makes built-in feature tags more consistent. - `Windows` -> `windows` - `OSX` -> `osx` - `LinuxBSD` -> `linuxbsd` - `Android` -> `android` - `iOS` -> `ios` - `HTML5` -> `html5` - `JavaScript` -> `javascript` - `UWP` -> `uwp`
Diffstat (limited to 'core/os')
-rw-r--r--core/os/os.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/core/os/os.cpp b/core/os/os.cpp
index 63390919f4..89ba73b35e 100644
--- a/core/os/os.cpp
+++ b/core/os/os.cpp
@@ -357,9 +357,17 @@ void OS::set_has_server_feature_callback(HasServerFeatureCallback p_callback) {
}
bool OS::has_feature(const String &p_feature) {
- if (p_feature == get_name()) {
+ // Feature tags are always lowercase for consistency.
+ if (p_feature == get_name().to_lower()) {
return true;
}
+
+ // Catch-all `linuxbsd` feature tag that matches on both Linux and BSD.
+ // This is the one exposed in the project settings dialog.
+ if (p_feature == "linuxbsd" && (get_name() == "Linux" || get_name() == "FreeBSD" || get_name() == "NetBSD" || get_name() == "OpenBSD" || get_name() == "BSD")) {
+ return true;
+ }
+
#ifdef DEBUG_ENABLED
if (p_feature == "debug") {
return true;