MCRO
C++23 utilities for Unreal Engine.
Loading...
Searching...
No Matches
Mcro.Build.cs
Go to the documentation of this file.
1/** @noop License Comment
2 * @file
3 * @copyright
4 * This Source Code is subject to the terms of the Mozilla Public License, v2.0.
5 * If a copy of the MPL was not distributed with this file You can obtain one at
6 * https://mozilla.org/MPL/2.0/
7 *
8 * @author David Mórász
9 * @date 2025
10 */
11
12using UnrealBuildTool;
13using McroBuild;
14
15/// <summary>
16/// Low level C++ (mostly) templating utilities for a variety of common problems occuring during Unreal Development
17/// </summary>
18public class Mcro : ModuleRules
19{
20 public Mcro(ReadOnlyTargetRules Target) : base(Target)
21 {
22 // C++23
23 bUseUnity = false;
24 CppStandard = CppStandardVersion.Latest;
25
26#if UE_5_8_OR_LATER
27 const string boostVersion = "1.88.0";
28#elif UE_5_6_OR_LATER
29 const string boostVersion = "1.85.0";
30#elif UE_5_4_OR_LATER
31 const string boostVersion = "1_82_0";
32#else
33 const string boostVersion = "1_80_0";
34#endif
35 PublicSystemIncludePaths.AddRange(new []
36 {
37#if UE_5_6_OR_LATER
38 $"{Target.UEThirdPartySourceDirectory}/Boost/Deploy/boost-{boostVersion}/include"
39#else
40 $"{Target.UEThirdPartySourceDirectory}/Boost/boost-{boostVersion}/include"
41#endif
42 });
43
44 PublicDependencyModuleNames.AddRange(new[]
45 {
46 "Core",
47 "RenderCore",
48 "ApplicationCore",
49 "Projects",
50 "Slate",
51 "SlateCore",
52
53 "Ctre",
54 "MagicEnum",
55 "YamlCpp",
56 "RangeV3"
57 });
58
59 PrivateDependencyModuleNames.AddRange(new[]
60 {
61 "CoreUObject",
62 "Engine",
63 });
64
65 if (Target.Type == TargetType.Editor)
66 {
67 PrivateDependencyModuleNames.AddRange(new[]
68 {
69 "UnrealEd",
70 "MainFrame"
71 });
72 }
73 }
74}
Mcro(ReadOnlyTargetRules Target)
Definition Mcro.Build.cs:20