lean4-htt/examples/ffi/package.lean
tydeu 5b37f1c5c5 feat: split moduleRoot into libRoots and libGlobs
Reason: provide finer grain control over library modules
2021-09-23 21:04:29 -04:00

29 lines
723 B
Text

import Lake.Package
import Lake.BuildTargets
open Lake System
def cDir : FilePath := "c"
def addSrc := cDir / "add.cpp"
def buildDir := defaultBuildDir
def addO := buildDir / cDir / "add.o"
def cLib := buildDir / cDir / "libadd.a"
def addOTarget (pkgDir : FilePath) : FileTarget :=
oFileTarget (pkgDir / addO) (pkgDir / addSrc : FilePath)
def cLibTarget (pkgDir : FilePath) : FileTarget :=
staticLibTarget (pkgDir / cLib) #[addOTarget pkgDir]
def package : Packager := fun pkgDir args => {
name := "ffi"
version := "0.1"
-- customize layout
srcDir := "lib"
libRoots := #[`Add]
binName := "add"
binRoot := `Main
-- specify the lib as an additional target
moreLibTargets := #[cLibTarget pkgDir]
}