Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-03-30 07:48:31

0001 # Copyright Spack Project Developers. See COPYRIGHT file for details.
0002 #
0003 # SPDX-License-Identifier: (Apache-2.0 OR MIT)
0004 
0005 from spack.package import *
0006 from spack_repo.builtin.build_systems.cmake import CMakePackage
0007 from spack_repo.builtin.build_systems.cuda import CudaPackage
0008 
0009 
0010 class EicOpticks(CMakePackage, CudaPackage):
0011     """GPU-Accelerated Optical Photon Simulation using NVIDIA OptiX"""
0012 
0013     homepage = "https://github.com/bnlnpps/eic-opticks"
0014     git = "https://github.com/bnlnpps/eic-opticks.git"
0015     url = "https://github.com/BNLNPPS/eic-opticks/archive/refs/tags/0.1.0.tar.gz"
0016 
0017     license("Apache-2.0")
0018 
0019     maintainers("plexoos")
0020 
0021     version("main", branch="main")
0022     version("0.2.0", sha256="85022ee513020d13f5acf2e07fa3a9e73c24a51166507c8598b6fd86327b436b")
0023     version("0.1.0", sha256="b9b42254d3a2c57df9502e2920c7078aee3b7952d4de1d0299fd421d88a5950d")
0024 
0025     depends_on("cxx", type="build")
0026     depends_on("cmake@3.10:", type="build")
0027 
0028     depends_on("cuda")
0029     depends_on("geant4")
0030     depends_on("glew")
0031     depends_on("glfw")
0032     depends_on("glm")
0033     depends_on("glu")
0034     depends_on("nlohmann-json")
0035     depends_on("mesa")
0036     depends_on("optix-dev")
0037     depends_on("openssl")
0038     depends_on("plog")
0039     depends_on("python")
0040 
0041     def setup_build_environment(self, env):
0042         # GLM 0.9.9+ requires this for experimental GTX headers such as
0043         # dual_quaternion, which are reached via string_cast in this codebase.
0044         if self.spec.satisfies("^glm@0.9.9:"):
0045             env.append_flags("CPPFLAGS", "-DGLM_ENABLE_EXPERIMENTAL")