mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-10 11:59:58 -05:00
Initial community commit
This commit is contained in:
71
Src/external_dependencies/openmpt-trunk/include/premake/tests/tools/test_clang.lua
vendored
Normal file
71
Src/external_dependencies/openmpt-trunk/include/premake/tests/tools/test_clang.lua
vendored
Normal file
@ -0,0 +1,71 @@
|
||||
--
|
||||
-- tests/test_clang.lua
|
||||
-- Automated test suite for the GCC toolset interface.
|
||||
-- Copyright (c) 2009-2013 Jason Perkins and the Premake project
|
||||
--
|
||||
|
||||
local p = premake
|
||||
local suite = test.declare("tools_clang")
|
||||
|
||||
local clang = p.tools.clang
|
||||
local project = p.project
|
||||
|
||||
|
||||
--
|
||||
-- Setup/teardown
|
||||
--
|
||||
|
||||
local wks, prj, cfg
|
||||
|
||||
function suite.setup()
|
||||
wks, prj = test.createWorkspace()
|
||||
system "Linux"
|
||||
end
|
||||
|
||||
local function prepare()
|
||||
cfg = test.getconfig(prj, "Debug")
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check Mac OS X deployment target flags
|
||||
--
|
||||
|
||||
function suite.cflags_macosx_systemversion()
|
||||
system "MacOSX"
|
||||
systemversion "10.9"
|
||||
prepare()
|
||||
test.contains({ "-mmacosx-version-min=10.9" }, clang.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cxxflags_macosx_systemversion()
|
||||
system "MacOSX"
|
||||
systemversion "10.9"
|
||||
prepare()
|
||||
test.contains({ "-mmacosx-version-min=10.9" }, clang.getcxxflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cxxflags_macosx_systemversion_unspecified()
|
||||
system "MacOSX"
|
||||
prepare()
|
||||
test.excludes({ "-mmacosx-version-min=10.9" }, clang.getcxxflags(cfg))
|
||||
end
|
||||
|
||||
--
|
||||
-- Check iOS deployment target flags
|
||||
--
|
||||
|
||||
function suite.cflags_ios_systemversion()
|
||||
system "iOS"
|
||||
systemversion "12.1"
|
||||
prepare()
|
||||
test.contains({ "-miphoneos-version-min=12.1" }, clang.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cxxflags_ios_systemversion()
|
||||
system "iOS"
|
||||
systemversion "5.0"
|
||||
prepare()
|
||||
test.contains({ "-miphoneos-version-min=5.0" }, clang.getcxxflags(cfg))
|
||||
end
|
||||
|
57
Src/external_dependencies/openmpt-trunk/include/premake/tests/tools/test_dotnet.lua
vendored
Normal file
57
Src/external_dependencies/openmpt-trunk/include/premake/tests/tools/test_dotnet.lua
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
--
|
||||
-- tests/tools/test_dotnet.lua
|
||||
-- Automated test suite for the .NET toolset interface.
|
||||
-- Copyright (c) 2012-2013 Jason Perkins and the Premake project
|
||||
--
|
||||
|
||||
local p = premake
|
||||
local suite = test.declare("tools_dotnet")
|
||||
local dotnet = p.tools.dotnet
|
||||
|
||||
|
||||
--
|
||||
-- Setup/teardown
|
||||
--
|
||||
|
||||
local wks, prj, cfg
|
||||
|
||||
function suite.setup()
|
||||
wks, prj = test.createWorkspace()
|
||||
end
|
||||
|
||||
local function prepare()
|
||||
cfg = test.getconfig(prj, "Debug")
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- On Windows, use Microsoft's CSC compiler by default.
|
||||
--
|
||||
|
||||
function suite.defaultCompiler_onWindows()
|
||||
_TARGET_OS = "windows"
|
||||
prepare()
|
||||
test.isequal("csc", dotnet.gettoolname(cfg, "csc"))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Everywhere other than Windows, use Mono by default.
|
||||
--
|
||||
|
||||
function suite.defaultCompiler_onMacOSX()
|
||||
_TARGET_OS = "macosx"
|
||||
prepare()
|
||||
test.isequal("csc", dotnet.gettoolname(cfg, "csc"))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check support for the `csversion` API
|
||||
--
|
||||
|
||||
function suite.flags_csversion()
|
||||
prepare()
|
||||
csversion "7.2"
|
||||
test.contains({ "/langversion:7.2" }, dotnet.getflags(cfg))
|
||||
end
|
1032
Src/external_dependencies/openmpt-trunk/include/premake/tests/tools/test_gcc.lua
vendored
Normal file
1032
Src/external_dependencies/openmpt-trunk/include/premake/tests/tools/test_gcc.lua
vendored
Normal file
File diff suppressed because it is too large
Load Diff
580
Src/external_dependencies/openmpt-trunk/include/premake/tests/tools/test_msc.lua
vendored
Normal file
580
Src/external_dependencies/openmpt-trunk/include/premake/tests/tools/test_msc.lua
vendored
Normal file
@ -0,0 +1,580 @@
|
||||
--
|
||||
-- tests/test_msc.lua
|
||||
-- Automated test suite for the Microsoft C toolset interface.
|
||||
-- Copyright (c) 2012-2013 Jason Perkins and the Premake project
|
||||
--
|
||||
|
||||
local p = premake
|
||||
local suite = test.declare("tools_msc")
|
||||
|
||||
local msc = p.tools.msc
|
||||
|
||||
|
||||
--
|
||||
-- Setup/teardown
|
||||
--
|
||||
|
||||
local wks, prj, cfg
|
||||
|
||||
function suite.setup()
|
||||
wks, prj = test.createWorkspace()
|
||||
kind "SharedLib"
|
||||
end
|
||||
|
||||
local function prepare()
|
||||
cfg = test.getconfig(prj, "Debug")
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check the optimization flags.
|
||||
--
|
||||
|
||||
function suite.cflags_onNoOptimize()
|
||||
optimize "Off"
|
||||
prepare()
|
||||
test.contains("/Od", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onOptimize()
|
||||
optimize "On"
|
||||
prepare()
|
||||
test.contains("/Ot", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onOptimizeSize()
|
||||
optimize "Size"
|
||||
prepare()
|
||||
test.contains("/O1", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onOptimizeSpeed()
|
||||
optimize "Speed"
|
||||
prepare()
|
||||
test.contains("/O2", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onOptimizeFull()
|
||||
optimize "Full"
|
||||
prepare()
|
||||
test.contains("/Ox", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onOptimizeDebug()
|
||||
optimize "Debug"
|
||||
prepare()
|
||||
test.contains("/Od", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onNoFramePointers()
|
||||
flags "NoFramePointer"
|
||||
prepare()
|
||||
test.contains("/Oy", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onOmitFramePointer()
|
||||
omitframepointer "On"
|
||||
prepare()
|
||||
test.contains("/Oy", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onNoOmitFramePointers()
|
||||
omitframepointer "Off"
|
||||
prepare()
|
||||
test.excludes("/Oy", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onLinkTimeOptimizations()
|
||||
flags "LinkTimeOptimization"
|
||||
prepare()
|
||||
test.contains("/GL", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.ldflags_onLinkTimeOptimizations()
|
||||
flags "LinkTimeOptimization"
|
||||
prepare()
|
||||
test.contains("/LTCG", msc.getldflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onStringPoolingOn()
|
||||
stringpooling "On"
|
||||
prepare()
|
||||
test.contains("/GF", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onStringPoolingOff()
|
||||
stringpooling "Off"
|
||||
prepare()
|
||||
test.contains("/GF-", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onStringPoolingNotSpecified()
|
||||
prepare()
|
||||
test.excludes("/GF", msc.getcflags(cfg))
|
||||
test.excludes("/GF-", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onFloatingPointExceptionsOn()
|
||||
floatingpointexceptions "On"
|
||||
prepare()
|
||||
test.contains("/fp:except", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onFloatingPointExceptionsOff()
|
||||
floatingpointexceptions "Off"
|
||||
prepare()
|
||||
test.contains("/fp:except-", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onFloatingPointExceptionsNotSpecified()
|
||||
prepare()
|
||||
test.excludes("/fp:except", msc.getcflags(cfg))
|
||||
test.excludes("/fp:except-", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onFunctionLevelLinkingOn()
|
||||
functionlevellinking "On"
|
||||
prepare()
|
||||
test.contains("/Gy", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onFunctionLevelLinkingOff()
|
||||
functionlevellinking "Off"
|
||||
prepare()
|
||||
test.contains("/Gy-", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onFunctionLevelLinkingNotSpecified()
|
||||
prepare()
|
||||
test.excludes("/Gy", msc.getcflags(cfg))
|
||||
test.excludes("/Gy-", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onIntrinsicsOn()
|
||||
intrinsics "On"
|
||||
prepare()
|
||||
test.contains("/Oi", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
--
|
||||
-- Check the translation of symbols.
|
||||
--
|
||||
|
||||
function suite.cflags_onDefaultSymbols()
|
||||
prepare()
|
||||
test.excludes({ "/Z7" }, msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onNoSymbols()
|
||||
symbols "Off"
|
||||
prepare()
|
||||
test.excludes({ "/Z7" }, msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onSymbols()
|
||||
symbols "On"
|
||||
prepare()
|
||||
test.contains({ "/Z7" }, msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check the translation of unsignedchar.
|
||||
--
|
||||
|
||||
function suite.sharedflags_onUnsignedCharOn()
|
||||
unsignedchar "On"
|
||||
prepare()
|
||||
test.contains({ "/J" }, msc.getcflags(cfg))
|
||||
test.contains({ "/J" }, msc.getcxxflags(cfg))
|
||||
end
|
||||
|
||||
function suite.sharedflags_onUnsignedCharOff()
|
||||
unsignedchar "Off"
|
||||
prepare()
|
||||
test.excludes({ "/J" }, msc.getcflags(cfg))
|
||||
test.excludes({ "/J" }, msc.getcxxflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check handling of debugging support.
|
||||
--
|
||||
|
||||
function suite.ldflags_onSymbols()
|
||||
symbols "On"
|
||||
prepare()
|
||||
test.contains("/DEBUG", msc.getldflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check handling warnings and errors.
|
||||
--
|
||||
|
||||
function suite.cflags_OnNoWarnings()
|
||||
warnings "Off"
|
||||
prepare()
|
||||
test.contains("/W0", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_OnHighWarnings()
|
||||
warnings "High"
|
||||
prepare()
|
||||
test.contains("/W4", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_OnExtraWarnings()
|
||||
warnings "Extra"
|
||||
prepare()
|
||||
test.contains("/W4", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_OnEverythingWarnings()
|
||||
warnings "Everything"
|
||||
prepare()
|
||||
test.contains("/Wall", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_OnFatalWarnings()
|
||||
flags "FatalWarnings"
|
||||
prepare()
|
||||
test.contains("/WX", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onSpecificWarnings()
|
||||
enablewarnings { "enable" }
|
||||
disablewarnings { "disable" }
|
||||
fatalwarnings { "fatal" }
|
||||
prepare()
|
||||
test.contains({ '/w1"enable"', '/wd"disable"', '/we"fatal"' }, msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.ldflags_OnFatalWarnings()
|
||||
flags "FatalWarnings"
|
||||
prepare()
|
||||
test.contains("/WX", msc.getldflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check handling of library search paths.
|
||||
--
|
||||
|
||||
function suite.libdirs_onLibdirs()
|
||||
libdirs { "../libs" }
|
||||
prepare()
|
||||
test.contains('/LIBPATH:"../libs"', msc.getLibraryDirectories(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check handling of forced includes.
|
||||
--
|
||||
|
||||
function suite.forcedIncludeFiles()
|
||||
forceincludes { "include/sys.h" }
|
||||
prepare()
|
||||
test.contains('/FIinclude/sys.h', msc.getforceincludes(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check handling of floating point modifiers.
|
||||
--
|
||||
|
||||
function suite.cflags_onFloatingPointFast()
|
||||
floatingpoint "Fast"
|
||||
prepare()
|
||||
test.contains("/fp:fast", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onFloatingPointStrict()
|
||||
floatingpoint "Strict"
|
||||
prepare()
|
||||
test.contains("/fp:strict", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onSSE()
|
||||
vectorextensions "SSE"
|
||||
prepare()
|
||||
test.contains("/arch:SSE", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onSSE2()
|
||||
vectorextensions "SSE2"
|
||||
prepare()
|
||||
test.contains("/arch:SSE2", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onSSE4_2()
|
||||
vectorextensions "SSE4.2"
|
||||
prepare()
|
||||
test.contains("/arch:SSE2", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
function suite.cflags_onAVX()
|
||||
vectorextensions "AVX"
|
||||
prepare()
|
||||
test.contains("/arch:AVX", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onAVX2()
|
||||
vectorextensions "AVX2"
|
||||
prepare()
|
||||
test.contains("/arch:AVX2", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check the defines and undefines.
|
||||
--
|
||||
|
||||
function suite.defines()
|
||||
defines "DEF"
|
||||
prepare()
|
||||
test.contains({ '/D"DEF"' }, msc.getdefines(cfg.defines, cfg))
|
||||
end
|
||||
|
||||
function suite.undefines()
|
||||
undefines "UNDEF"
|
||||
prepare()
|
||||
test.contains({ '/U"UNDEF"' }, msc.getundefines(cfg.undefines))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check compilation options.
|
||||
--
|
||||
|
||||
function suite.cflags_onNoMinimalRebuild()
|
||||
flags "NoMinimalRebuild"
|
||||
prepare()
|
||||
test.contains("/Gm-", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onMultiProcessorCompile()
|
||||
flags "MultiProcessorCompile"
|
||||
prepare()
|
||||
test.contains("/MP", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check handling of C++ language features.
|
||||
--
|
||||
|
||||
function suite.cxxflags_onExceptions()
|
||||
exceptionhandling "on"
|
||||
prepare()
|
||||
test.contains("/EHsc", msc.getcxxflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cxxflags_onSEH()
|
||||
exceptionhandling "SEH"
|
||||
prepare()
|
||||
test.contains("/EHa", msc.getcxxflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cxxflags_onNoExceptions()
|
||||
exceptionhandling "Off"
|
||||
prepare()
|
||||
test.missing("/EHsc", msc.getcxxflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cxxflags_onNoRTTI()
|
||||
rtti "Off"
|
||||
prepare()
|
||||
test.contains("/GR-", msc.getcxxflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check handling of additional linker options.
|
||||
--
|
||||
|
||||
function suite.ldflags_onOmitDefaultLibrary()
|
||||
flags "OmitDefaultLibrary"
|
||||
prepare()
|
||||
test.contains("/NODEFAULTLIB", msc.getldflags(cfg))
|
||||
end
|
||||
|
||||
function suite.ldflags_onNoIncrementalLink()
|
||||
flags "NoIncrementalLink"
|
||||
prepare()
|
||||
test.contains("/INCREMENTAL:NO", msc.getldflags(cfg))
|
||||
end
|
||||
|
||||
function suite.ldflags_onNoManifest()
|
||||
flags "NoManifest"
|
||||
prepare()
|
||||
test.contains("/MANIFEST:NO", msc.getldflags(cfg))
|
||||
end
|
||||
|
||||
function suite.ldflags_onDLL()
|
||||
kind "SharedLib"
|
||||
prepare()
|
||||
test.contains("/DLL", msc.getldflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Check handling of CLR settings.
|
||||
--
|
||||
|
||||
function suite.cflags_onClrOn()
|
||||
clr "On"
|
||||
prepare()
|
||||
test.contains("/clr", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onClrUnsafe()
|
||||
clr "Unsafe"
|
||||
prepare()
|
||||
test.contains("/clr", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onClrSafe()
|
||||
clr "Safe"
|
||||
prepare()
|
||||
test.contains("/clr:safe", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onClrPure()
|
||||
clr "Pure"
|
||||
prepare()
|
||||
test.contains("/clr:pure", msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check handling of character set switches
|
||||
--
|
||||
|
||||
function suite.cflags_onCharSetDefault()
|
||||
prepare()
|
||||
test.contains('/D"_UNICODE"', msc.getdefines(cfg.defines, cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onCharSetUnicode()
|
||||
characterset "Unicode"
|
||||
prepare()
|
||||
test.contains('/D"_UNICODE"', msc.getdefines(cfg.defines, cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onCharSetMBCS()
|
||||
characterset "MBCS"
|
||||
prepare()
|
||||
test.contains('/D"_MBCS"', msc.getdefines(cfg.defines, cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onCharSetASCII()
|
||||
characterset "ASCII"
|
||||
prepare()
|
||||
test.excludes({'/D"_MBCS"', '/D"_UNICODE"'}, msc.getdefines(cfg.defines, cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check handling of system search paths.
|
||||
--
|
||||
|
||||
function suite.includeDirs_onSysIncludeDirs()
|
||||
sysincludedirs { "/usr/local/include" }
|
||||
prepare()
|
||||
test.contains("-I/usr/local/include", msc.getincludedirs(cfg, cfg.includedirs, cfg.sysincludedirs))
|
||||
end
|
||||
|
||||
function suite.libDirs_onSysLibDirs()
|
||||
syslibdirs { "/usr/local/lib" }
|
||||
prepare()
|
||||
test.contains('/LIBPATH:"/usr/local/lib"', msc.getLibraryDirectories(cfg))
|
||||
end
|
||||
|
||||
--
|
||||
-- Check handling of ignore default libraries
|
||||
--
|
||||
|
||||
function suite.ignoreDefaultLibraries_WithExtensions()
|
||||
ignoredefaultlibraries { "lib1.lib" }
|
||||
prepare()
|
||||
test.contains('/NODEFAULTLIB:lib1.lib', msc.getldflags(cfg))
|
||||
end
|
||||
|
||||
function suite.ignoreDefaultLibraries_WithoutExtensions()
|
||||
ignoredefaultlibraries { "lib1" }
|
||||
prepare()
|
||||
test.contains('/NODEFAULTLIB:lib1.lib', msc.getldflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check handling of shared C/C++ flags.
|
||||
--
|
||||
|
||||
function suite.mixedToolFlags_onCFlags()
|
||||
flags { "FatalCompileWarnings" }
|
||||
prepare()
|
||||
test.isequal({ "/WX", "/MD" }, msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.mixedToolFlags_onCxxFlags()
|
||||
flags { "FatalCompileWarnings" }
|
||||
prepare()
|
||||
test.isequal({ "/WX", "/MD", "/EHsc" }, msc.getcxxflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check handling of Run-Time Library flags.
|
||||
--
|
||||
|
||||
function suite.cflags_onStaticRuntime()
|
||||
staticruntime "On"
|
||||
prepare()
|
||||
test.isequal({ "/MT" }, msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onDynamicRuntime()
|
||||
staticruntime "Off"
|
||||
prepare()
|
||||
test.isequal({ "/MD" }, msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onStaticRuntimeAndDebug()
|
||||
staticruntime "On"
|
||||
runtime "Debug"
|
||||
prepare()
|
||||
test.isequal({ "/MTd" }, msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onDynamicRuntimeAndDebug()
|
||||
staticruntime "Off"
|
||||
runtime "Debug"
|
||||
prepare()
|
||||
test.isequal({ "/MDd" }, msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onStaticRuntimeAndSymbols()
|
||||
staticruntime "On"
|
||||
symbols "On"
|
||||
prepare()
|
||||
test.isequal({ "/MTd", "/Z7" }, msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onDynamicRuntimeAndSymbols()
|
||||
staticruntime "Off"
|
||||
symbols "On"
|
||||
prepare()
|
||||
test.isequal({ "/MDd", "/Z7" }, msc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onDynamicRuntimeAndReleaseAndSymbols()
|
||||
staticruntime "Off"
|
||||
runtime "Release"
|
||||
symbols "On"
|
||||
prepare()
|
||||
test.isequal({ "/MD", "/Z7" }, msc.getcflags(cfg))
|
||||
end
|
182
Src/external_dependencies/openmpt-trunk/include/premake/tests/tools/test_snc.lua
vendored
Normal file
182
Src/external_dependencies/openmpt-trunk/include/premake/tests/tools/test_snc.lua
vendored
Normal file
@ -0,0 +1,182 @@
|
||||
--
|
||||
-- tests/test_snc.lua
|
||||
-- Automated test suite for the SNC toolset interface.
|
||||
-- Copyright (c) 2012-2013 Jason Perkins and the Premake project
|
||||
--
|
||||
|
||||
local p = premake
|
||||
local suite = test.declare("tools_snc")
|
||||
|
||||
local snc = p.tools.snc
|
||||
|
||||
|
||||
--
|
||||
-- Setup/teardown
|
||||
--
|
||||
|
||||
local wks, prj, cfg
|
||||
|
||||
function suite.setup()
|
||||
wks, prj = test.createWorkspace()
|
||||
system "PS3"
|
||||
end
|
||||
|
||||
local function prepare()
|
||||
cfg = test.getconfig(prj, "Debug")
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check the selection of tools based on the target system.
|
||||
--
|
||||
|
||||
function suite.tools_onDefaults()
|
||||
prepare()
|
||||
test.isnil(snc.gettoolname(cfg, "cc"))
|
||||
test.isnil(snc.gettoolname(cfg, "cxx"))
|
||||
test.isnil(snc.gettoolname(cfg, "ar"))
|
||||
end
|
||||
|
||||
function suite.tools_onPS3()
|
||||
system "PS3"
|
||||
prepare()
|
||||
test.isnil(snc.gettoolname(cfg, "cc"))
|
||||
test.isnil(snc.gettoolname(cfg, "cxx"))
|
||||
test.isnil(snc.gettoolname(cfg, "ar"))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- By default, the -MMD -MP are used to generate dependencies.
|
||||
--
|
||||
|
||||
function suite.cppflags_defaultWithMMD()
|
||||
prepare()
|
||||
test.isequal({ "-MMD", "-MP" }, snc.getcppflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check the translation of CFLAGS.
|
||||
--
|
||||
|
||||
function suite.cflags_onFatalWarnings()
|
||||
flags { "FatalWarnings" }
|
||||
prepare()
|
||||
test.isequal({ "-Xquit=2" }, snc.getcflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check the optimization flags.
|
||||
--
|
||||
|
||||
function suite.cflags_onNoOptimize()
|
||||
optimize "Off"
|
||||
prepare()
|
||||
test.isequal({ "-O0" }, snc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onOptimize()
|
||||
optimize "On"
|
||||
prepare()
|
||||
test.isequal({ "-O1" }, snc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onOptimizeSize()
|
||||
optimize "Size"
|
||||
prepare()
|
||||
test.isequal({ "-Os" }, snc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onOptimizeSpeed()
|
||||
optimize "Speed"
|
||||
prepare()
|
||||
test.isequal({ "-O2" }, snc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onOptimizeFull()
|
||||
optimize "Full"
|
||||
prepare()
|
||||
test.isequal({ "-O3" }, snc.getcflags(cfg))
|
||||
end
|
||||
|
||||
function suite.cflags_onOptimizeDebug()
|
||||
optimize "Debug"
|
||||
prepare()
|
||||
test.isequal({ "-Od" }, snc.getcflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Turn on exceptions and RTTI by default, to match the other Premake supported toolsets.
|
||||
--
|
||||
|
||||
function suite.cxxflags_onDefault()
|
||||
prepare()
|
||||
test.isequal({ "-Xc+=exceptions", "-Xc+=rtti" }, snc.getcxxflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check the translation of LDFLAGS.
|
||||
--
|
||||
|
||||
function suite.cflags_onDefaults()
|
||||
prepare()
|
||||
test.isequal({ "-s" }, snc.getldflags(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check the formatting of linked libraries.
|
||||
--
|
||||
|
||||
function suite.links_onSystemLibs()
|
||||
links { "fs_stub", "net_stub" }
|
||||
prepare()
|
||||
test.isequal({ "-lfs_stub", "-lnet_stub" }, snc.getlinks(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- When linking to a static sibling library, the relative path to the library
|
||||
-- should be used instead of the "-l" flag. This prevents linking against a
|
||||
-- shared library of the same name, should one be present.
|
||||
--
|
||||
|
||||
function suite.links_onStaticSiblingLibrary()
|
||||
links { "MyProject2" }
|
||||
|
||||
test.createproject(wks)
|
||||
system "Linux"
|
||||
kind "StaticLib"
|
||||
location "MyProject2"
|
||||
targetdir "lib"
|
||||
|
||||
prepare()
|
||||
test.isequal({ "lib/libMyProject2.a" }, snc.getlinks(cfg))
|
||||
end
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- When linking object files, leave off the "-l".
|
||||
--
|
||||
|
||||
function suite.links_onObjectFile()
|
||||
links { "generated.o" }
|
||||
prepare()
|
||||
test.isequal({ "generated.o" }, snc.getlinks(cfg))
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Check handling of forced includes.
|
||||
--
|
||||
|
||||
function suite.forcedIncludeFiles()
|
||||
forceincludes { "stdafx.h", "include/sys.h" }
|
||||
prepare()
|
||||
test.isequal({'-include stdafx.h', '-include include/sys.h'}, snc.getforceincludes(cfg))
|
||||
end
|
Reference in New Issue
Block a user