diff --git a/include/openmc/dagmc.h b/include/openmc/dagmc.h index 7b148b7ee6..29e597c67e 100644 --- a/include/openmc/dagmc.h +++ b/include/openmc/dagmc.h @@ -1,9 +1,9 @@ -#ifdef DAGMC - #ifndef OPENMC_DAGMC_H #define OPENMC_DAGMC_H +#ifdef DAGMC + #include "DagMC.hpp" #include "openmc/cell.h" #include "openmc/surface.h" @@ -20,3 +20,5 @@ extern "C" void free_memory_dagmc(); #endif // OPENMC_DAGMC_H #endif + +extern "C" bool dagmc_enabled(); diff --git a/openmc/capi/__init__.py b/openmc/capi/__init__.py index 672a6e811f..7e569611ca 100644 --- a/openmc/capi/__init__.py +++ b/openmc/capi/__init__.py @@ -38,6 +38,8 @@ else: from unittest.mock import Mock _dll = Mock() +__dagmc_enabled__ = bool(_dll.dagmc_enabled()) + from .error import * from .core import * from .nuclide import * diff --git a/src/dagmc.cpp b/src/dagmc.cpp index 913e6c88e4..f935168531 100644 --- a/src/dagmc.cpp +++ b/src/dagmc.cpp @@ -142,3 +142,13 @@ void free_memory_dagmc() } #endif + +bool dagmc_enabled() +{ +#ifdef DAGMC + return true; +#else + return false; +#endif +} + diff --git a/tests/regression_tests/dagmc/test.py b/tests/regression_tests/dagmc/test.py index 8c81b85d5c..384f075ef0 100644 --- a/tests/regression_tests/dagmc/test.py +++ b/tests/regression_tests/dagmc/test.py @@ -1,9 +1,10 @@ from tests.testing_harness import TestHarness import os import pytest +import openmc pytestmark = pytest.mark.skipif( - os.environ.get('DAGMC') != 'y', + not openmc.capi.__dagmc_enabled__, reason="DAGMC CAD geometry is not enabled.") def test_dagmc():