156 lines
8.0 KiB
Plaintext
Executable File
156 lines
8.0 KiB
Plaintext
Executable File
##########################################################################################################################
|
|
# RULES FILE
|
|
# Usage & Details : https://devstar.rockstargames.com/wiki/index.php/Dev:Project_builder3#game.rules
|
|
##########################################################################################################################
|
|
|
|
ExporterRules[Exporter=~'VS201'] { # The family of VS201X exporters ( VCXPROJ )
|
|
|
|
#-------------------------------------------------------------------------------------------
|
|
# Scratch ( ExporterRules )
|
|
#-------------------------------------------------------------------------------------------
|
|
Scratch.VS[Exporter=~'VS2017'] = '2017'
|
|
Scratch.VS[Exporter=~'VS2019'] = '2019'
|
|
|
|
#-------------------------------------------------------------------------------------------
|
|
# Platform Toolset
|
|
#-------------------------------------------------------------------------------------------
|
|
Settings.General.PlatformToolset = '$(DefaultPlatformToolset)'
|
|
|
|
# For solutions with multiple executables, avoid linking errors with separate intermediate directories.
|
|
Settings.General.OutputDirectoryName = '$(RS_TOOLSROOT)\bin\RageBuilderGen9\'
|
|
Settings.General.TargetExt = '.exe'
|
|
Settings.General.TargetName = '$(ProjectName)_$(Configuration)$(RS_BRANCHSUFFIX)'
|
|
# Settings.General.IncludePath += '$(DXSDK_DIR)\Include'
|
|
# Settings.General.LibraryPath += '$(DXSDK_DIR)\Lib\x64'
|
|
Settings.General.CharacterSet = 'MultiByte'
|
|
|
|
Settings.Linker.OutputFilename = '$(RS_TOOLSROOT)\bin\RageBuilderGen9\$(TargetName).exe'
|
|
Settings.Linker.ProgramDatabaseFile = '$(RS_TOOLSROOT)\bin\RageBuilderGen9\$(TargetName).pdb'
|
|
Settings.Linker.MapFilename = '$(RS_TOOLSROOT)\bin\RageBuilderGen9\$(TargetName).map'
|
|
Settings.Linker.EnableCOMDATFolding = 'true'
|
|
Settings.Linker.OptimizeReferences = 'true'
|
|
Settings.Linker.GenerateMapFile = 'true'
|
|
Settings.Linker.GenerateDebugInfo = 'true'
|
|
Settings.Linker.SubSystem = 'Console'
|
|
Settings.Linker.RandomizedBaseAddress = 'false'
|
|
|
|
#Settings.Linker.IgnoreLibraries += '$(IgnoreLibraries)'
|
|
|
|
Action Settings.Linker.IgnoreLibraries {
|
|
[Config=='Beta'] += 'libcmt.lib'
|
|
[Config=='Debug'] += 'libcmt.lib'
|
|
}
|
|
|
|
|
|
Settings.Compiler.RuntimeTypeInfo = 'true'
|
|
Settings.Compiler.TreatWarningsAsErrors = 'true'
|
|
Settings.Compiler.WarningLevel = 'Level3' # Off, Level1, Level2, Level3, Level4
|
|
|
|
Settings.Compiler.DebugInformationFormat = 'ProgramDatabase'
|
|
Settings.Compiler.PrecompiledHeader = ''
|
|
Settings.Compiler.PrecompiledHeaderFile = ''
|
|
Settings.Compiler.ExceptionHandling = ''
|
|
Settings.Compiler.ProgramDataBaseFileName = '$(IntDir)$(TargetName).pdb'
|
|
|
|
Action Settings.Compiler.RunTimeLibrary {
|
|
= 'MultiThreaded'
|
|
[Config=~'Debug'] = 'MultiThreadedDebug'
|
|
}
|
|
|
|
Settings.Compiler.CompileAs = 'default'
|
|
Settings.Compiler.BasicRuntimeChecks = 'default'
|
|
Settings.Compiler.BasicRuntimeChecks[Config=~'Debug'] = 'EnableFastChecks'
|
|
|
|
Action Settings.Compiler.Optimization {
|
|
[Config=='Beta'] = 'MaxSpeed'
|
|
[Config=='Debug'] = 'Disabled'
|
|
[Config=='Release'] = 'MaxSpeed'
|
|
}
|
|
|
|
Action Settings.Compiler.PreprocessorDefinitions {
|
|
+= '_CONSOLE;GTA_PC;HTML_RESOURCE;RAGEBUILDER;NAVGEN_TOOL;NOCRYPT;NOUNCRYPT;WIN32;_LIB'
|
|
[Config=~'Debug'] += '_DEBUG'
|
|
[Config=~'Beta'] += '_DEBUG'
|
|
[Config=~'Release'] += 'NDEBUG'
|
|
}
|
|
|
|
Action Settings.Compiler.ForceIncludes {
|
|
='$(RAGE_DIR)\framework\tools\src\GTA_tools\include\basetypes.h;$(ProjectDir)\ragebuilder_dll.h'
|
|
[Config=='Beta'] += '$(RAGE_DIR)\base\src\forceinclude\win64_rscdebug.h'
|
|
[Config=='Debug'] += '$(RAGE_DIR)\base\src\forceinclude\win64_rscdebug.h'
|
|
[Config=='Release'] += '$(RAGE_DIR)\base\src\forceinclude\win64_rscrelease.h'
|
|
}
|
|
|
|
# Already dealt with in props
|
|
# Action Settings.Compiler.AdditionalIncludeDirectories {
|
|
## += '$(RAGE_3RDPARTY)\cli\zlib-1.2.3'
|
|
## += '$(RAGE_DIR)\framework\src'
|
|
## += '$(RAGE_DIR)\base\src'
|
|
## += '$(RAGE_3RDPARTY)\cli\LUA\include'
|
|
## += '$(RS_CODEBRANCH)\tools\framework\dcc\libs\RsULog'
|
|
## += '$(RS_CODEBRANCH)\tools\framework\GTA_Tools\'
|
|
# += '$(RS_CODEBRANCH)\tools\framework\GTA_Tools\include'
|
|
# += '$(RAGE_DIR)\suite\src'
|
|
# += '$(RS_CODEBRANCH)\tools\suite\cli'
|
|
# += '$(RAGE_DIR)\script\src'
|
|
# += '$(RS_CODEBRANCH)\tools\base'
|
|
## += '$(RS_CODEBRANCH)\tools\framework\GTA_Tools\navgen'
|
|
# += '$(RAGE_3RDPARTY)\cli\AMD\ATI_Compress'
|
|
# += '$(RAGE_3RDPARTY)\libs\Compressonator\Compressonator\Header'
|
|
# += '$(SCE_PS3_ROOT)\host-common\include'
|
|
# += '$(SCE_PS3_ROOT)\hot-win32\ppu\include'
|
|
# += '$(RS_CODEBRANCH)\tools\base\cli'
|
|
# += '$(RS_CODEBRANCH)\tools\base\libs'
|
|
# += '$(RAGE_3RDPARTY)\cli\libxml2-2.7.6\include'
|
|
## += '$(XEDK)/include/win32/vs2008'
|
|
## += '$(XEDK)/include/win32/vs2005'
|
|
## += '$(XEDK)/include/win32'
|
|
# += '$(RAGE_DIR)/3rdparty/crunch/inc'
|
|
# += '$(RAGE_DIR)/3rdparty/basis/inc'
|
|
# += '$(RS_CODEBRANCH)\tools\framework\cli\rorc'
|
|
# += '$(RS_CODEBRANCH)\tools\framework\cli\rorc\ResourceCompiler'
|
|
# }
|
|
#
|
|
#
|
|
# Action Settings.Linker.AdditionalLibraryDirectories {
|
|
# += '$(RAGE_DIR)\lib'
|
|
# += '$(RAGE_3RDPARTY)/cli/lua/lib/'
|
|
# += '$(RS_CODEBRANCH)\tools\base\devil'
|
|
# += '$(XEDK)/lib/win64/vs2008'
|
|
# += '$(RAGE_DIR)/3rdparty/basis/lib'
|
|
# [Config!='Debug'] += '$(RAGE_3RDPARTY)\cli\AMD\ATI_Compress\VS2012\Release\x64
|
|
# [Config=='Debug'] += '$(RAGE_3RDPARTY)\cli\AMD\ATI_Compress\VS2012\Debug\x64
|
|
# }
|
|
#
|
|
# Action Settings.Linker.AdditionalDependencies {
|
|
# += '$(XboxOneXDKLatest)/PC/lib/amd64/xg.lib'
|
|
# += '$(XboxOneXDKLatest)/xdk/lib/amd64/xg_x.lib'
|
|
# += '$(SCE_ORBIS_SDK_DIR)/host_tools/lib/libSceGpuAddress.lib'
|
|
# += '$(SCE_ORBIS_SDK_DIR)/host_tools/lib/libSceGnm.lib'
|
|
# += '$(SCE_ORBIS_SDK_DIR)/host_tools/lib/libSceShaderBinary.lib'
|
|
# += '"$(RAGE_DIR)/../sdk/prospero/host_tools/lib/libSceAgcGpuAddress.lib"'
|
|
# += 'AMD_Compress_MT.lib'
|
|
# += 'basis.lib'
|
|
# # RageAudio requires these libraries to link
|
|
# += 'mf.lib;mfplat.lib;mfplay.lib;mfreadwrite.lib;mfuuid.lib;propsys.lib'
|
|
# }
|
|
#
|
|
# Settings.Linker.AdditionalDependencies[Config=='Debug'] += 'crunch_debug.lib'
|
|
# Settings.Linker.AdditionalDependencies[Config!='Debug'] += 'crunch_release.lib'
|
|
|
|
#-------------------------------------------------------------------------------------------
|
|
# Build Events ( ExporterRules )
|
|
#-------------------------------------------------------------------------------------------
|
|
Settings.BuildEvents.PreLink.Description = 'Copying EXE and DLL into $(RS_TOOLSROOT)\bin\RageBuilderGen9\'
|
|
# Settings.BuildEvents.PreLink.Command << 'p4 edit "$(TargetDir)$(TargetName).*" "$(RS_TOOLSROOT)\bin\RageBuilderGen9\xg.dll" "$(RS_TOOLSROOT)\bin\RageBuilderGen9\libSceGpuAddress.dll" "$(RS_TOOLSROOT)\bin\RageBuilderGen9\libSceShaderBinary.dll" "$(RS_TOOLSROOT)\bin\RageBuilderGen9\libSceGnm.dll"'
|
|
Settings.BuildEvents.PreLink.Command << 'xcopy /D /Y /R "$(GXDKLatest)\bin\Scarlett\xg_xs.dll" "$(RS_TOOLSROOT)\bin\RageBuilderGen9\xg_xs.dll*" _NEWLINE_'
|
|
Settings.BuildEvents.PreLink.Command << 'xcopy /D /Y /R "$(GXDKLatest)\bin\Scarlett\XBTC.dll" "$(RS_TOOLSROOT)\bin\RageBuilderGen9\XBTC.dll*" _NEWLINE_'
|
|
Settings.BuildEvents.PreLink.Command << 'xcopy /D /Y /R "$(GXDKLatest)\bin\Scarlett\d3d12_xs.dll" "$(RS_TOOLSROOT)\bin\RageBuilderGen9\d3d12_xs.dll*" _NEWLINE_'
|
|
Settings.BuildEvents.PreLink.Command << 'xcopy /D /Y /R "$(GXDKLatest)\bin\Scarlett\xbsc_xs.dll" "$(RS_TOOLSROOT)\bin\RageBuilderGen9\xbsc_xs.dll*" _NEWLINE_'
|
|
Settings.BuildEvents.PreLink.Command << 'xcopy /D /Y /R "$(GXDKLatest)\bin\Scarlett\xdxrofflinebvh.dll" "$(RS_TOOLSROOT)\bin\RageBuilderGen9\xdxrofflinebvh.dll*" _NEWLINE_'
|
|
Settings.BuildEvents.PreLink.Command << 'xcopy /D /Y /R "$(GXDKLatest)\bin\Scarlett\xgs12_pc_xs.dll" "$(RS_TOOLSROOT)\bin\RageBuilderGen9\xgs12_pc_xs.dll*" _NEWLINE_'
|
|
|
|
Settings.BuildEvents.PreLink.Command << 'xcopy /D /Y /R "$(SCE_PROSPERO_SDK_DIR)\host_tools\bin\libSceAgcGpuAddress.dll" "$(RS_TOOLSROOT)\bin\RageBuilderGen9\libSceAgcGpuAddress.dll*" _NEWLINE_'
|
|
Settings.BuildEvents.PreLink.Command << 'xcopy /D /Y /R "$(SCE_PROSPERO_SDK_DIR)\host_tools\bin\libScePsr.dll" "$(RS_TOOLSROOT)\bin\RageBuilderGen9\libScePsr.dll*" _NEWLINE_'
|
|
}
|