From b45484f9400ff54a7d45c9bc831e66d85ee540ad Mon Sep 17 00:00:00 2001 From: Patrick Shriwise Date: Wed, 1 Apr 2020 20:54:08 -0500 Subject: [PATCH 1/7] Switch to using the DAGMC exported target. --- CMakeLists.txt | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ac05e56b23..f3b34cc16f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,13 +40,6 @@ endif() #=============================================================================== if(dagmc) find_package(DAGMC REQUIRED) - add_library(dagmc-imported INTERFACE IMPORTED) - link_directories(${DAGMC_LIBRARY_DIRS}) - set_target_properties(dagmc-imported PROPERTIES - INTERFACE_LINK_LIBRARIES "${DAGMC_LIBRARIES}" - INTERFACE_INCLUDE_DIRECTORIES "${DAGMC_INCLUDE_DIRS}") -else() - set(DAGMC_FOUND false) endif() #=============================================================================== @@ -371,7 +364,7 @@ target_link_libraries(libopenmc ${ldflags} ${HDF5_LIBRARIES} ${HDF5_HL_LIBRARIES if(dagmc) target_compile_definitions(libopenmc PRIVATE DAGMC) - target_link_libraries(libopenmc dagmc-imported) + target_link_libraries(libopenmc dagmc-shared pyne_dagmc-shared uwuw-shared) endif() #=============================================================================== From ac2e1665e81dff8dc070aa9eb035668693708fc0 Mon Sep 17 00:00:00 2001 From: Patrick Shriwise Date: Tue, 7 Apr 2020 01:32:41 -0500 Subject: [PATCH 2/7] Removing dagmc-imported target export and FindDAGMC.cmake files as suggested by @paulromano. --- cmake/Modules/FindDAGMC.cmake | 20 -------------------- cmake/OpenMCConfig.cmake.in | 9 --------- tools/ci/travis-install.py | 2 ++ 3 files changed, 2 insertions(+), 29 deletions(-) delete mode 100644 cmake/Modules/FindDAGMC.cmake diff --git a/cmake/Modules/FindDAGMC.cmake b/cmake/Modules/FindDAGMC.cmake deleted file mode 100644 index bb9bc56ddb..0000000000 --- a/cmake/Modules/FindDAGMC.cmake +++ /dev/null @@ -1,20 +0,0 @@ -# Try to find DAGMC -# -# Once done this will define -# -# DAGMC_FOUND - system has DAGMC -# DAGMC_INCLUDE_DIRS - the DAGMC include directory -# DAGMC_LIBRARIES - Link these to use DAGMC -# DAGMC_DEFINITIONS - Compiler switches required for using DAGMC - -find_path(DAGMC_CMAKE_CONFIG NAMES DAGMCConfig.cmake - HINTS ${DAGMC_ROOT} $ENV{DAGMC_ROOT} - PATHS ENV LD_LIBRARY_PATH - PATH_SUFFIXES lib Lib cmake lib/cmake - NO_DEFAULT_PATH) -if(DAGMC_CMAKE_CONFIG) - message(STATUS "Found DAGMC in ${DAGMC_CMAKE_CONFIG}") - include(${DAGMC_CMAKE_CONFIG}/DAGMCConfig.cmake) -else() - message(WARNING "Cound not find DAGMC") -endif() diff --git a/cmake/OpenMCConfig.cmake.in b/cmake/OpenMCConfig.cmake.in index 1c6a488f54..29a0e4542f 100644 --- a/cmake/OpenMCConfig.cmake.in +++ b/cmake/OpenMCConfig.cmake.in @@ -5,15 +5,6 @@ find_package(gsl-lite REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../gsl-lite) find_package(pugixml REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../pugixml) find_package(xtl REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../xtl) find_package(xtensor REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../xtensor) -if(@DAGMC_FOUND@) - find_package(DAGMC REQUIRED HINTS @DAGMC_LIBRARY_DIRS@) - add_library(dagmc-imported INTERFACE IMPORTED) - target_link_libraries(dagmc-imported INTERFACE ${DAGMC_LIBRARIES}) - foreach(dir ${DAGMC_LIBRARY_DIRS}) - target_link_libraries(dagmc-imported INTERFACE "-L${dir}") - endforeach() - target_include_directories(dagmc-imported INTERFACE ${DAGMC_INCLUDE_DIRS}) -endif() if(NOT TARGET OpenMC::libopenmc) include("${OpenMC_CMAKE_DIR}/OpenMCTargets.cmake") diff --git a/tools/ci/travis-install.py b/tools/ci/travis-install.py index a2b1b61753..80c7c42ee9 100644 --- a/tools/ci/travis-install.py +++ b/tools/ci/travis-install.py @@ -47,6 +47,8 @@ def install(omp=False, mpi=False, phdf5=False, dagmc=False): if dagmc: cmake_cmd.append('-Ddagmc=ON') + home_dir = os.environ.get('HOME') + cmake_cmd.append('-DCMAKE_PREFIX_PATH={}/DAGMC/lib'.format(home_dir)) # Build in coverage mode for coverage testing cmake_cmd.append('-Dcoverage=on') From 1998dac26fb43ede1e0bacb02a759e0154b33748 Mon Sep 17 00:00:00 2001 From: Patrick Shriwise Date: Tue, 7 Apr 2020 14:04:06 -0500 Subject: [PATCH 3/7] Re-adding the find_package call in OpenMCConfig.cmake --- cmake/OpenMCConfig.cmake.in | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/OpenMCConfig.cmake.in b/cmake/OpenMCConfig.cmake.in index 29a0e4542f..9f491ce88b 100644 --- a/cmake/OpenMCConfig.cmake.in +++ b/cmake/OpenMCConfig.cmake.in @@ -5,6 +5,9 @@ find_package(gsl-lite REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../gsl-lite) find_package(pugixml REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../pugixml) find_package(xtl REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../xtl) find_package(xtensor REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../xtensor) +if(@DAGMC_FOUND@) + find_package(DAGMC REQUIRED HINTS @DAGMC_DIR@) +endif() if(NOT TARGET OpenMC::libopenmc) include("${OpenMC_CMAKE_DIR}/OpenMCTargets.cmake") From 6338a8ae19b1603434657e2a39929a6e48e3a44e Mon Sep 17 00:00:00 2001 From: Patrick Shriwise Date: Wed, 8 Apr 2020 09:36:18 -0500 Subject: [PATCH 4/7] Apply suggestions from code review Co-Authored-By: Paul Romano --- CMakeLists.txt | 2 +- tools/ci/travis-install.py | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f3b34cc16f..44719479d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,7 +39,7 @@ endif() # DAGMC Geometry Support - need DAGMC/MOAB #=============================================================================== if(dagmc) - find_package(DAGMC REQUIRED) + find_package(DAGMC REQUIRED PATH_SUFFIXES lib/cmake) endif() #=============================================================================== diff --git a/tools/ci/travis-install.py b/tools/ci/travis-install.py index 80c7c42ee9..a2b1b61753 100644 --- a/tools/ci/travis-install.py +++ b/tools/ci/travis-install.py @@ -47,8 +47,6 @@ def install(omp=False, mpi=False, phdf5=False, dagmc=False): if dagmc: cmake_cmd.append('-Ddagmc=ON') - home_dir = os.environ.get('HOME') - cmake_cmd.append('-DCMAKE_PREFIX_PATH={}/DAGMC/lib'.format(home_dir)) # Build in coverage mode for coverage testing cmake_cmd.append('-Dcoverage=on') From e758b05bf9a64fde4f303be318a9779ba8a74a89 Mon Sep 17 00:00:00 2001 From: Patrick Shriwise Date: Wed, 8 Apr 2020 09:39:56 -0500 Subject: [PATCH 5/7] Removing pyne library --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 44719479d0..ee56c84caa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -364,7 +364,7 @@ target_link_libraries(libopenmc ${ldflags} ${HDF5_LIBRARIES} ${HDF5_HL_LIBRARIES if(dagmc) target_compile_definitions(libopenmc PRIVATE DAGMC) - target_link_libraries(libopenmc dagmc-shared pyne_dagmc-shared uwuw-shared) + target_link_libraries(libopenmc dagmc-shared uwuw-shared) endif() #=============================================================================== From 44feaa9e9216775189988029d836c37da75773ea Mon Sep 17 00:00:00 2001 From: Patrick Shriwise Date: Wed, 8 Apr 2020 09:40:42 -0500 Subject: [PATCH 6/7] Setting DAGMC_ROOT instead of LD_LIBRARY_PATH in travis YAML file. --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index df3ca21cb2..3188257fd9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,4 @@ + sudo: required dist: xenial language: python @@ -21,11 +22,11 @@ cache: env: global: - MPI_DIR=/usr + - DAGMC_ROOT=$HOME/DAGMC - HDF5_ROOT=/usr - OMP_NUM_THREADS=2 - OPENMC_CROSS_SECTIONS=$HOME/nndc_hdf5/cross_sections.xml - OPENMC_ENDF_DATA=$HOME/endf-b-vii.1 - - LD_LIBRARY_PATH=$HOME/MOAB/lib:$HOME/DAGMC/lib - PATH=$PATH:$HOME/NJOY2016/build - COVERALLS_PARALLEL=true - NUMPY_EXPERIMENTAL_ARRAY_FUNCTION=0 From 2a2e5810aee99a59ef2694263bc605521223d5c5 Mon Sep 17 00:00:00 2001 From: Patrick Shriwise Date: Wed, 8 Apr 2020 11:57:33 -0500 Subject: [PATCH 7/7] Removing LD_LIBRARY_PATH export in the DAGMC install script. --- tools/ci/travis-install-dagmc.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/tools/ci/travis-install-dagmc.sh b/tools/ci/travis-install-dagmc.sh index 624ffd7f82..2452447bbf 100755 --- a/tools/ci/travis-install-dagmc.sh +++ b/tools/ci/travis-install-dagmc.sh @@ -24,7 +24,6 @@ make -j && make -j install cmake ../moab -DBUILD_SHARED_LIBS=OFF make -j install rm -rf $HOME/MOAB/moab $HOME/MOAB/build -export LD_LIBRARY_PATH=$MOAB_INSTALL_DIR/lib:$LD_LIBRARY_PATH # DAGMC Install cd $HOME @@ -34,6 +33,5 @@ mkdir build && cd build cmake ../dagmc -DBUILD_TALLY=ON -DCMAKE_INSTALL_PREFIX=$DAGMC_INSTALL_DIR -DMOAB_DIR=$MOAB_INSTALL_DIR make -j install rm -rf $HOME/DAGMC/dagmc $HOME/DAGMC/build -export LD_LIBRARY_PATH=$DAGMC_INSTALL_DIR/lib:$LD_LIBRARY_PATH cd $CURRENT_DIR