Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide a single file MpiReleaseDebugSharedPtSerial.cmake that can be read in with cmake -C (#2462) #2609

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ SET(Trilinos_BRANCH develop)
SET(EXTRA_EXCLUDE_PACKAGES)

SET( EXTRA_CONFIGURE_OPTIONS
"-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/MpiReleaseDebugSharedPtSettings.cmake,cmake/std/BasicCiTestingSettings.cmake,cmake/std/sems/SEMSDevEnv.cmake"
"-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/MpiReleaseDebugSharedPtSerial.cmake"
"-DTrilinos_TEST_CATEGORIES=BASIC"
"-DTrilinos_ENABLE_CONFIGURE_TIMING=ON"
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ SET(Trilinos_BRANCH develop)
SET(EXTRA_EXCLUDE_PACKAGES)

SET( EXTRA_CONFIGURE_OPTIONS
"-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/MpiReleaseDebugSharedPtSettings.cmake,cmake/std/BasicCiTestingSettings.cmake,cmake/std/sems/SEMSDevEnv.cmake"
"-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/MpiReleaseDebugSharedPtSerial.cmake"
"-DTrilinos_TEST_CATEGORIES=BASIC"
"-DTrilinos_ENABLE_CONFIGURE_TIMING=ON"
)
Expand Down
49 changes: 19 additions & 30 deletions cmake/std/BasicCiTestingSettings.cmake
Original file line number Diff line number Diff line change
@@ -1,46 +1,35 @@
# Helper function
MACRO(TRIL_SET_BOOL_CACHE_VAR_FOR_CI VAR_NAME VAR_VALUE)
IF ("${${VAR_NAME}}" STREQUAL "")
MESSAGE("-- " "Setting ${VAR_NAME}='${VAR_VALUE}' by default for CI testing")
SET(${VAR_NAME} ${VAR_VALUE} CACHE BOOL
"Set in BasicCiTestingSettings.cmake")
ENDIF()
ENDMACRO()
INCLUDE("${CMAKE_CURRENT_LIST_DIR}/SetUtils.cmake")

# Ignore warnings coming from TPL headers (see #1458)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(${PROJECT_NAME}_TPL_SYSTEM_INCLUDE_DIRS TRUE)
TRIL_SET_BOOL_CACHE_VAR(${PROJECT_NAME}_TPL_SYSTEM_INCLUDE_DIRS TRUE)

# Disable a bunch of TPLs that are not to be enabled in CI testing (since
# the SEMS env does not have them).
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_GLM OFF)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_Matio OFF)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_X11 OFF)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_GLM OFF)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_Matio OFF)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_X11 OFF)

# Default enable the TPLs that SEMS provides
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_Pthread ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_BLAS ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_LAPACK ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_Boost ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_BoostLib ON)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_Pthread ON)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_BLAS ON)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_LAPACK ON)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_Boost ON)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_BoostLib ON)
IF (TPL_ENABLE_MPI)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_Scotch ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_ParMETIS ON)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_Scotch ON)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_ParMETIS ON)
ENDIF()
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_Zlib ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_HDF5 ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_Netcdf ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(TPL_ENABLE_SuperLU ON)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_Zlib ON)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_HDF5 ON)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_Netcdf ON)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_SuperLU ON)

# We want to see tracing of added tests to help in debugging
# problems.
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(Trilinos_TRACE_ADD_TEST ON)

# Enable experimental features in Trilinos used by ATDM (#2462)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(Xpetra_ENABLE_Experimental ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(MueLu_ENABLE_Experimental ON)
TRIL_SET_BOOL_CACHE_VAR(Trilinos_TRACE_ADD_TEST ON)

# Disable long-failing Piro test until it can be fixed (#826)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(Piro_EpetraSolver_MPI_4_DISABLE ON)
TRIL_SET_BOOL_CACHE_VAR(Piro_EpetraSolver_MPI_4_DISABLE ON)

# Disable test that was enabled when Scotch TPL was enabled (#2051, #2052)
TRIL_SET_BOOL_CACHE_VAR_FOR_CI(Zoltan2_orderingTestDriverExample_MPI_1_DISABLE ON)
TRIL_SET_BOOL_CACHE_VAR(Zoltan2_orderingTestDriverExample_MPI_1_DISABLE ON)
21 changes: 21 additions & 0 deletions cmake/std/MpiReleaseDebugSharedPtSerial.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# This file can be read in using either:
#
# -C <abs-path>/<file-name>.cmake
#
# or:
#
# -DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/<file-name>.cmake
#

# Handle this being passed in with -C option instead of
# <Project>_CONFIGURE_OPTIONS_FILE.
IF ("${PROJECT_NAME}" STREQUAL "")
SET(PROJECT_NAME Trilinos)
INCLUDE("${CMAKE_CURRENT_LIST_DIR}/../tribits/core/utils/AssertDefined.cmake")
ENDIF()

# NOTE: The order of these includes matters!

include("${CMAKE_CURRENT_LIST_DIR}/MpiReleaseDebugSharedPtSettings.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/BasicCiTestingSettings.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/sems/SEMSDevEnv.cmake")
25 changes: 9 additions & 16 deletions cmake/std/MpiReleaseDebugSharedPtSettings.cmake
Original file line number Diff line number Diff line change
@@ -1,17 +1,10 @@
# Helper function
MACRO(TRIL_SET_BOOL_CACHE_VAR_FOR_PT_BUILD VAR_NAME VAR_VALUE)
IF ("${${VAR_NAME}}" STREQUAL "")
MESSAGE("-- " "Setting ${VAR_NAME}='${VAR_VALUE}' by default for standard PT CI build")
SET(${VAR_NAME} ${VAR_VALUE} CACHE BOOL
"Set in MpiReleaseDebugSharedPtSettings.cmake")
ENDIF()
ENDMACRO()
INCLUDE("${CMAKE_CURRENT_LIST_DIR}/SetUtils.cmake")

