nimterop/tests/tsoloud.nim
Ganesh Viswanathan 2853bef8b6 Fix test on Windows
2019-01-23 20:58:56 -06:00

53 lines
No EOL
1.1 KiB
Nim

import os, nimterop/[cimport, git]
const
incl = "soloud/include"
src = "soloud/src"
gitPull("https://github.com/jarikomppa/soloud", "soloud", "include/*\nsrc/*\n")
cDebug()
cDisableCaching()
cOverride:
type
Soloud* = pointer
AlignedFloatBuffer* = pointer
proc Soloud_destroy*(aSoloud: ptr Soloud) {.importc: "Soloud_destroy", header: cSearchPath(incl/"soloud_c.h").}
cSkipSymbol("WavStream_stop", "WavStream_setFilter")
cIncludeDir(incl)
when defined(Linux):
{.passL: "-lpthread".}
cDefine("WITH_OSS")
cCompile(src/"backend/oss/*.cpp")
when defined(Windows):
{.passC: "-msse".}
{.passL: "-lwinmm".}
cDefine("WITH_WINMM")
cCompile(src/"backend/winmm/*.cpp")
cCompile(src/"c_api/soloud_c.cpp")
cCompile(src/"core/*.cpp")
cCompile(src/"audiosource", "cpp")
cCompile(src/"audiosource", "c")
cCompile(src/"filter/*.cpp")
cImport(incl/"soloud_c.h")
var
s = Soloud_create()
echo s.Soloud_init()
s.Soloud_destroy()
when declared(WavStream_stop):
assert "WavStream_stop() not skipped"
when declared(WavStream_setFilter):
assert "WavStream_setFilter not skipped"