@@ -14,13 +14,8 @@ namespace nbl::system
14
14
class IApplicationFramework
15
15
{
16
16
public:
17
- IApplicationFramework (
18
- const system::path& _localInputCWD,
19
- const system::path& _localOutputCWD,
20
- const system::path& _sharedInputCWD,
21
- const system::path& _sharedOutputCWD) :
22
- localInputCWD (_localInputCWD), localOutputCWD(_localOutputCWD), sharedInputCWD(_sharedInputCWD), sharedOutputCWD(_sharedOutputCWD)
23
- {
17
+ static void GlobalsInit ()
18
+ {
24
19
#ifdef _NBL_PLATFORM_WINDOWS_
25
20
// TODO: @AnastaZIuk also provide define constants for DXC install dir!
26
21
const HRESULT dxcLoad = CSystemWin32::delayLoadDLL (" dxcompiler.dll" ,{system::path (_DXC_DLL_).parent_path ()});
@@ -31,7 +26,19 @@ class IApplicationFramework
31
26
const HRESULT nablaLoad = CSystemWin32::delayLoadDLL (_NABLA_DLL_NAME_,{_NABLA_OUTPUT_DIR_,_NABLA_INSTALL_DIR_});
32
27
assert (SUCCEEDED (nablaLoad));
33
28
#endif
29
+ #else
30
+ // nothing else needs to be done cause we have RPath
34
31
#endif
32
+ }
33
+
34
+ IApplicationFramework (
35
+ const system::path& _localInputCWD,
36
+ const system::path& _localOutputCWD,
37
+ const system::path& _sharedInputCWD,
38
+ const system::path& _sharedOutputCWD) :
39
+ localInputCWD (_localInputCWD), localOutputCWD(_localOutputCWD), sharedInputCWD(_sharedInputCWD), sharedOutputCWD(_sharedOutputCWD)
40
+ {
41
+ GlobalsInit ();
35
42
}
36
43
37
44
virtual void setSystem (core::smart_refctd_ptr<nbl::system::ISystem>&& system) = 0;
@@ -47,6 +54,8 @@ class IApplicationFramework
47
54
48
55
virtual void workLoopBody () = 0;
49
56
virtual bool keepRunning () = 0;
57
+
58
+ // TODO: refactor/hide
50
59
std::vector<std::string> argv;
51
60
52
61
protected:
0 commit comments