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_6_OR_LATER
27 const string boostVersion = "1.85.0";
28#elif UE_5_4_OR_LATER
29 const string boostVersion = "1_82_0";
30#else
31 const string boostVersion = "1_80_0";
32#endif
33 PublicSystemIncludePaths.AddRange(new []
34 {
35#if UE_5_6_OR_LATER
36 $"{Target.UEThirdPartySourceDirectory}/Boost/Deploy/boost-{boostVersion}/include"
37#else
38 $"{Target.UEThirdPartySourceDirectory}/Boost/boost-{boostVersion}/include"
39#endif
40 });
41
42 PublicDependencyModuleNames.AddRange(new[]
43 {
44 "Core",
45 "RenderCore",
46 "ApplicationCore",
47 "Projects",
48 "Slate",
49 "SlateCore",
50
51 "Ctre",
52 "MagicEnum",
53 "YamlCpp",
54 "RangeV3"
55 });
56
57 PrivateDependencyModuleNames.AddRange(new[]
58 {
59 "CoreUObject",
60 "Engine",
61 });
62
63 if (Target.Type == TargetType.Editor)
64 {
65 PrivateDependencyModuleNames.AddRange(new[]
66 {
67 "UnrealEd",
68 "MainFrame"
69 });
70 }
71 }
72}
Mcro(ReadOnlyTargetRules Target)
Definition Mcro.Build.cs:20