summaryrefslogtreecommitdiff
path: root/acprep
diff options
context:
space:
mode:
Diffstat (limited to 'acprep')
-rwxr-xr-xacprep63
1 files changed, 25 insertions, 38 deletions
diff --git a/acprep b/acprep
index 1c05596f..26f8d8b2 100755
--- a/acprep
+++ b/acprep
@@ -300,6 +300,9 @@ class PrepareBuild(CommandLineApp):
action="store", dest="compiler",
help='Use the Clang C++ compiler')
+ op.add_option('-N', '--ninja', action='store_true', dest='use_ninja',
+ default=False,
+ help='Use ninja to build, rather than make')
op.add_option('', '--no-git', action='store_true', dest='no_git',
default=False,
help='Do not call out to Git; useful for offline builds')
@@ -658,20 +661,9 @@ class PrepareBuild(CommandLineApp):
def setup_for_johnw(self):
self.configure_args.append('-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON')
- self.configure_args.append('-DBoost_USE_MULTITHREADED:BOOL=OFF')
if not self.options.compiler:
- self.configure_args.append('-DCMAKE_CXX_COMPILER:PATH=/usr/local/stow/clang-3.1/bin/clang++')
-
- self.CXXFLAGS.append('-Qunused-arguments')
- self.CXXFLAGS.append('-nostdlibinc')
- self.CXXFLAGS.append('-isystem')
- self.CXXFLAGS.append('/usr/local/include/c++/v1')
- self.CXXFLAGS.append('-isystem')
- self.CXXFLAGS.append('/usr/include')
- self.CXXFLAGS.append('-stdlib=libc++')
- self.CXXFLAGS.append('-Wl,/usr/local/lib/libc++.dylib')
- self.CXXFLAGS.append('-Wno-disabled-macro-expansion')
+ self.configure_args.append('-DCMAKE_CXX_COMPILER:PATH=/usr/local/bin/clang++')
if self.current_flavor == 'opt':
self.configure_args.append('-DCMAKE_CXX_FLAGS_RELEASE:STRING=-O4')
@@ -680,31 +672,13 @@ class PrepareBuild(CommandLineApp):
# self.CXXFLAGS.append('-g -O1 -faddress-sanitizer')
# self.LDFLAGS.append('-g -O1 -faddress-sanitizer')
- self.configure_args.append('-DCMAKE_INCLUDE_PATH:STRING=/usr/local/include;/opt/local/include')
- self.configure_args.append('-DCMAKE_LIBRARY_PATH:STRING=/usr/local/lib;/opt/local/lib')
-
- self.configure_args.append('-DBOOST_ROOT=/usr/local')
- self.configure_args.append('-DBOOST_INCLUDEDIR=/usr/local/include/boost-1_50')
- self.configure_args.append('-DBoost_COMPILER=-clang-darwin')
-
- self.configure_args.append(self.source_dir)
-
- elif self.options.compiler == "icc":
- self.configure_args.append('-DCMAKE_AR:PATH=/opt/intel/bin/xiar')
- self.configure_args.append('-DCMAKE_CXX_COMPILER:PATH=/opt/intel/bin/icc')
- if self.current_flavor == 'opt':
- self.configure_args.append('-DCMAKE_CXX_FLAGS:STRING=-fast')
- self.configure_args.append('-DCMAKE_CXX_LINK_FLAGS:STRING=-fast')
- self.configure_args.append('-DCMAKE_INCLUDE_PATH:STRING=/opt/local/include')
- self.configure_args.append('-DCMAKE_LIBRARY_PATH:STRING=/opt/local/lib')
- self.configure_args.append('-DBOOST_ROOT=/opt/local')
self.configure_args.append(self.source_dir)
else:
self.configure_args.append('-DCMAKE_CXX_COMPILER:PATH=' + self.options.compiler)
- self.configure_args.append('-DCMAKE_INCLUDE_PATH:STRING=/opt/local/include')
- self.configure_args.append('-DCMAKE_LIBRARY_PATH:STRING=/opt/local/lib')
- self.configure_args.append('-DBOOST_ROOT=/opt/local')
+ self.configure_args.append('-DCMAKE_INCLUDE_PATH:STRING=/usr/local/include')
+ self.configure_args.append('-DCMAKE_LIBRARY_PATH:STRING=/usr/local/lib')
+ self.configure_args.append('-DBOOST_ROOT=/usr/local')
self.configure_args.append(self.source_dir)
def setup_for_system(self):
@@ -718,6 +692,9 @@ class PrepareBuild(CommandLineApp):
if self.options.no_python:
self.configure_args.remove('-DUSE_PYTHON=1')
+ if self.options.use_ninja:
+ self.configure_args.append('-GNinja')
+
if exists('/Users/johnw/Projects/ledger/plan/TODO'):
self.setup_for_johnw()
@@ -847,7 +824,7 @@ class PrepareBuild(CommandLineApp):
self.options.boost_include)
if self.prefix_directory():
- conf_args.append('-DCMAKE_PREFIX_PATH=%s' % self.prefix_directory())
+ conf_args.append('-DCMAKE_INSTALL_PREFIX=%s' % self.prefix_directory())
return (environ, conf_args + self.configure_args)
@@ -910,7 +887,6 @@ class PrepareBuild(CommandLineApp):
if self.options.jobs > 1 and self.current_flavor != 'gcov':
make_args.append('-j%d' % self.options.jobs)
- make_args.append('ARGS=-j%d' % self.options.jobs)
if self.options.verbose:
make_args.append('VERBOSE=1')
@@ -926,18 +902,29 @@ class PrepareBuild(CommandLineApp):
self.log.debug('Changing directory to ' + build_dir)
os.chdir(build_dir)
- self.execute(*(['make'] + make_args))
+ self.execute(*(['ninja' if self.options.use_ninja else 'make'] +
+ make_args))
finally:
os.chdir(self.source_dir)
def phase_check(self, *args):
self.log.info('Executing phase: update')
- self.phase_make(*(['check'] + list(args)))
+ build_dir = self.ensure(self.build_directory())
+ try:
+ self.log.debug('Changing directory to ' + build_dir)
+ os.chdir(build_dir)
+
+ make_args = list(args)
+ if self.options.jobs > 1:
+ make_args.append('-j%d' % self.options.jobs)
+
+ self.execute(*(['ctest'] + list(make_args)))
+ finally:
+ os.chdir(self.source_dir)
def phase_update(self, *args):
self.log.info('Executing phase: update')
self.phase_pull()
- #self.phase_check(*args)
self.phase_make(*args)
#########################################################################