2019-01-01 14:04:23 +08:00
|
|
|
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
2018-10-08 04:52:23 +08:00
|
|
|
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
2017-08-11 07:08:32 +08:00
|
|
|
#
|
2018-10-08 04:52:23 +08:00
|
|
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
2017-08-11 07:08:32 +08:00
|
|
|
|
|
|
|
from spack import *
|
2018-08-18 06:58:08 +08:00
|
|
|
import os
|
2017-08-11 07:08:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
class CbtfArgonavisGui(QMakePackage):
|
|
|
|
"""CBTF Argo Navis GUI project contains the GUI that views OpenSpeedShop
|
|
|
|
performance information by loading in the Sqlite database files.
|
|
|
|
"""
|
|
|
|
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
|
2018-07-23 15:00:15 +08:00
|
|
|
git = "https://github.com/OpenSpeedShop/cbtf-argonavis-gui.git"
|
2017-08-11 07:08:32 +08:00
|
|
|
|
2018-07-23 15:00:15 +08:00
|
|
|
version('develop', branch='master')
|
|
|
|
version('1.3.0.0', branch='1.3.0.0')
|
2018-05-18 03:04:33 +08:00
|
|
|
|
2018-06-17 22:49:27 +08:00
|
|
|
depends_on("cmake@3.0.2:", type='build')
|
2018-05-18 03:04:33 +08:00
|
|
|
|
2019-05-17 09:19:55 +08:00
|
|
|
depends_on('qt@5.10.0:')
|
2018-05-18 03:04:33 +08:00
|
|
|
|
2019-05-17 09:19:55 +08:00
|
|
|
depends_on("boost@1.66.0:1.69.0")
|
2018-05-18 03:04:33 +08:00
|
|
|
|
|
|
|
# For MRNet
|
|
|
|
depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop')
|
2018-06-17 22:49:27 +08:00
|
|
|
depends_on("mrnet@5.0.1-3+lwthreads", when='@1.3.0.0:9999')
|
2018-05-18 03:04:33 +08:00
|
|
|
|
|
|
|
# Dependencies for the openspeedshop cbtf packages.
|
|
|
|
depends_on("cbtf@develop", when='@develop')
|
2018-06-17 22:49:27 +08:00
|
|
|
depends_on("cbtf@1.9.1.0:9999", when='@1.3.0.0:9999')
|
2018-05-18 03:04:33 +08:00
|
|
|
|
|
|
|
depends_on("cbtf-krell@develop", when='@develop')
|
2018-06-17 22:49:27 +08:00
|
|
|
depends_on("cbtf-krell@1.9.1.0:9999", when='@1.3.0.0:9999')
|
2018-05-18 03:04:33 +08:00
|
|
|
|
|
|
|
depends_on("cbtf-argonavis@develop", when='@develop')
|
2018-06-17 22:49:27 +08:00
|
|
|
depends_on("cbtf-argonavis@1.9.1.0:9999", when='@1.3.0.0:9999')
|
2018-05-18 03:04:33 +08:00
|
|
|
|
2017-08-11 07:08:32 +08:00
|
|
|
depends_on("cuda")
|
2018-05-18 03:04:33 +08:00
|
|
|
|
|
|
|
depends_on("openspeedshop-utils+cuda@develop", when='@develop')
|
2018-06-17 22:49:27 +08:00
|
|
|
depends_on("openspeedshop-utils@2.3.1.3:+cuda", when='@1.3.0.0:9999')
|
2018-05-18 03:04:33 +08:00
|
|
|
|
|
|
|
# For Xerces-C
|
2018-10-31 09:41:08 +08:00
|
|
|
depends_on("xerces-c")
|
2018-05-18 03:04:33 +08:00
|
|
|
|
|
|
|
depends_on("graphviz@2.40.1:", when='@develop')
|
2018-06-17 22:49:27 +08:00
|
|
|
depends_on("graphviz@2.40.1", when='@1.3.0.0:9999')
|
2018-05-18 03:04:33 +08:00
|
|
|
|
2017-08-11 07:08:32 +08:00
|
|
|
depends_on("qtgraph")
|
|
|
|
|
|
|
|
parallel = False
|
|
|
|
|
2019-10-29 06:36:12 +08:00
|
|
|
def setup_build_environment(self, env):
|
|
|
|
"""Set up the build environment for this package."""
|
|
|
|
env.set('BOOSTROOT', self.spec['boost'].prefix)
|
|
|
|
env.set('CBTF_ROOT', self.spec['cbtf'].prefix)
|
|
|
|
env.set('CBTF_KRELL_ROOT', self.spec['cbtf-krell'].prefix)
|
|
|
|
env.set('CBTF_ARGONAVIS_ROOT',
|
|
|
|
self.spec['cbtf-argonavis'].prefix)
|
|
|
|
env.set('OSS_CBTF_ROOT', self.spec['openspeedshop-utils'].prefix)
|
|
|
|
env.set('GRAPHVIZ_ROOT', self.spec['graphviz'].prefix)
|
|
|
|
env.set('QTGRAPHLIB_ROOT', self.spec['qtgraph'].prefix)
|
|
|
|
env.set('KRELL_ROOT_MRNET', self.spec['mrnet'].prefix)
|
|
|
|
env.set('KRELL_ROOT_XERCES', self.spec['xerces-c'].prefix)
|
|
|
|
env.set('INSTALL_ROOT', self.spec.prefix)
|
|
|
|
|
|
|
|
def setup_run_environment(self, env):
|
|
|
|
"""Set up the runtime environment for this package."""
|
2017-08-11 07:08:32 +08:00
|
|
|
|
|
|
|
# The implementor of qtgraph has set up the library and include
|
|
|
|
# paths in a non-conventional way. We reflect that here.
|
2018-08-18 06:58:08 +08:00
|
|
|
# What library suffix should be used based on library existence
|
|
|
|
if os.path.isdir(self.spec['qtgraph'].prefix.lib64):
|
|
|
|
qtgraph_lib_dir = self.spec['qtgraph'].prefix.lib64
|
|
|
|
else:
|
|
|
|
qtgraph_lib_dir = self.spec['qtgraph'].prefix.lib
|
|
|
|
|
2019-10-29 06:36:12 +08:00
|
|
|
env.prepend_path(
|
2017-08-11 07:08:32 +08:00
|
|
|
'LD_LIBRARY_PATH', join_path(
|
2018-08-18 06:58:08 +08:00
|
|
|
qtgraph_lib_dir,
|
2017-08-11 07:08:32 +08:00
|
|
|
'{0}'.format(self.spec['qt'].version.up_to(3))))
|
2018-08-18 06:58:08 +08:00
|
|
|
|
2017-08-11 07:08:32 +08:00
|
|
|
# The openspeedshop libraries are needed to actually load the
|
|
|
|
# performance information into the GUI.
|
2019-10-29 06:36:12 +08:00
|
|
|
env.prepend_path(
|
2018-05-18 03:04:33 +08:00
|
|
|
'LD_LIBRARY_PATH', self.spec['openspeedshop-utils'].prefix.lib64)
|
2017-08-11 07:08:32 +08:00
|
|
|
|
|
|
|
def qmake_args(self):
|
|
|
|
options = ['-o', 'Makefile', 'openss-gui.pro']
|
|
|
|
return options
|