mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-02-14 19:29:36 +01:00
* System font API This is a new API that allows operating system fonts to be loaded by the engine and used by content. Fonts are provided in a flat list exposing all the relevant metadata. They are loaded from disk with a Load call. Initial implementation is only for Windows DirectWrite. * Load system fonts as memory mapped files if possible. This allows sharing the font file memory with other processes which is always good. * Use ArrayPool to reduce char array allocations * Disable verbose logging * Implement system font support on Linux via Fontconfig * Implement macOS support * Add "FREEDESKTOP" define constant This is basically LINUX || FREEBSD. Though FreeBSD currently gets detected as LINUX too. Oh well. * Compile out Fontconfig and CoreText system font backends when not on those platforms * Don't add Fontconfig package dep on Mac/Windows * Allow disabling system font support via CVar Cuz why not.
39 lines
1.6 KiB
XML
39 lines
1.6 KiB
XML
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
|
|
<!-- Adds to the DefineConstants to provide things such as platform-specific defines. -->
|
|
<Choose>
|
|
<When Condition="'$(TargetOS)' == 'Windows'">
|
|
<PropertyGroup>
|
|
<DefineConstants>$(DefineConstants);WINDOWS</DefineConstants>
|
|
</PropertyGroup>
|
|
</When>
|
|
<When Condition="'$(TargetOS)' == 'MacOS'" >
|
|
<PropertyGroup>
|
|
<DefineConstants>$(DefineConstants);MACOS;UNIX</DefineConstants>
|
|
</PropertyGroup>
|
|
</When>
|
|
<Otherwise>
|
|
<PropertyGroup>
|
|
<DefineConstants>$(DefineConstants);LINUX;UNIX;FREEDESKTOP</DefineConstants>
|
|
</PropertyGroup>
|
|
</Otherwise>
|
|
</Choose>
|
|
<PropertyGroup Condition="'$(FullRelease)' == 'True'">
|
|
<DefineConstants>$(DefineConstants);FULL_RELEASE</DefineConstants>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(FullRelease)' != 'True'">
|
|
<DefineConstants>$(DefineConstants);DEVELOPMENT</DefineConstants>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)' == 'Release' Or '$(Configuration)' == 'Tools'">
|
|
<DefineConstants>$(DefineConstants);EXCEPTION_TOLERANCE</DefineConstants>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(EnableClientScripting)' == 'True'">
|
|
<DefineConstants>$(DefineConstants);CLIENT_SCRIPTING</DefineConstants>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(UseSystemSqlite)' == 'True'">
|
|
<DefineConstants>$(DefineConstants);USE_SYSTEM_SQLITE</DefineConstants>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(RobustToolsBuild)' == 'true'">
|
|
<DefineConstants>$(DefineConstants);TOOLS</DefineConstants>
|
|
</PropertyGroup>
|
|
</Project>
|