From dd67e68340b725584ed927c0add529997515ff98 Mon Sep 17 00:00:00 2001 From: "Roscoe A. Bartlett" Date: Tue, 13 Mar 2018 13:54:06 -0600 Subject: [PATCH 1/3] Require exclude listing of SEMSDevEnv.cmake, remove load_ci_sems_dev_env.sh (#482) The logic that resulted in the SEMSDevEnv.cmake file getting picked up was a little too magical. Therefore, this change is to require that you explictily list cmake/std/sems/SEMSDevEnv.cmake in the Trilinos_CONFIGURE_OPTIONS_FILE argument. This also got rid of the StdDevEnvs.cmake file and gets rid of that appraoch. Having to list a single file in Trilinos_CONFIGURE_OPTIONS_FILE is not that big of a deal and it is explicit with no magic. I also got rid of the script load_ci_sems_dev_env.sh because it just soruces load_sems_env.sh with no arguments by default anyway and we will maintain that going forward. This just reduces clutter. --- CMakeLists.txt | 3 - cmake/StdDevEnvs.cmake | 65 ------------------- cmake/ctest/drivers/sems_ci/single_ci_iter.sh | 2 +- .../sems_ci/single_ci_iter_aao_crf450.sh | 2 +- cmake/load_ci_sems_dev_env.sh | 27 -------- cmake/load_sems_dev_env.sh | 6 -- cmake/std/sems/SEMSDevEnv.cmake | 12 ++-- cmake/std/sems/checkin-test-sems.sh | 9 ++- cmake/unload_sems_dev_env.sh | 1 - project-checkin-test-config.py | 2 +- 10 files changed, 17 insertions(+), 112 deletions(-) delete mode 100644 cmake/StdDevEnvs.cmake delete mode 100644 cmake/load_ci_sems_dev_env.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e6a2be71372..2c966b8590c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,9 +85,6 @@ SET(${PROJECT_NAME}_ENABLE_INSTALL_CMAKE_CONFIG_FILES_DEFAULT ON) SET(${PROJECT_NAME}_ENABLE_CPACK_PACKAGING_DEFAULT ON) # Don't allow disabled subpackages to be excluded from tarball SET(${PROJECT_NAME}_EXCLUDE_DISABLED_SUBPACKAGES_FROM_DISTRIBUTION_DEFAULT FALSE) -# Set up to automatically use standard dev envs by default -SET(${PROJECT_NAME}_CONFIGURE_OPTIONS_FILE_APPEND - "${CMAKE_CURRENT_LIST_DIR}/cmake/StdDevEnvs.cmake" ) # Do all of the processing for this Tribits project TRIBITS_PROJECT() diff --git a/cmake/StdDevEnvs.cmake b/cmake/StdDevEnvs.cmake deleted file mode 100644 index 24846fbf851d..000000000000 --- a/cmake/StdDevEnvs.cmake +++ /dev/null @@ -1,65 +0,0 @@ -# -# This file automatically configures a TriBITS project (e.g. Trilinos) to use -# standard development environments. Just include it using: -# -# -D _CONFIGURE_OPTIONS_FILE=/StdDevEnvs.cmake -# - -SET(${PROJECT_NAME}_USE_BUILD_ENV_DEFAULT "") - -IF ( - (NOT "$ENV{TRILINOS_SEMS_DEV_ENV_LOADED}" STREQUAL "") - AND - ("${${PROJECT_NAME}_USE_BUILD_ENV_DEFAULT}" STREQUAL "") - AND - ("${${PROJECT_NAME}_USE_BUILD_ENV}" STREQUAL "") - ) - MESSAGE("-- SEMS: Env var" - " TRILINOS_SEMS_DEV_ENV_LOADED={$ENV{TRILINOS_SEMS_DEV_ENV_LOADED}}" - " => Allowing load of SEMS Build Env by default!" ) - SET(${PROJECT_NAME}_USE_BUILD_ENV_DEFAULT "SEMS") -ENDIF() - -IF ( - (NOT "$ENV{ATTB_ENV}" STREQUAL "") - AND - ("${${PROJECT_NAME}_USE_BUILD_ENV_DEFAULT}" STREQUAL "") - AND - ("${${PROJECT_NAME}_USE_BUILD_ENV}" STREQUAL "") - ) - #MESSAGE("-- ATTB: Env var ATTB_ENV=$ENV{ATTB_ENV}" - # " => Allowing load of ATTB Build Env by default!") - #SET(${PROJECT_NAME}_USE_BUILD_ENV_DEFAULT "ATTB") - # ToDo: Turn the default back on again once we get working on more platforms -ENDIF() - -SET(${PROJECT_NAME}_USE_BUILD_ENV_VALID_CHOICES "'', 'SEMS', or 'ATTB'") - -SET(${PROJECT_NAME}_USE_BUILD_ENV ${${PROJECT_NAME}_USE_BUILD_ENV_DEFAULT} - CACHE STRING - "Load known build env (Choose ${${PROJECT_NAME}_USE_BUILD_ENV_VALID_CHOICES})") - -PRINT_VAR(${PROJECT_NAME}_USE_BUILD_ENV) - -IF (${PROJECT_NAME}_USE_BUILD_ENV STREQUAL "SEMS") - MESSAGE("-- SEMS: Loading SEMSDevEnv.cmake to set compilers and TPL paths" - " (To skip, set -D${PROJECT_NAME}_USE_BUILD_ENV=) ..." ) - SET(SEMS_DEV_ENV_FILE ${CMAKE_CURRENT_LIST_DIR}/std/sems/SEMSDevEnv.cmake) - TRIBITS_TRACE_FILE_PROCESSING(PROJECT INCLUDE "${SEMS_DEV_ENV_FILE}") - INCLUDE(${SEMS_DEV_ENV_FILE}) -ELSEIF (${PROJECT_NAME}_USE_BUILD_ENV STREQUAL "ATTB") - MESSAGE("-- ATTB: Loading ATTBDevEnv.cmake to set compilers and TPL paths" - " (To skip, set -D${PROJECT_NAME}_USE_BUILD_ENV=) ..." ) - SET(ATTB_DEV_ENV_FILE ${CMAKE_CURRENT_LIST_DIR}/ctest/drivers/ATTB/ATTBDevEnv.cmake) - TRIBITS_TRACE_FILE_PROCESSING(PROJECT INCLUDE "${ATTB_DEV_ENV_FILE}") - INCLUDE(${ATTB_DEV_ENV_FILE}) -ELSEIF (${PROJECT_NAME}_USE_BUILD_ENV STREQUAL "") - # Don't load any known dev env -ELSE() - MESSAGE(FATAL_ERROR "ERROR: The value of" - " `${PROJECT_NAME}_USE_BUILD_ENV='${${PROJECT_NAME}_USE_BUILD_ENV}'" - " is invalid. Choose one of the supported values" - " ${${PROJECT_NAME}_USE_BUILD_ENV_VALID_CHOICES}!") -ENDIF() - -# ToDo: Add more standard dev envs ... diff --git a/cmake/ctest/drivers/sems_ci/single_ci_iter.sh b/cmake/ctest/drivers/sems_ci/single_ci_iter.sh index 31ea7c835b09..695f00f47d88 100755 --- a/cmake/ctest/drivers/sems_ci/single_ci_iter.sh +++ b/cmake/ctest/drivers/sems_ci/single_ci_iter.sh @@ -9,7 +9,7 @@ TRILINOS_DIR=`readlink -f ${DRIVER_SCRIPT_DIR}/../../../..` echo "TRILINOS_DIR='${TRILINOS_DIR}'" source /etc/bashrc -source $TRILINOS_DIR/cmake/load_ci_sems_dev_env.sh +source $TRILINOS_DIR/cmake/load_sems_dev_env.sh export CTEST_DASHBOARD_ROOT=$PWD diff --git a/cmake/ctest/drivers/sems_ci/single_ci_iter_aao_crf450.sh b/cmake/ctest/drivers/sems_ci/single_ci_iter_aao_crf450.sh index e8908ef1c2ac..2906381d8c6b 100755 --- a/cmake/ctest/drivers/sems_ci/single_ci_iter_aao_crf450.sh +++ b/cmake/ctest/drivers/sems_ci/single_ci_iter_aao_crf450.sh @@ -10,7 +10,7 @@ TRILINOS_DIR=`readlink -f ${DRIVER_SCRIPT_DIR}/../../../..` echo "TRILINOS_DIR='${TRILINOS_DIR}'" source /etc/bashrc -source $TRILINOS_DIR/cmake/load_ci_sems_dev_env.sh +source $TRILINOS_DIR/cmake/load_sems_dev_env.sh export PATH=/home/vera_env/common_tools/cmake-master-20170917-214d0ce/bin:$PATH export CTEST_DASHBOARD_ROOT=$PWD diff --git a/cmake/load_ci_sems_dev_env.sh b/cmake/load_ci_sems_dev_env.sh deleted file mode 100644 index c050da508811..000000000000 --- a/cmake/load_ci_sems_dev_env.sh +++ /dev/null @@ -1,27 +0,0 @@ -# Load the standard Trilinos CI SEMS develoment environment -# -# This script is sourced as (takes no arugments): -# -# $ source load_ci_sems_dev_env.sh -# -# All this script does is to source load_sems_dev_env.sh with the standard -# versions of the various modules used for CI testing. -# - -# Get the base dir for the sourced script -called=$_ -#[[ $called != $0 ]] && echo "Script is being sourced" || echo "Script is being run" -#echo "\$BASH_SOURCE ${BASH_SOURCE[@]}" -_SCRIPT_DIR=`echo $BASH_SOURCE | sed "s/\(.*\)\/.*\.sh/\1/g"` -#echo "_SCRIPT_DIR = '$_SCRIPT_DIR'" - -if [ "$1" != "" ] ; then - echo "ERROR, the source script 'load_ci_sems_dev_env.sh' takes no arguments! (Remove '$1' ...)" - return 1 -fi - -source $_SCRIPT_DIR/load_sems_dev_env.sh - -# NOTE: Above, we will maintain the load_sems_dev_env.sh defaults so that they -# match the desired CI env. That way, Trilinos users can accidentally source -# load_sems_dev_env.sh and they will get the stanard CI dev env. diff --git a/cmake/load_sems_dev_env.sh b/cmake/load_sems_dev_env.sh index c8d2fa4349b7..d71a82d9df36 100644 --- a/cmake/load_sems_dev_env.sh +++ b/cmake/load_sems_dev_env.sh @@ -138,9 +138,3 @@ module load $sems_superlu_and_version_default if [ "${TRILINOS_SEMS_DEV_ENV_VERBOSE}" == "1" ] ; then module list fi - -# -# D) Remember the loaded SEMS Dev Env -# - -export TRILINOS_SEMS_DEV_ENV_LOADED="$TRILINOS_SEMS_DEV_ENV_TO_LOAD" diff --git a/cmake/std/sems/SEMSDevEnv.cmake b/cmake/std/sems/SEMSDevEnv.cmake index 235aad1df75f..03c264e0dab5 100644 --- a/cmake/std/sems/SEMSDevEnv.cmake +++ b/cmake/std/sems/SEMSDevEnv.cmake @@ -65,16 +65,20 @@ SET(SEMS_MPI_VERSION $ENV{SEMS_MPI_VERSION}) #PRINT_VAR(SEMS_MPI_VERSION) # -# Define helper function for finding the serial version of a TPL of this is a -# serial build. +# Define helper function for finding the serial (non-MPI) version of a TPL for +# as serial build # # Called as: # # SEMS_SELECT_TPL_ROOT_DIR( # [PARALLEL_EXT SERIAL_EXT ] ) # -# If PARALLEL_EXT SERIAL_EXT is not given, then it -# is assumed that =parallel and =base. +# If arguments: +# +# PARALLEL_EXT SERIAL_EXT +# +# are not given, then it is assumed that =parallel and +# =base. # FUNCTION(SEMS_SELECT_TPL_ROOT_DIR SEMS_TPL_NAME TPL_ROOT_DIR_OUT) diff --git a/cmake/std/sems/checkin-test-sems.sh b/cmake/std/sems/checkin-test-sems.sh index 454f481f6596..937fd85a750f 100755 --- a/cmake/std/sems/checkin-test-sems.sh +++ b/cmake/std/sems/checkin-test-sems.sh @@ -93,7 +93,7 @@ fi if [ "$TRILINOS_CHECKIN_TEST_SEMS_SKIP_MODULE_LOAD" == "" ] ; then export TRILINOS_SEMS_DEV_ENV_VERBOSE=1 - source $TRILINOS_DIR/cmake/load_ci_sems_dev_env.sh "" + source $TRILINOS_DIR/cmake/load_sems_dev_env.sh "" # NOTE: Above, must pass empty arg "" or bash will pass in "$@" which is # bad! else @@ -113,7 +113,7 @@ echo " # All of the options needed for the --default-builds # MPI_RELEASE_DEBUG_SHARED_PT are in project-checkin-test-config.py so no need # to set them here. Also note that the SEMS env will be read in automatically -# because load_ci_sems_dev_env.sh was sourced above. +# because load_sems_dev_env.sh was sourced above. echo " -DZoltan2_OrderingScotch_MPI_4_DISABLE=TRUE @@ -136,12 +136,13 @@ echo " " > MPI_RELEASE_DEBUG_SHARED_PT_COMPLEX.config echo " --DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/MpiReleaseDebugSharedPtSettings.cmake,cmake/std/BasicCiTestingSettings.cmake +-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/MpiReleaseDebugSharedPtSettings.cmake,cmake/std/BasicCiTestingSettings.cmake,cmake/std/sems/SEMSDevEnv.cmake -DTrilinos_ENABLE_DEBUG=OFF -DTrilinos_ENABLE_SECONDARY_TESTED_CODE=OFF " > MPI_RELEASE_SHARED_PT.config echo " +-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/sems/SEMSDevEnv.cmake -DTPL_ENABLE_MPI=OFF -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_SHARED_LIBS=ON @@ -149,6 +150,7 @@ echo " " > SERIAL_RELEASE_SHARED_PT.config echo " +-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/sems/SEMSDevEnv.cmake -DTPL_ENABLE_MPI=ON -DCMAKE_BUILD_TYPE=RELEASE -DTrilinos_ENABLE_DEBUG=ON @@ -159,6 +161,7 @@ echo " " > MPI_RELEASE_DEBUG_SHARED_ST.config echo " +-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/sems/SEMSDevEnv.cmake -DTPL_ENABLE_MPI=OFF -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_SHARED_LIBS=ON diff --git a/cmake/unload_sems_dev_env.sh b/cmake/unload_sems_dev_env.sh index 5da0fa9bfec5..dec00a78a892 100644 --- a/cmake/unload_sems_dev_env.sh +++ b/cmake/unload_sems_dev_env.sh @@ -17,4 +17,3 @@ # module purge -export TRILINOS_SEMS_DEV_ENV_LOADED= diff --git a/project-checkin-test-config.py b/project-checkin-test-config.py index 7c1e790a0185..964ee212161d 100755 --- a/project-checkin-test-config.py +++ b/project-checkin-test-config.py @@ -34,7 +34,7 @@ 'default-builds': [ ('MPI_RELEASE_DEBUG_SHARED_PT', [ - '-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/MpiReleaseDebugSharedPtSettings.cmake,cmake/std/BasicCiTestingSettings.cmake', + '-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/MpiReleaseDebugSharedPtSettings.cmake,cmake/std/BasicCiTestingSettings.cmake,cmake/std/sems/SEMSDevEnv.cmake', ]), ## Options for the SERIAL_RELEASE build. From 2cc01a39eed44053d918debe75d5d89aafccef50 Mon Sep 17 00:00:00 2001 From: "Roscoe A. Bartlett" Date: Tue, 13 Mar 2018 14:05:34 -0600 Subject: [PATCH 2/3] Remove ATTB env stuff (TRIL-171) This is replaced with the "atdm" stuff (see TRIL-171). --- cmake/ctest/drivers/ATTB/ATTBDevEnv.cmake | 158 ------------------ .../drivers/ATTB/attb_cuda_config_base.sh | 80 --------- .../ATTB/attb_cuda_config_for_drekar.sh | 40 ----- cmake/ctest/drivers/ATTB/checkin-test-attb.sh | 103 ------------ .../do-configure.MPI_RELEASE_DEBUG_STATIC | 20 --- .../ctest/drivers/ATTB/load_attb_cuda_env.sh | 41 ----- cmake/ctest/drivers/ATTB/load_attb_dev_env.sh | 28 ---- 7 files changed, 470 deletions(-) delete mode 100644 cmake/ctest/drivers/ATTB/ATTBDevEnv.cmake delete mode 100755 cmake/ctest/drivers/ATTB/attb_cuda_config_base.sh delete mode 100755 cmake/ctest/drivers/ATTB/attb_cuda_config_for_drekar.sh delete mode 100755 cmake/ctest/drivers/ATTB/checkin-test-attb.sh delete mode 100755 cmake/ctest/drivers/ATTB/do-configure.MPI_RELEASE_DEBUG_STATIC delete mode 100644 cmake/ctest/drivers/ATTB/load_attb_cuda_env.sh delete mode 100644 cmake/ctest/drivers/ATTB/load_attb_dev_env.sh diff --git a/cmake/ctest/drivers/ATTB/ATTBDevEnv.cmake b/cmake/ctest/drivers/ATTB/ATTBDevEnv.cmake deleted file mode 100644 index 1e594dd6d1f3..000000000000 --- a/cmake/ctest/drivers/ATTB/ATTBDevEnv.cmake +++ /dev/null @@ -1,158 +0,0 @@ -# -# Base options for all GCC 4.8.4 builds on ATTB machines -# - -IF ("$ENV{ATTB_ENV}" STREQUAL "") - MESSAGE(FATAL_ERROR "Error: The env var ATTB_ENV must be defined and nonzero" - " in order to make sure that the ATTB env is set up correctly.") -ENDIF() - -MESSAGE("-- ATTB: Setting compilers and TPL paths for ATTB system ...") - -ASSERT_DEFINED(ENV{GCC_VERSION}) -SET(GCC_LIBRARY_PATH - "/home/projects/x86-64-haswell/gnu/$ENV{GCC_VERSION}/lib/gcc/x86_64-unknown-linux-gnu/$ENV{GCC_VERSION}") -MESSAGE("-- ATTB: Set env var LIBRARY_PATH=.../x86_64-unknown-linux-gnu/$ENV{GCC_VERSION} to avoid problems with" - " CMake not adding lib paths for other TPLs ...") -SET(ENV{LIBRARY_PATH} "${GCC_LIBRARY_PATH}") -MESSAGE("-- ENV{LIBRARY_PATH} = $ENV{LIBRARY_PATH}") - -# Define cmpilers -ASSERT_DEFINED(ENV{MPICC}) -ASSERT_DEFINED(ENV{MPICXX}) -ASSERT_DEFINED(ENV{MPIF90}) -SET(CMAKE_C_COMPILER "$ENV{MPICC}" CACHE FILEPATH - "Set in ATTBDevEnv.cmake") -SET(CMAKE_CXX_COMPILER "$ENV{MPICXX}" CACHE FILEPATH - "Set in ATTBDevEnv.cmake") -SET(CMAKE_Fortran_COMPILER "$ENV{MPIf90}" CACHE FILEPATH - "Set in ATTBDevEnv.cmake") - -# Add rpath for compiler libraries and gomp for parts built with OpenMP -IF (TPL_FIND_SHARED_LIBS) - SET(LDL_LINK_ARG " -lldl") -ELSE() - SET(LDL_LINK_ARG) -ENDIF() -ASSERT_DEFINED(ENV{GCC_PATH}) -SET(${PROJECT_NAME}_EXTRA_LINK_FLAGS - "-lgomp -lgfortran${LDL_LINK_ARG} -ldl" - CACHE STRING "Set in ATTBDevEnv.cmake") - -# -Wl,-rpath,$ENV{GCC_PATH}/lib64 - -# Point to the right MPI -ASSERT_DEFINED(ENV{MPI_ROOT}) -SET(MPI_BASE_DIR "$ENV{MPI_ROOT}" CACHE PATH - "Set in ATTBDevEnv.cmake") - -# Turn on explicit template instantaition by default -SET(${PROJECT_NAME}_ENABLE_EXPLICIT_INSTANTIATION ON CACHE BOOL - "Set in ATTBDevEnv.cmake") - -# Turn of 'int' as a global ordinal -#SET(Tpetra_INST_INT_INT OFF CACHE BOOL -# "Set in ATTBDevEnv.cmake") -# NOT: We have to keep int as a global ordinal in order to support Epetra -# adapters. - -# Turn off float and complex -SET(Teuchos_ENABLE_FLOAT OFF CACHE BOOL "Set in ATTBDevEnv.cmake") -SET(Teuchos_ENABLE_COMPLEX OFF CACHE BOOL "Set in ATTBDevEnv.cmake") -SET(Sacado_ENABLE_COMPLEX OFF CACHE BOOL "Set in ATTBDevEnv.cmake") -SET(Thyra_ENABLE_COMPLEX OFF CACHE BOOL "Set in ATTBDevEnv.cmake") -SET(Tpetra_INST_COMPLEX_DOUBLE OFF CACHE BOOL "Set in ATTBDevEnv.cmake") -SET(Tpetra_INST_COMPLEX_FLOAT OFF CACHE BOOL "Set in ATTBDevEnv.cmake") -SET(Anasazi_ENABLE_COMPLEX OFF CACHE BOOL "Set in ATTBDevEnv.cmake") - -# Enable configure timing -SET(${PROJECT_NAME}_ENABLE_CONFIGURE_TIMING ON CACHE BOOL - "Set in ATTBDevEnv.cmake") - -# -# Set up TPL stuff -# -# These ATTB systems are currently set up to only have static libs. -# -# We disable TPLs that we know are not on this system so that we disable -# downstream SE packages that have required dependencies on these TPLs -# (e.g. some SEACAS and STK subpackages). -# -# We default enable all of the TPLs that we know are on this system. In this -# way, support for these TPLs will be turned on by default. -# - -# Always find and use static libs on this system -SET(TPL_FIND_SHARED_LIBS OFF CACHE BOOL - "Set in ATTBDevEnv.cmake") -SET(${PROJECT_NAME}_LINK_SEARCH_START_STATIC ON CACHE BOOL - "Set in ATTBDevEnv.cmake") - -# Disable a bunch of TPLs that are not on this system -SET(TPL_ENABLE_GLM OFF CACHE BOOL "Set in ATTBDevEnv.cmake") -SET(TPL_ENABLE_Matio OFF CACHE BOOL "Set in ATTBDevEnv.cmake") -SET(TPL_ENABLE_SuperLU OFF CACHE BOOL "Set in ATTBDevEnv.cmake") -SET(TPL_ENABLE_X11 OFF CACHE BOOL "Set in ATTBDevEnv.cmake") - -# BLAS -SET(TPL_ENABLE_BLAS ON CACHE BOOL "Set in ATTBDevEnv.cmake") -ASSERT_DEFINED(ENV{BLAS_ROOT}) -SET(BLAS_LIBRARY_DIRS "$ENV{BLAS_ROOT}/lib" - CACHE PATH "Set in ATTBDevEnv.cmake") -SET(BLAS_LIBRARY_NAMES "openblas" - CACHE STRING "Set in ATTBDevEnv.cmake") - -# LAPACK -SET(TPL_ENABLE_LAPACK ON CACHE BOOL "Set in ATTBDevEnv.cmake") -ASSERT_DEFINED(ENV{LAPACK_ROOT}) -SET(LAPACK_LIBRARY_DIRS "$ENV{LAPACK_ROOT}/lib" - CACHE PATH "Set in ATTBDevEnv.cmake") -SET(LAPACK_LIBRARY_NAMES "openblas" - CACHE STRING "Set in ATTBDevEnv.cmake") - -# Boost -SET(TPL_ENABLE_Boost ON CACHE BOOL "Set in ATTBDevEnv.cmake") -ASSERT_DEFINED(ENV{BOOST_ROOT}) -SET(Boost_INCLUDE_DIRS "$ENV{BOOST_ROOT}/include" - CACHE PATH "Set in ATTBDevEnv.cmake") -SET(Boost_LIBRARY_DIRS "$ENV{BOOST_ROOT}/lib" - CACHE PATH "Set in ATTBDevEnv.cmake") - -# BoostLib -SET(TPL_ENABLE_BoostLib ON CACHE BOOL "Set in ATTBDevEnv.cmake") -ASSERT_DEFINED(ENV{BOOST_ROOT}) -SET(BoostLib_INCLUDE_DIRS "$ENV{BOOST_ROOT}/include" - CACHE PATH "Set in ATTBDevEnv.cmake") -SET(BoostLib_LIBRARY_DIRS "$ENV{BOOST_ROOT}/lib" - CACHE PATH "Set in ATTBDevEnv.cmake") - -# HDF5 -SET(TPL_ENABLE_HDF5 ON CACHE BOOL "Set in ATTBDevEnv.cmake") -ASSERT_DEFINED(ENV{HDF5_ROOT}) -ASSERT_DEFINED(ENV{ZLIB_ROOT}) -SET(TPL_HDF5_INCLUDE_DIRS "$ENV{HDF5_ROOT}/include;$ENV{ZLIB_ROOT}/include" - CACHE PATH "Set in ATTBDevEnv.cmake") -SET(HDF5_LIBRARY_DIRS "$ENV{HDF5_ROOT}/lib;$ENV{ZLIB_ROOT}/lib" - CACHE PATH "Set in ATTBDevEnv.cmake") -SET(HDF5_LIBRARY_NAMES "hdf5_hl;hdf5_fortran;hdf5;z" - CACHE STRING "Set in ATTBDevEnv.cmake") - -# Netcdf -SET(TPL_ENABLE_Netcdf ON CACHE BOOL "Set in ATTBDevEnv.cmake") -ASSERT_DEFINED(ENV{NETCDF_ROOT}) -ASSERT_DEFINED(ENV{PNETCDF_ROOT}) -ASSERT_DEFINED(ENV{HDF5_ROOT}) -SET(TPL_Netcdf_INCLUDE_DIRS "$ENV{NETCDF_ROOT}/include;$ENV{PNETCDF_ROOT}/include;${TPL_HDF5_INCLUDE_DIRS}" - CACHE PATH "Set in ATTBDevEnv.cmake") -SET(Netcdf_LIBRARY_DIRS "$ENV{NETCDF_ROOT}/lib;$ENV{PNETCDF_ROOT}/lib;${HDF5_LIBRARY_DIRS}" - CACHE PATH "Set in ATTBDevEnv.cmake") -SET(Netcdf_LIBRARY_NAMES "netcdf;pnetcdf;${HDF5_LIBRARY_NAMES}" - CACHE STRING "Set in ATTBDevEnv.cmake") - -# -# Test disables -# - -# See Trilinos #202 -SET(STKUnit_tests_util_parallel_UnitTest_MPI_4_DISABLE ON - CACHE BOOL "Set in ATTBDevEnv.cmake") diff --git a/cmake/ctest/drivers/ATTB/attb_cuda_config_base.sh b/cmake/ctest/drivers/ATTB/attb_cuda_config_base.sh deleted file mode 100755 index be16cdb86440..000000000000 --- a/cmake/ctest/drivers/ATTB/attb_cuda_config_base.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/bash -e - -# -# This file gives the basic configuration for Trilinos for CUDA on the ATTB machines -# -# NOTE: Must first: -# -# source source_attb_cuda_env.sh -# - -EXPERIMENTAL_MUELU=ON -if [ "$USE_CUDA" == "ON" ]; then - EXPERIMENTAL_MUELU=OFF -fi - -cmake \ --D Trilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \ --D Trilinos_ENABLE_INSTALL_CMAKE_CONFIG_FILES:BOOL=ON \ --D BUILD_SHARED_LIBS:BOOL=OFF \ --D Trilinos_ENABLE_DEBUG=OFF \ --D CMAKE_BUILD_TYPE:STRING=${BUILD_TYPE} \ --D Phalanx_KOKKOS_DEVICE_TYPE:STRING="${NODE_TYPE}" \ --D Trilinos_ENABLE_Fortran:BOOL=ON \ --D HAVE_INTREPID_KOKKOSCORE:BOOL=ON \ --D Panzer_ENABLE_FADTYPE:STRING="Sacado::Fad::DFad" \ --D MueLu_ENABLE_Experimental:BOOL=${EXPERIMENTAL_MUELU} \ --D Xpetra_ENABLE_Experimental:BOOL=${EXPERIMENTAL_MUELU} \ --D TPL_ENABLE_GLM=OFF \ --D Panzer_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \ --D SEACASExodus_ENABLE_MPI:BOOL=ON \ --D EpetraExt_ENABLE_HDF5:BOOL=OFF \ --D Teuchos_ENABLE_LONG_LONG_INT:BOOL=OFF \ --D Intrepid_ENABLE_DEBUG_INF_CHECK=OFF \ --D IntrepidIntrepid2_ENABLE_DEBUG_INF_CHECK:BOOL=OFF \ --D CMAKE_CXX_COMPILER:FILEPATH="mpicxx" \ --D CMAKE_C_COMPILER:FILEPATH="mpicc" \ --D CMAKE_Fortran_COMPILER:FILEPATH="mpif77" \ --D CMAKE_C_FLAGS:STRING="${EXTRA_FLAGS}" \ --D CMAKE_CXX_FLAGS:STRING="${EXTRA_FLAGS}" \ --D CMAKE_Fortran_FLAGS:STRING="${EXTRA_FLAGS}" \ --D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \ --D CMAKE_SKIP_RULE_DEPENDENCY=ON \ --D Trilinos_VERBOSE_CONFIGURE:BOOL=OFF \ --D Trilinos_ENABLE_STRONG_CXX_COMPILE_WARNINGS=OFF \ --D Trilinos_ENABLE_STRONG_C_COMPILE_WARNINGS=OFF \ --D Trilinos_ENABLE_SHADOW_WARNINGS=OFF \ --D TPL_ENABLE_MPI:BOOL=ON \ --D MPI_EXEC_POST_NUMPROCS_FLAGS:STRING="${MPI_POST_FLAG}" \ --D TPL_ENABLE_HWLOC:BOOL=${USE_HWLOC} \ --D TPL_ENABLE_Boost:BOOL=ON \ --D TPL_ENABLE_Netcdf:BOOL=ON \ --D Netcdf_INCLUDE_DIRS:FILEPATH="${NETCDF_ROOT}/include" \ --D HDF5_INCLUDE_DIRS:FILEPATH="${HDF5_ROOT}/include" \ --D Netcdf_LIBRARY_DIRS:FILEPATH="${NETCDF_ROOT}/lib" \ --D HDF5_LIBRARY_DIRS:FILEPATH="${HDF5_ROOT}/lib" \ --D TPL_HDF5_LIBRARIES:FILEPATH="-L${HDF5_ROOT}/lib;${HDF5_ROOT}/lib/libhdf5_hl.a;${HDF5_ROOT}/lib/libhdf5.a;-lz;-ldl" \ --D TPL_Netcdf_LIBRARIES="-L${BOOST_ROOT}/lib;-L${NETCDF_ROOT}/lib;-L${NETCDF_ROOT}/lib;-L${PNETCDF_ROOT}/lib;-L${HDF5_ROOT}/lib;${BOOST_ROOT}/lib/libboost_program_options.a;${BOOST_ROOT}/lib/libboost_system.a;${NETCDF_ROOT}/lib/libnetcdf.a;${PNETCDF_ROOT}/lib/libpnetcdf.a;${HDF5_ROOT}/lib/libhdf5_hl.a;${HDF5_ROOT}/lib/libhdf5.a;-lz;-ldl" \ --D TPL_ENABLE_BoostLib=ON \ --DBoostLib_LIBRARY_DIRS=${BOOST_ROOT}/lib \ --D TPL_ENABLE_Netcdf:BOOL=ON \ --D TPL_ENABLE_HDF5:BOOL=ON \ --D TPL_ENABLE_Matio=OFF \ --D TPL_ENABLE_LAPACK:BOOL=ON \ --D TPL_LAPACK_LIBRARIES:FILEPATH="${LAPACK_LIB}" \ --D TPL_ENABLE_BLAS:BOOL=ON \ --D TPL_BLAS_LIBRARIES:FILEPATH="${LAPACK_LIB}" \ --D TPL_HWLOC_LIBRARIES:FILEPATH="${HWLOC_LIBS}" \ --D CMAKE_SKIP_RULE_DEPENDENCY=ON \ --D TPL_ENABLE_Matio:BOOL=OFF \ --D TPL_ENABLE_X11:BOOL=OFF \ --D TPL_ENABLE_SuperLU:BOOL=OFF \ --D Trilinos_ENABLE_OpenMP=${USE_OPENMP} \ --D Kokkos_ENABLE_OpenMP:BOOL=${USE_OPENMP} \ --D Kokkos_ENABLE_Pthread:BOOL=${USE_PTHREADS} \ --D TPL_ENABLE_CUDA:BOOL=${USE_CUDA} \ --D TPL_ENABLE_CUSPARSE:BOOL=${USE_CUDA} \ --D Kokkos_ENABLE_Cuda_UVM:BOOL=${USE_CUDA} \ --D Kokkos_ENABLE_Debug_Bounds_Check=ON \ -"$@" \ -${TRILINOS_BASE_DIR}/Trilinos diff --git a/cmake/ctest/drivers/ATTB/attb_cuda_config_for_drekar.sh b/cmake/ctest/drivers/ATTB/attb_cuda_config_for_drekar.sh deleted file mode 100755 index efc5725ac370..000000000000 --- a/cmake/ctest/drivers/ATTB/attb_cuda_config_for_drekar.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -e - -# -# This file gives the configure of all the Trilinos packages needed by Drekar -# - -./attb_cuda_config_base.sh \ --D Trilinos_ENABLE_EXAMPLES:BOOL=OFF \ --D Trilinos_ENABLE_TESTS:BOOL=${TEST} \ --D Panzer_ENABLE_TESTS:BOOL=ON \ --D Trilinos_ENABLE_KokkosCore:BOOL=ON \ --D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON \ --D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF \ --D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=OFF \ --D Trilinos_ENABLE_Teko:BOOL=ON \ --D Trilinos_ENABLE_MueLu:BOOL=${EXPERIMENTAL_MUELU} \ --D Trilinos_ENABLE_Belos:BOOL=ON \ --D Trilinos_ENABLE_Panzer:BOOL=ON \ --D Trilinos_ENABLE_Shards:BOOL=ON \ --D Trilinos_ENABLE_Stratimikos:BOOL=ON \ --D Trilinos_ENABLE_ML:BOOL=ON \ --D Trilinos_ENABLE_Zoltan:BOOL=ON \ --D Trilinos_ENABLE_Zoltan2:BOOL=ON \ --D Trilinos_ENABLE_FEI:BOOL=ON \ --D Trilinos_ENABLE_Amesos:BOOL=ON \ --D Trilinos_ENABLE_SEACAS:BOOL=ON \ --D Trilinos_ENABLE_SEACASIoss:BOOL=ON \ --D Trilinos_ENABLE_STK:BOOL=ON \ --D Trilinos_ENABLE_STKClassic:BOOL=OFF \ --D Trilinos_ENABLE_STKMesh:BOOL=ON \ --D Trilinos_ENABLE_STKUtil:BOOL=ON \ --D Trilinos_ENABLE_STKSearch:BOOL=OFF \ --D Trilinos_ENABLE_STKTopology:BOOL=ON \ --D Trilinos_ENABLE_STKTransfer:BOOL=ON \ --D Trilinos_ENABLE_STKDoc_tests:BOOL=OFF \ --D Trilinos_ENABLE_STKUnit_tests:BOOL=OFF \ --D Trilinos_ENABLE_STKUnit_test_utils:BOOL=OFF \ --D Trilinos_ENABLE_Stokhos:BOOL=OFF \ --D CMAKE_INSTALL_PREFIX:PATH=${INSTALL_DIR} \ -"$@" diff --git a/cmake/ctest/drivers/ATTB/checkin-test-attb.sh b/cmake/ctest/drivers/ATTB/checkin-test-attb.sh deleted file mode 100755 index 67d18107f663..000000000000 --- a/cmake/ctest/drivers/ATTB/checkin-test-attb.sh +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/bash - -# Used to test Trilinos on any ATTB machine -# -# NOTE: You can pass through arguments with spaces using quotes like: -# -# --ctest-options="-E '(Test1|Test2)'" -# -# and it will preserve the spaces correctly. If you want to pass along -# quotes, you have to escape them like: -# -# --ctest-options="-E \"(Test1|Test2)\"" -# -# The default location for this directory tree is: -# -# Trilinos.base -# Trilinos (your Trilinos soruce tree) -# BUILDS -# CHECKIN (where you run this script from) -# - -if [ "$TRILINOS_DIR" == "" ] ; then - _ABS_FILE_PATH=`readlink -f $0` - _SCRIPT_DIR=`dirname $_ABS_FILE_PATH` - TRILINOS_DIR=$_SCRIPT_DIR/../../../.. -fi - -TRILINOS_DIR_ABS=$(readlink -f $TRILINOS_DIR) - -# Packages in Trilinos to disable (mostly for auotmated CI server) -DISABLE_PACKAGES=PyTrilinos,Pliris,Claps,TriKota - -# Check to make sure that the env has been loaded correctly -if [ "$ATTB_ENV" == "" ] ; then - echo "Error, must load correct module (see load_attb_dev_env.sh)!" - exit 1 -fi - -echo " --DTrilinos_USE_ATTB_DEV_ENV=ON --DTrilinos_DISABLE_ENABLED_FORWARD_DEP_PACKAGES=ON --DBUILD_SHARED_LIBS=OFF -" > COMMON.config - -# -# Built-in Primary Tested (PT) --default-builds (DO NOT MODIFY) -# - -echo " -" > MPI_DEBUG.config - -echo " -" > SERIAL_RELEASE.config - -# -# Standard Secondary Tested (ST) --st-extra-builds (DO NOT MODIFY) -# - -echo " --DCMAKE_BUILD_TYPE=RELEASE --DTrilinos_ENABLE_DEBUG=ON --DTPL_ENABLE_MPI=ON -" > MPI_DEBUG_ST.config - -echo " --DCMAKE_BUILD_TYPE=RELEASE --DTrilinos_ENABLE_DEBUG=OFF --DTPL_ENABLE_MPI=OFF -" > SERIAL_RELEASE_ST.config - -# -# --extra-builds -# - -echo " --DCMAKE_BUILD_TYPE:STRING=RELEASE --DTrilinos_ENABLE_DEBUG:BOOL=OFF -" > MPI_RELEASE.config - -# Create local defaults file if one does not exist -_LOCAL_CHECKIN_TEST_DEFAULTS=local-checkin-test-defaults.py -if [ -f $_LOCAL_CHECKIN_TEST_DEFAULTS ] ; then - echo "File $_LOCAL_CHECKIN_TEST_DEFAULTS already exists, leaving it!" -else - echo "Creating default file $_LOCAL_CHECKIN_TEST_DEFAULTS!" - echo " -defaults = [ - \"-j16\", - \"--ctest-timeout=180\", - \"--st-extra-builds=MPI_DEBUG_ST,SERIAL_RELEASE_ST\", - \"--disable-packages=$DISABLE_PACKAGES\", - \"--skip-case-no-email\", - \"--ctest-options=\\\"-E '(MueLu_ParameterListInterpreterEpetra|MueLu_ParameterListInterpreterTpetra)'\\\"\", - ] - " > $_LOCAL_CHECKIN_TEST_DEFAULTS -fi - -# -# Invocation -# - -$TRILINOS_DIR_ABS/checkin-test.py \ -"$@" diff --git a/cmake/ctest/drivers/ATTB/do-configure.MPI_RELEASE_DEBUG_STATIC b/cmake/ctest/drivers/ATTB/do-configure.MPI_RELEASE_DEBUG_STATIC deleted file mode 100755 index f35e916e7194..000000000000 --- a/cmake/ctest/drivers/ATTB/do-configure.MPI_RELEASE_DEBUG_STATIC +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - - -if [ "$TRILINOS_DIR" == "" ] ; then - _ABS_FILE_PATH=`readlink -f $0` - _SCRIPT_DIR=`dirname $_ABS_FILE_PATH` - TRILINOS_DIR=$_SCRIPT_DIR/../../../.. -fi - -TRILINOS_DIR_ABS=$(readlink -f $TRILINOS_DIR) - -cmake \ - -DTrilinos_USE_ATTB_DEV_ENV=ON \ - -DTPL_ENABLE_MPI=ON \ - -DCMAKE_BUILD_TYPE=Release \ - -DTrilinos_ENABLE_DEBUG=ON \ - -DBUILD_SHARED_LIBS=OFF \ - -DTrilinos_ENABLE_TESTS=ON \ - "$@" \ - ${TRILINOS_DIR} diff --git a/cmake/ctest/drivers/ATTB/load_attb_cuda_env.sh b/cmake/ctest/drivers/ATTB/load_attb_cuda_env.sh deleted file mode 100644 index e31a09f0dde5..000000000000 --- a/cmake/ctest/drivers/ATTB/load_attb_cuda_env.sh +++ /dev/null @@ -1,41 +0,0 @@ -# -# This file is sourced in order to configure and build Trilinos with CUDA on the -# ATTB machines. -# -# NOTE: Set the env var TRILINOS_BASE_DIR to your location for Trilinos if it is not -# under $HOME/workspace. -# - -if [ "$TRILINOS_BASE_DIR" == "" ] ; then - export TRILINOS_BASE_DIR=$HOME/workspace -fi -#!/bin/bash -module purge -module load seacas/serial/20160328 - -export USE_CUDA=ON -NODE_TYPE=CUDA -export NODE_TYPE - -echo using compiler stack $COMPILER to build $BUILD_TYPE code - -module load devpack/openmpi/1.10.0/gcc/4.8.4/cuda/7.5.18 -export OMPI_CXX=$TRILINOS_BASE_DIR/Trilinos/packages/kokkos/config/nvcc_wrapper -export USE_CUDA=ON -module load blas/gcc/4.8.4 -module load lapack/3.5.0/gcc/4.8.4 -export LAPACK_LIB="-L${LAPACK_ROOT}/lib;-llapack;-L${BLAS_ROOT}/lib;-lblas;-lgfortran" - - -module swap yaml-cpp/0.3.0 yaml-cpp/20170104 -if [ $? ]; then module load yaml-cpp/20170104; fi -export COMPILER -unset ATTB_ENV - -export NETCDF_BASE_DIR=$NETCDF_ROOT -export HDF_BASE_DIR=$HDF5_ROOT -export BOOST_BASE_DIR=$BOOST_ROOT -export BUILD_TYPE=DEBUG - -echo BUILD_TYPE = ${BUILD_TYPE} -echo Using openmp = ${USE_OPENMP} diff --git a/cmake/ctest/drivers/ATTB/load_attb_dev_env.sh b/cmake/ctest/drivers/ATTB/load_attb_dev_env.sh deleted file mode 100644 index 34303461da15..000000000000 --- a/cmake/ctest/drivers/ATTB/load_attb_dev_env.sh +++ /dev/null @@ -1,28 +0,0 @@ -if [[ `hostname` =~ hansen.* ]] ; then - echo "Is hansen!" - export ATTB_DEVPACK_MODULE=devpack/openmpi/1.10.0/gcc/4.8.4/cuda/7.5.18 -elif [[ `hostname` =~ shiller.* ]] ; then - echo "Is shiller!" - export ATTB_DEVPACK_MODULE=devpack/openmpi/1.10.0/gcc/4.8.4/cuda/7.5.18 -elif [[ `hostname` =~ shepard.* ]] ; then - echo "Is shepard!" - export ATTB_DEVPACK_MODULE=devpack/openmpi/1.10.0/intel/16.1.056/cuda/none -else - echo "On some unknown machine, aborting!" -fi - -echo -echo "Setting up default dev env $ATTB_DEVPACK_MODULE" -module load $ATTB_DEVPACK_MODULE - -echo -echo "Loading more recent git" -module load git/20150310 -which git -git --version - -echo -echo "Loading CMake 3.4.3" -module load cmake/3.4.3 -which cmake -cmake --version From 1188e55b8801edb807a6f3be43b4debd2fe901dd Mon Sep 17 00:00:00 2001 From: "Roscoe A. Bartlett" Date: Tue, 13 Mar 2018 14:19:10 -0600 Subject: [PATCH 3/3] Allow SEMSDevEnv.cmake to be read in with -C (#482) For those that like to use -C instead of -DTrilinos_CONFIGURE_OPTIONS_FILE now you can read this in with -C. But you will need to provide the entire path and can't provide a relative path like with -DTrilinos_CONFIGURE_OPTIONS_FILE:STIRNG=. --- cmake/std/sems/SEMSDevEnv.cmake | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cmake/std/sems/SEMSDevEnv.cmake b/cmake/std/sems/SEMSDevEnv.cmake index 03c264e0dab5..b4498ff84b79 100644 --- a/cmake/std/sems/SEMSDevEnv.cmake +++ b/cmake/std/sems/SEMSDevEnv.cmake @@ -2,6 +2,20 @@ # Base options for all SEMS Dev Env bulids for Trilinos # + +# Handle this being passed in with -C option instead of +# _CONFIGURE_OPTIONS_FILE. +IF ("${PROJECT_NAME}" STREQUAL "") + SET(PROJECT_NAME Trilinos) + FUNCTION(ASSERT_DEFINED VARS) + FOREACH(VAR ${VARS}) + IF(NOT DEFINED ${VAR}) + MESSAGE(SEND_ERROR "Error, the variable ${VAR} is not defined!") + ENDIF() + ENDFOREACH() + ENDFUNCTION() +ENDIF() + # # A) Define the compilers and basic env #