TRIL_SET_BOOL_CACHE_VAR_FOR_PT_BUILD(TPL_ENABLE_MPI ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_PT_BUILD(CMAKE_BUILD_TYPE RELEASE)
TRIL_SET_BOOL_CACHE_VAR_FOR_PT_BUILD(Trilinos_ENABLE_DEBUG ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_PT_BUILD(BUILD_SHARED_LIBS ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_PT_BUILD(Trilinos_ENABLE_DEBUG_SYMBOLS ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_PT_BUILD(Trilinos_ENABLE_EXPLICIT_INSTANTIATION ON)
TRIL_SET_BOOL_CACHE_VAR_FOR_PT_BUILD(Trilinos_ENABLE_SECONDARY_TESTED_CODE OFF)
TRIL_SET_BOOL_CACHE_VAR_FOR_PT_BUILD(Teuchos_ENABLE_DEFAULT_STACKTRACE OFF)
TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_MPI ON)
TRIL_SET_BOOL_CACHE_VAR(CMAKE_BUILD_TYPE RELEASE)
TRIL_SET_BOOL_CACHE_VAR(Trilinos_ENABLE_DEBUG ON)
TRIL_SET_BOOL_CACHE_VAR(BUILD_SHARED_LIBS ON)
TRIL_SET_BOOL_CACHE_VAR(Trilinos_ENABLE_DEBUG_SYMBOLS ON)
TRIL_SET_BOOL_CACHE_VAR(Trilinos_ENABLE_EXPLICIT_INSTANTIATION ON)
TRIL_SET_BOOL_CACHE_VAR(Trilinos_ENABLE_SECONDARY_TESTED_CODE OFF)
TRIL_SET_BOOL_CACHE_VAR(Teuchos_ENABLE_DEFAULT_STACKTRACE OFF)
29 changes: 29 additions & 0 deletions cmake/std/MpiReleaseSharedPtSerial.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This file can be read in using either:
#
# -C <abs-path>/<file-name>.cmake
#
# or:
#
# -DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/<file-name>.cmake
#

# Handle this being passed in with -C option instead of
# <Project>_CONFIGURE_OPTIONS_FILE.
IF ("${PROJECT_NAME}" STREQUAL "")
SET(PROJECT_NAME Trilinos)
INCLUDE("${CMAKE_CURRENT_LIST_DIR}/../tribits/core/utils/AssertDefined.cmake")
ENDIF()

INCLUDE("${CMAKE_CURRENT_LIST_DIR}/SetUtils.cmake")

TRIL_SET_BOOL_CACHE_VAR(TPL_ENABLE_MPI ON)
TRIL_SET_BOOL_CACHE_VAR(CMAKE_BUILD_TYPE RELEASE)
TRIL_SET_BOOL_CACHE_VAR(Trilinos_ENABLE_DEBUG OFF)
TRIL_SET_BOOL_CACHE_VAR(BUILD_SHARED_LIBS ON)
TRIL_SET_BOOL_CACHE_VAR(Trilinos_ENABLE_EXPLICIT_INSTANTIATION ON)
TRIL_SET_BOOL_CACHE_VAR(Trilinos_ENABLE_SECONDARY_TESTED_CODE OFF)

# NOTE: The order of these includes matters!

include("${CMAKE_CURRENT_LIST_DIR}/BasicCiTestingSettings.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/sems/SEMSDevEnv.cmake")
7 changes: 7 additions & 0 deletions cmake/std/SetUtils.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
MACRO(TRIL_SET_BOOL_CACHE_VAR VAR_NAME VAR_VALUE)
IF ("${${VAR_NAME}}" STREQUAL "")
MESSAGE("-- " "Setting ${VAR_NAME}='${VAR_VALUE}' by default")
SET(${VAR_NAME} ${VAR_VALUE} CACHE BOOL
"Set in ${CMAKE_CURRENT_LIST_FILE}")
ENDIF()
ENDMACRO()
8 changes: 1 addition & 7 deletions cmake/std/sems/SEMSDevEnv.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,7 @@
# <Project>_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()
INCLUDE("${CMAKE_CURRENT_LIST_DIR}/../../tribits/core/utils/AssertDefined.cmake")
ENDIF()

#
Expand Down
16 changes: 1 addition & 15 deletions project-checkin-test-config.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@

# Default options that are common to all builds.
'common': [
# Shared libs safes a ton of disk space and catches more errors
# than static builds.
'-DBUILD_SHARED_LIBS=ON',
# For graceful disables, we want to turn this on.
'-DTrilinos_DISABLE_ENABLED_FORWARD_DEP_PACKAGES=ON',
],
Expand All @@ -35,20 +32,9 @@
'default-builds': [

('MPI_RELEASE_DEBUG_SHARED_PT', [
'-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/MpiReleaseDebugSharedPtSettings.cmake,cmake/std/BasicCiTestingSettings.cmake,cmake/std/sems/SEMSDevEnv.cmake',
'-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/MpiReleaseDebugSharedPtSerial.cmake',
]),

## 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',
# ]),
# ToDo: Should we define serial builds to allow developers to run
# them if they want?

], # default-builds

}, # cmake
Expand Down