Skip to content

Commit 0b74499

Browse files
committed
remove big pch
compilation is slower but can import modules now
1 parent d577257 commit 0b74499

File tree

337 files changed

+1692
-1557
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

337 files changed

+1692
-1557
lines changed

main.sharpmake.cs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ public virtual void ConfigureAll(Configuration conf, CustomTarget target)
6262
{
6363
conf.ProjectFileName = "[project.Name]";
6464
conf.ProjectPath = @"[project.RootPath]";
65-
65+
conf.IncludePaths.Add(@"[project.SourceRootPath]");
66+
6667
conf.Options.Add(Options.Vc.Compiler.CppLanguageStandard.Latest);
6768
conf.Options.Add(Options.Vc.Compiler.Exceptions.Enable);
6869
conf.Options.Add(Options.Vc.Compiler.RTTI.Enable);
@@ -205,7 +206,7 @@ public override void ConfigureAll(Configuration conf, CustomTarget target)
205206
conf.PrecompHeader = "pch.h";
206207
conf.PrecompSource = "pch.cpp";
207208

208-
conf.AddPrivateDependency<Core>(target);
209+
conf.AddPublicDependency<Core>(target);
209210
}
210211
}
211212

@@ -235,7 +236,7 @@ public override void ConfigureAll(Configuration conf, CustomTarget target)
235236
conf.TargetCopyFiles.Add(@"[project.SourceRootPath]\dxil.dll");
236237

237238

238-
conf.AddPrivateDependency<FileSystem>(target);
239+
conf.AddPublicDependency<FileSystem>(target);
239240
conf.AddPublicDependency<Aftermath>(target);
240241

241242
}
@@ -257,7 +258,7 @@ public override void ConfigureAll(Configuration conf, CustomTarget target)
257258
conf.PrecompHeader = "pch.h";
258259
conf.PrecompSource = "pch.cpp";
259260

260-
conf.AddPrivateDependency<DirectXFramework>(target);
261+
conf.AddPublicDependency<DirectXFramework>(target);
261262
}
262263
}
263264

@@ -277,8 +278,8 @@ public override void ConfigureAll(Configuration conf, CustomTarget target)
277278
conf.PrecompHeader = "pch.h";
278279
conf.PrecompSource = "pch.cpp";
279280

280-
conf.AddPrivateDependency<DirectXFramework>(target);
281-
conf.AddPrivateDependency<FlowGraph>(target);
281+
conf.AddPublicDependency<DirectXFramework>(target);
282+
conf.AddPublicDependency<FlowGraph>(target);
282283
}
283284
}
284285

@@ -332,8 +333,8 @@ public override void ConfigureAll(Configuration conf, CustomTarget target)
332333
conf.VcxprojUserFile = new Project.Configuration.VcxprojUserFileSettings ();
333334
conf.VcxprojUserFile.LocalDebuggerWorkingDirectory = @"[project.SharpmakeCsPath]\workdir";
334335

335-
conf.AddPrivateDependency<DirectXFramework>(target);
336-
conf.AddPrivateDependency<RenderSystem>(target);
336+
conf.AddPublicDependency<DirectXFramework>(target);
337+
conf.AddPublicDependency<RenderSystem>(target);
337338
}
338339
}
339340

sources/Core/Allocators/Allocators.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
#include "pch.h"
2+
#include "Allocators.h"
3+
#include "Math/ScalarMath.h"
24

