From e44cead99178c34035af6dac70d6efe7dcea64c7 Mon Sep 17 00:00:00 2001 From: "Roscoe A. Bartlett" Date: Fri, 11 Nov 2016 14:06:16 -0700 Subject: [PATCH] Update for a single PT MPI_RELEASE_DEBUG_SHARED build (#482, #811) This defines a new standard single CI build. What is in the build can be debated and changed but I think what is here is close to the one possible best build that protects the most code, the most development activities, and the most users. --- cmake/std/sems/checkin-test-sems.sh | 22 ++++++-------- project-checkin-test-config.py | 47 +++++++++++++++++------------ 2 files changed, 37 insertions(+), 32 deletions(-) diff --git a/cmake/std/sems/checkin-test-sems.sh b/cmake/std/sems/checkin-test-sems.sh index 1886e50d7682..5c2852779aa4 100755 --- a/cmake/std/sems/checkin-test-sems.sh +++ b/cmake/std/sems/checkin-test-sems.sh @@ -50,16 +50,13 @@ source $TRILINOS_DIR_ABS/cmake/load_ci_sems_dev_env.sh # B) Set up the bulid configurations # -echo " --DTrilinos_DISABLE_ENABLED_FORWARD_DEP_PACKAGES=ON --DTrilinos_TRACE_ADD_TEST=ON -" > COMMON.config -# Above, we want to allow disabling enabled downstream packages if a -# dependency turns them off. Also, we want to see the tracing of the tests -# being added to help debug why a given test is being added or not. +# Leave the COMMON.config file for the user to fil in for any strange aspects +# to their system not coverted by SEMS (I can't imagine what that might be). -# NOTE: The PT --default-builds MPI_DEBUG and SERIAL_RELEASE are already set -# up automatically! +# All of the options needed for the --default-builds=MPI_RELEASE_DEBUG_SHARED +# is set in project-checkin-test-config.py. +echo " +" > MPI_RELEASE_DEBUG_SHARED.config echo " -DTPL_ENABLE_MPI=ON @@ -119,10 +116,11 @@ fi # # -j4: Uses very few processes by default # -# --ctest-timeout=180: A default 3 minute timeout +# --ctest-timeout=180: A default 3 minute timeout. You might want to increase +# if you have a very slow machine. # -# --disable-packages: These a packages that most Trilinos developers wil not -# want to test by default. +# --disable-packages: These are packages that most Trilinos developers wil not +# want to test by default ever. # # --skip-case-no-email: Don't send email for skipped test cases # diff --git a/project-checkin-test-config.py b/project-checkin-test-config.py index bc3550237166..25c0e5bd9b8a 100755 --- a/project-checkin-test-config.py +++ b/project-checkin-test-config.py @@ -18,10 +18,15 @@ # this dictionary should be Python lists of -D arguments to cmake. 'cmake': { - # Options that are common to all builds. + # Default options that are common to all builds. 'common': [ - '-DTPL_ENABLE_Pthread:BOOL=OFF', - '-DTPL_ENABLE_BinUtils:BOOL=OFF', + # Shared libs safes a ton of disk space and catches more errors + '-DBUILD_SHARED_LIBS=ON', + # For graceful disables, we want to turn this on + '-DTrilinos_DISABLE_ENABLED_FORWARD_DEP_PACKAGES=ON', + # We want to see tracing of added tests to help in debugging + # problems. + '-DTrilinos_TRACE_ADD_TEST=ON', ], # Setup for the builds that should be run by default for a @@ -31,28 +36,30 @@ 'default-builds': [ # Options for the MPI_DEBUG build. - ('MPI_DEBUG', [ - '-DTPL_ENABLE_MPI:BOOL=ON', - '-DCMAKE_BUILD_TYPE:STRING=RELEASE', - '-DTrilinos_ENABLE_DEBUG:BOOL=ON', - '-DTrilinos_ENABLE_CHECKED_STL:BOOL=ON', - '-DTrilinos_ENABLE_DEBUG_SYMBOLS:BOOL=ON', - '-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON', - '-DTeuchos_ENABLE_DEFAULT_STACKTRACE:BOOL=OFF', + ('MPI_RELEASE_DEBUG_SHARED', [ + '-DTPL_ENABLE_MPI=ON', + '-DCMAKE_BUILD_TYPE=RELEASE', + '-DTrilinos_ENABLE_DEBUG=ON', + '-DBUILD_SHARED_LIBS=ON', + '-DTrilinos_ENABLE_DEBUG_SYMBOLS=ON', + '-DTrilinos_ENABLE_CI_TEST_MODE=ON', + '-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION=ON', + '-DTrilinos_ENABLE_SECONDARY_TESTED_CODE=OFF', + '-DTrilinos_ENABLE_TESTS=ON', + '-DTeuchos_ENABLE_DEFAULT_STACKTRACE=OFF', ]), - # Options for the SERIAL_RELEASE build. - ('SERIAL_RELEASE', [ - '-DTPL_ENABLE_MPI:BOOL=OFF', - '-DCMAKE_BUILD_TYPE:STRING=RELEASE', - '-DTrilinos_ENABLE_DEBUG:BOOL=OFF', - '-DTrilinos_ENABLE_CHECKED_STL:BOOL=OFF', - '-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=OFF', - ]), +# # Options for the SERIAL_RELEASE build. +# ('SERIAL_RELEASE_SHARED', [ +# '-DTPL_ENABLE_MPI:BOOL=OFF', +# '-DCMAKE_BUILD_TYPE:STRING=RELEASE', +# '-DTrilinos_ENABLE_DEBUG:BOOL=OFF', +# '-DBUILD_SHARED_LIBS=ON', +# '-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=OFF', +# ]), ], # default-builds }, # cmake } # configuration -