import Options, Utils
import os, shutil, platform
from os.path import exists, abspath
from subprocess import Popen
# Ensure version is updated with each new release.
VERSION = '0.0.6'
# These constants shouldn't change, probably.
APPNAME = 'nodegit'
srcdir = '.'
blddir = 'build'
def set_options(opt):
opt.tool_options('gcc')
opt.tool_options('compiler_cxx')
def configure(conf):
import preproc
preproc.go_absolute = True
conf.check_tool('gcc')
conf.check_tool('compiler_cxx')
conf.check_tool('node_addon')
# Build libgit2, create necessary folders
os.mkdir('vendor/libgit2/build')
os.chdir('vendor/libgit2/build')
Popen('cmake -DBUILD_TESTS=OFF -DTHREADSAFE=ON .. ', shell=True).wait()
conf.env.append_value('LIBPATH_GIT2', abspath('.'))
conf.env.append_value('LIB_GIT2', 'git2')
def build(bld):
try: os.chdir('vendor/libgit2/build')
except: pass
Popen('cmake --build .', shell=True).wait()
os.chdir('../../')
main = bld.new_task_gen('cxx', 'shlib', 'node_addon')
main.target = 'nodegit'
main.source = '''
src/base.cc
src/sig.cc
src/blob.cc
src/error.cc
src/object.cc
src/reference.cc
src/repo.cc
src/commit.cc
src/oid.cc
src/revwalk.cc
src/tree.cc
src/tree_entry.cc
'''
main.includes = './vendor/libgit2/include'
main.rpath = '$ORIGIN/../../vendor/libgit2/build'
main.uselib = 'GIT2'