35
CommonAllocator::CommonAllocator(size_t size /*= std::numeric_limits<size_t>::max()*/) :size(size)
46
{

sources/Core/Allocators/Allocators.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
#pragma once
2+
#include "DebugInfo/Debug.h"
3+
#include "Math/ScalarMath.h"
24

35
struct AllocationHandle;
46
struct MemoryInfo

sources/Core/Application/Application.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include "pch.h"
22

3+
#include "Application.h"
34
Application::Application()
45
{
56
alive = true;

sources/Core/Application/Application.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#pragma once
2+
#include "patterns/Singleton.h"
23

34
class Application : public Singleton<Application>
45
{

sources/Core/Application/app.ixx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
export module app;
3+
4+
export void MyFunc();

sources/Core/Data/Data.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#include "pch.h"
22

3+
4+
#include "Data.h"
35
namespace DataPacker
46
{
57

sources/Core/Data/Data.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#pragma once
2+
#include <DebugInfo/Exceptions.h>
3+
14
namespace DataPacker
25
{
36

sources/Core/Data/md5.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
/* interface header */
3434
#include "pch.h"
3535

36+
#include "md5.h"
3637

3738
/* system implementation headers */
3839
#include <stdio.h>

sources/Core/Data/md5.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535

3636
#include <string>
3737
#include <iostream>
38+
#include "Serialization/Serializer.h"
3839

3940

4041
// a small class for calculating MD5 hashes of strings or byte arrays

sources/Core/DebugInfo/Debug.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
#include "pch.h"
22

3+
#include "Debug.h"
34
#include <DbgHelp.h>
5+
#include "Exceptions.h"
46

57
namespace Exceptions
68
{

sources/Core/DebugInfo/Debug.h

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,6 @@
1-
/*struct stack_trace_element
2-
{
3-
DWORD64 address;
4-
stack_trace_element(DWORD64 address) :address(address)
5-
{
6-
7-
}
8-
std::string get_name();
9-
};
10-
*/
11-
/*
12-
struct stack_trace :public std::vector<stack_trace_element>
13-
{
14-
15-
std::string to_string();
16-
};
17-
18-
*/
19-
1+
#pragma once
202
#include <boost/stacktrace.hpp>
3+
#include "Log/Log.h"
214

225

236
// #define LEAK_TEST_ENABLE

sources/Core/DebugInfo/Exceptions.h

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,4 @@
1-
/*struct stack_trace_element
2-
{
3-
DWORD64 address;
4-
stack_trace_element(DWORD64 address) :address(address)
5-
{
6-
7-
}
8-
std::string get_name();
9-
};
10-
*/
11-
/*
12-
struct stack_trace :public std::vector<stack_trace_element>
13-
{
14-
15-
std::string to_string();
16-
};
17-
18-
*/
19-
1+
#pragma once
202
#include <boost/stacktrace.hpp>
213

224

sources/Core/GUID/guid.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ THE SOFTWARE.
2424

2525
#include "pch.h"
2626

27+
#include "guid.h"
28+
2729
#ifdef GUID_LIBUUID
2830
#include <uuid/uuid.h>
2931
#endif

sources/Core/GUID/guid.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ THE SOFTWARE.
3333
#ifdef GUID_ANDROID
3434
#include <jni.h>
3535
#endif
36+
#include "Log/Log.h"
3637
namespace Spectrum
3738
{
3839

sources/Core/Log/Log.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
#include "pch.h"
2+
3+
#include "Log.h"
24
#define BOOST_DECL_EXPORTS
35
#define BOOST_WARCHIVE_SOURCE
46
#define BOOST_ARCHIVE_DECL

sources/Core/Log/Log.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
#pragma warning( disable : 4512 )
44

55
#include "simple_archive.h"
6+
7+
#include <patterns/Singleton.h>
8+
#include <Log/Events.h>
9+
610
//class LogListener;
711
class LogBlock;
812

sources/Core/Log/Tasks.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include "pch.h"
22

3+
#include "Tasks.h"
34
std::shared_ptr<Task> TaskInfoManager::create_task(std::wstring name)
45
{
56
auto task = std::make_shared<Task>(name);

sources/Core/Log/Tasks.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#pragma once
22
#include "Events.h"
3+
#include "patterns/Singleton.h"
34

45

56
class Task

sources/Core/Log/simple_archive.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
1+
#pragma once
22
#define BOOST_DECL_EXPORTS
33
#define BOOST_WARCHIVE_SOURCE
44
#define BOOST_ARCHIVE_DECL

sources/Core/Math/GeometryPrimitives.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include "pch.h"
22

33

4+
#include "GeometryPrimitives.h"
45

56
// Sphere block
67
Sphere::Sphere(vec3 pos, float radius)

sources/Core/Math/GeometryPrimitives.h

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#pragma once
2+
#include "Matrices.h"
23
enum class primitive_types
34
{
45
sphere,
@@ -348,4 +349,41 @@ EXTERN_EXPORT(Sphere)
348349
EXTERN_EXPORT(AABB)
349350
//BOOST_CLASS_EXPORT(Frustum)
350351
EXTERN_EXPORT(Primitive)
351-
*/
352+
*/
353+
354+
355+
namespace boost
356+
{
357+
namespace serialization
358+
{
359+
360+
361+
362+
template<class Archive, class T>
363+
void serialize(Archive& ar, matrix<T>& a, const unsigned int)
364+
{
365+
ar& boost::serialization::make_array(a.rows[0].values.data(), T::N * T::M);
366+
}
367+
368+
template<class Archive>
369+
void serialize(Archive& ar, Sphere& s, const unsigned int)
370+
{
371+
ar& NVP(s.pos)& NVP(s.radius)& NVP(boost::serialization::base_object<Primitive>(s));
372+
}
373+
template<class Archive>
374+
void serialize(Archive& ar, AABB& s, const unsigned int)
375+
{
376+
ar& NVP(s.min)& NVP(s.max)& NVP(boost::serialization::base_object<Primitive>(s));
377+
}
378+
template<class Archive>
379+
void serialize(Archive&, Primitive&, const unsigned int)
380+
{
381+
}
382+
383+
template<class Archive>
384+
void serialize(Archive& ar, std::_Big_uint128& a, const unsigned int)
385+
{
386+
ar& boost::serialization::make_array((char*)(void*)(&a), sizeof(a));
387+
}
388+
} // namespace serialization
389+
} // namespace boost

sources/Core/Math/Matrices.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
#pragma once
2+
#include "Vectors.h"
3+
#include "Quaternions.h"
24

35
// General row major matrix data
46
template<typename int _N, typename int _M, typename data_type>

sources/Core/Math/Quaternions.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include "pch.h"
2+
#include "Quaternions.h"
23

34
quat::quat(float x, float y, float z, float w)
45
{

sources/Core/Math/Quaternions.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#pragma once
2+
#include "Vectors.h"
23
//class mat4x4;
34
class quat : public vec4
45
{

sources/Core/Math/ScalarMath.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include "pch.h"
2+
#include "ScalarMath.h"
23

34
float Math::sin(const float angle)
45
{

sources/Core/Math/ScalarMath.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#pragma once
12
namespace Math
23
{
34

sources/Core/Math/Vectors.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#include "pch.h"
2-
2+
#include "Vectors.h"
33

44

55

sources/Core/Math/Vectors.h

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#pragma once
2+
#include "Constants.h"
23

34
#pragma warning(disable:4201)
45
#pragma warning(disable:4520)
@@ -752,4 +753,36 @@ class grid
752753
{
753754
return data.end();
754755
}
755-
};
756+
};
757+
758+
#include "LOg/simple_archive.h"
759+
760+
template<class T>
761+
void serialize(simple_log_archive& ar, Vector<vec2_t<T>>& a, const unsigned int)
762+
{
763+
ar& NP("x", a.x)
764+
& NP("y", a.y);
765+
}
766+
767+
template<class T>
768+
void serialize(simple_log_archive& ar, Vector<vec3_t<T>>& a, const unsigned int)
769+
{
770+
ar& NP("x", a.x)
771+
& NP("y", a.y)
772+
& NP("z", a.z);
773+
}
774+
775+
template<class T>
776+
void serialize(simple_log_archive& ar, Vector<vec4_t<T>>& a, const unsigned int)
777+
{
778+
ar& NP("x", a.x)
779+
& NP("y", a.y)
780+
& NP("z", a.z)
781+
& NP("w", a.w);
782+
}
783+
784+
template<class Archive, class T>
785+
void serialize(Archive& ar, Vector<T>& a, const unsigned int)
786+
{
787+
ar& boost::serialization::make_array(a.values.data(), T::N);
788+
}

sources/Core/Math/math_serialization.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#include "Log/simple_archive.h"
12

23
namespace boost
34
{

sources/Core/Platform.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include "pch.h"
2+
#include "Platform.h"
23

34
SystemInfo::SystemInfo()
45
{

sources/Core/Platform.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#include "patterns/Singleton.h"
12

23
std::vector<std::string> file_open(const std::string& Name, const std::string& StartPath, const std::string& Extension);
34

0 commit comments

Comments
 (0)