xref: /petsc/config/BuildSystem/config/packages/ColPack.py (revision cb497662fae1ebe98e095979598fa3ebb2f149fa)
1import config.package
2
3class Configure(config.package.CMakePackage):
4  def __init__(self, framework):
5    config.package.CMakePackage.__init__(self, framework)
6    self.gitcommit     = '043e3cd'
7    self.download      = ['git://https://github.com/caidao22/ColPack.git']
8    self.includes      = ['ColPack/ColPackHeaders.h']
9    self.liblist       = [['libColPack.a']]
10    self.functionsCxx  = [1,'void current_time();','current_time()']
11    self.requirescxx11 = 1
12    self.cxx           = 1
13    self.precisions    = ['double']
14    self.complex       = 0
15    self.cmakelistsdir = 'build/cmake'
16    return
17
18  def setupDependencies(self, framework):
19    config.package.CMakePackage.setupDependencies(self, framework)
20    self.openmp = framework.require('config.packages.openmp',self)
21    self.odeps = [self.openmp]
22    return
23
24  def formCMakeConfigureArgs(self):
25    import os
26    if self.versionToTuple(self.cmake.foundversion) < (3,4,0): raise RuntimeError("Requires cmake version 3.4 or higher: use --download-cmake")
27    args = config.package.CMakePackage.formCMakeConfigureArgs(self)
28    # args.append('--enable-examples=no')  #  this option doesn't work to prevent processing examples
29    if self.openmp.found:
30      args.append('-DENABLE_OPENMP=ON')
31    else:
32      args.append('-DENABLE_OPENMP=OFF')
33    args.append('-DCMAKE_INSTALL_LIBDIR:STRING="lib"')
34    return args
35