79 lines
3.1 KiB
Plaintext
79 lines
3.1 KiB
Plaintext
// ImGui - DLL
|
|
//------------------------------------------------------------------------------
|
|
{
|
|
.ProjectName = 'ImGui'
|
|
.ProjectPath = 'External/imgui'
|
|
|
|
// Library
|
|
//--------------------------------------------------------------------------
|
|
ForEach( .BuildConfig in .BuildConfigs )
|
|
{
|
|
Using( .BuildConfig )
|
|
.OutputBase + '\$Platform$-$BuildConfigName$'
|
|
|
|
// ObjectList (no Unity for external code)
|
|
//--------------------------------------------------------------------------
|
|
ObjectList( '$ProjectName$-Objs-$Platform$-$BuildConfigName$' )
|
|
{
|
|
// Core ImGui files
|
|
.CompilerInputFiles = {
|
|
'$ProjectPath$/imgui.cpp',
|
|
'$ProjectPath$/imgui_demo.cpp',
|
|
'$ProjectPath$/imgui_draw.cpp',
|
|
'$ProjectPath$/imgui_tables.cpp',
|
|
'$ProjectPath$/imgui_widgets.cpp',
|
|
// Backends
|
|
'$ProjectPath$/backends/imgui_impl_win32.cpp',
|
|
'$ProjectPath$/backends/imgui_impl_dx12.cpp'
|
|
}
|
|
|
|
// Extra Compiler Options
|
|
.CompilerOptions + ' "-I$ProjectPath$"'
|
|
+ ' "-I$ProjectPath$/backends"'
|
|
.CompilerOptions + ' -DIMGUI_API=__declspec(dllexport)'
|
|
+ ' /wd4365' // signed/unsigned mismatch
|
|
+ ' /wd5219' // implicit conversion to float
|
|
+ ' -WX-' // disable warnings as errors for external code
|
|
|
|
// Output
|
|
.CompilerOutputPath = '$OutputBase$/$ProjectName$/'
|
|
}
|
|
|
|
// --- DLL BUILD ---
|
|
DLL( '$ProjectName$-Lib-$Platform$-$BuildConfigName$' )
|
|
{
|
|
.Libraries = { '$ProjectName$-Objs-$Platform$-$BuildConfigName$' }
|
|
|
|
.LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$ProjectName$.dll'
|
|
|
|
#if __WINDOWS__
|
|
.LinkerOptions + ' /DLL'
|
|
.LinkerOptions + .CommonWinLibs
|
|
|
|
.CRTLibs = .CRTLibs_Dynamic
|
|
If ( .BuildConfigName == 'Debug' )
|
|
{
|
|
^CRTLibs = .CRTLibs_DynamicDebug
|
|
}
|
|
.LinkerOptions + .CRTLibs
|
|
#endif
|
|
}
|
|
|
|
Alias( '$ProjectName$-$Platform$-$BuildConfigName$' ) { .Targets = '$ProjectName$-Lib-$Platform$-$BuildConfigName$' }
|
|
^'Targets_$Platform$_$BuildConfigName$' + { '$ProjectName$-$Platform$-$BuildConfigName$' }
|
|
|
|
#if __WINDOWS__
|
|
.ProjectConfig = [ Using( .'Project_$Platform$_$BuildConfigName$' ) .Target = '$ProjectName$-$Platform$-$BuildConfigName$' ]
|
|
^ProjectConfigs + .ProjectConfig
|
|
#endif
|
|
}
|
|
|
|
VCXProject( '$ProjectName$' )
|
|
{
|
|
.ProjectOutput = 'External/$ProjectName$.vcxproj'
|
|
.ProjectBasePath = '$ProjectPath$/'
|
|
.ProjectInputPaths = .ProjectBasePath
|
|
.ProjectConfigs = .ProjectConfigs
|
|
}
|
|
}
|