diff --git a/cmake/tribits/core/config_tests/FiniteValue.cmake b/cmake/tribits/core/config_tests/FiniteValue.cmake index d46a3ce9fe13dfffd7eef5c3c50374a09e4bdd24..b50b82eb01745237142a64d65890e94946d69481 100644 --- a/cmake/tribits/core/config_tests/FiniteValue.cmake +++ b/cmake/tribits/core/config_tests/FiniteValue.cmake @@ -90,7 +90,7 @@ IF (CMAKE_VERBOSE_MAKEFILE) IF (NOT FINITE_VALUE_HAVE_GLOBAL_ISNAN AND NOT FINITE_VALUE_HAVE_STD_ISNAN ) message("****************************************************") - message("** Warning: Your compiler doesn't support isnan() or") + message("** NOTE: Your compiler doesn't support isnan() or") message("** std::isnan()") message("** We will supply a default checker but it is ") message("** *NOT* guaranteed to work on your platform") @@ -137,7 +137,7 @@ IF (CMAKE_VERBOSE_MAKEFILE) IF (NOT FINITE_VALUE_HAVE_GLOBAL_ISINF AND NOT FINITE_VALUE_HAVE_STD_ISINF ) message("****************************************************") - message("** Warning: Your compiler doesn't support isinf() or") + message("** NOTE: Your compiler doesn't support isinf() or") message("** std::isinf()") message("** We will supply a default checker but it is ") message("** *NOT* guaranteed to work on your platform") diff --git a/cmake/tribits/core/package_arch/TribitsAdjustPackageEnables.cmake b/cmake/tribits/core/package_arch/TribitsAdjustPackageEnables.cmake index 44ef1deee4927dd28ef670c9778fa537c8623097..d56858a7ce44d85ea21a14dbf119acd0267d9b60 100644 --- a/cmake/tribits/core/package_arch/TribitsAdjustPackageEnables.cmake +++ b/cmake/tribits/core/package_arch/TribitsAdjustPackageEnables.cmake @@ -250,7 +250,7 @@ FUNCTION(TRIBITS_APPEND_FORWARD_DEP_PACKAGES PACKAGE_NAME LIST_TYPE) IF (${PROJECT_NAME}_VERBOSE_CONFIGURE) MESSAGE( "\n***" - "\n*** WARNING: The package ${DEP_PKG} has forward dependent package" + "\n*** NOTE: The package ${DEP_PKG} has forward dependent package" " ${PACKAGE_NAME}, but that dependency is being ignored because the package" " ${DEP_PKG} is missing!" "\n***\n" ) @@ -1086,7 +1086,7 @@ FUNCTION(TRIBITS_PRIVATE_PRINT_DISABLE IF (${PROJECT_NAME}_DISABLE_ENABLED_FORWARD_DEP_PACKAGES) MESSAGE( " ***\n" - " *** WARNING: Setting ${ENABLE_BEING_DISABLED_VAR_NAME}=OFF" + " *** NOTE: Setting ${ENABLE_BEING_DISABLED_VAR_NAME}=OFF" " which was '${${ENABLE_BEING_DISABLED_VAR_NAME}}' because" " ${PACKAGE_WITH_SOMETHING_BEING_DISABLED} has" " a required ${DEP_TYPE_STR} dependence on disabled" @@ -1640,7 +1640,7 @@ MACRO(TRIBITS_PRIVATE_POSTPROCESS_OPTIONAL_TPL_ENABLE PACKAGE_NAME OPTIONAL_DEP_ ) MESSAGE( "\n***" - "\n*** WARNING: Setting ${PACKAGE_NAME}_ENABLE_${OPTIONAL_DEP_TPL}=OFF" + "\n*** NOTE: Setting ${PACKAGE_NAME}_ENABLE_${OPTIONAL_DEP_TPL}=OFF" " which was ON since TPL_ENABLE_${OPTIONAL_DEP_TPL}=OFF" "\n***\n" ) diff --git a/cmake/tribits/core/package_arch/TribitsGlobalMacros.cmake b/cmake/tribits/core/package_arch/TribitsGlobalMacros.cmake index cfd7115e7cc4f2f22db056d2f1795edc0a748f28..0dd6b28925982f58da683e4c40db2c8cd5745e21 100644 --- a/cmake/tribits/core/package_arch/TribitsGlobalMacros.cmake +++ b/cmake/tribits/core/package_arch/TribitsGlobalMacros.cmake @@ -1372,7 +1372,7 @@ MACRO(TRIBITS_READ_EXTRA_REPOSITORIES_LISTS) IF (${PROJECT_NAME}_IGNORE_MISSING_EXTRA_REPOSITORIES) MESSAGE( "\n***" - "\n*** WARNING! Ignoring missing ${READ_PRE_OR_POST_EXRAREPOS} extra repo '${EXTRA_REPO}' packages list file '${EXTRAREPO_PACKAGES_FILE}' on request!" + "\n*** NOTE: Ignoring missing ${READ_PRE_OR_POST_EXRAREPOS} extra repo '${EXTRA_REPO}' packages list file '${EXTRAREPO_PACKAGES_FILE}' on request!" "\n***\n") # ToDo: TriBITS:73: Shorten above message to just one line ELSE() @@ -1401,7 +1401,7 @@ MACRO(TRIBITS_READ_EXTRA_REPOSITORIES_LISTS) IF (${PROJECT_NAME}_IGNORE_MISSING_EXTRA_REPOSITORIES) MESSAGE( "\n***" - "\n*** WARNING! Ignoring missing ${READ_PRE_OR_POST_EXRAREPOS} extra repo '${EXTRA_REPO}' TPLs list file '${${EXTRA_REPO}_TPLS_FILE}' on request!" + "\n*** NOTE: Ignoring missing ${READ_PRE_OR_POST_EXRAREPOS} extra repo '${EXTRA_REPO}' TPLs list file '${${EXTRA_REPO}_TPLS_FILE}' on request!" "\n***\n") # ToDo: TriBITS:73: Shorten above warning to just one line ELSE() diff --git a/cmake/tribits/core/package_arch/TribitsLibraryMacros.cmake b/cmake/tribits/core/package_arch/TribitsLibraryMacros.cmake index 2b8aad11f575a6250ffa80b098c538e1a4cdc0cc..5e376a305e1a7c7c28f2d8b43c4ae8c0ce1a65bc 100644 --- a/cmake/tribits/core/package_arch/TribitsLibraryMacros.cmake +++ b/cmake/tribits/core/package_arch/TribitsLibraryMacros.cmake @@ -458,6 +458,11 @@ ENDFUNCTION() # # **Miscellaneous Notes (TRIBITS_ADD_LIBRARY())** # +# When the file ``Version.cmake`` exists and the CMake variables +# ``${PROJECT_NAME}_VERSION`` and ``${PROJECT_NAME}_MAJOR_VERSION`` are +# defined, then produced shared libraries will be given the standard SOVERSION +# symlinks (see `/Version.cmake`_). +# # **WARNING:** Do **NOT** use the built-in CMake command ``ADD_DEFINITIONS()`` # to add defines ``-D`` to the compile command line that will # affect any of the header files in the package! These CMake-added defines @@ -834,12 +839,16 @@ FUNCTION(TRIBITS_ADD_LIBRARY LIBRARY_NAME_IN) LABELS ${PACKAGE_NAME}Libs ${PARENT_PACKAGE_NAME}Libs ) - SET_TARGET_PROPERTIES( - ${LIBRARY_NAME} - PROPERTIES - VERSION ${${PROJECT_NAME}_VERSION} - SOVERSION ${${PROJECT_NAME}_MAJOR_VERSION} + IF (NOT "${${PROJECT_NAME}_VERSION}" STREQUAL "" AND + NOT "${${PROJECT_NAME}_MAJOR_VERSION}" STREQUAL "" ) + SET_TARGET_PROPERTIES( + ${LIBRARY_NAME} + PROPERTIES + VERSION ${${PROJECT_NAME}_VERSION} + SOVERSION ${${PROJECT_NAME}_MAJOR_VERSION} + ) + ENDIF() PREPEND_GLOBAL_SET(${PARENT_PACKAGE_NAME}_LIB_TARGETS ${LIBRARY_NAME}) PREPEND_GLOBAL_SET(${PARENT_PACKAGE_NAME}_ALL_TARGETS ${LIBRARY_NAME}) diff --git a/cmake/tribits/core/package_arch/TribitsListHelpers.cmake b/cmake/tribits/core/package_arch/TribitsListHelpers.cmake index 504ed3fe5843746bb3287c0f200c5711d3b32ddb..29d6cc36158a54a4d98298fc37406cdb6b320078 100644 --- a/cmake/tribits/core/package_arch/TribitsListHelpers.cmake +++ b/cmake/tribits/core/package_arch/TribitsListHelpers.cmake @@ -64,7 +64,7 @@ MACRO(TRIBITS_SET_PACKAGE_TO_EX PACKAGE_NAME) IF (PACKAGE_NAME_IDX EQUAL -1) MESSAGE( "\n***" - "\n*** WARNING: Package ${PACKAGE_NAME} not found in list of packages!" + "\n*** NOTE: Package ${PACKAGE_NAME} not found in list of packages!" "\n***\n" ) ELSE() @@ -110,7 +110,7 @@ MACRO( TRIBITS_DISABLE_PACKAGE_ON_PLATFORMS PACKAGE_NAME ) IF (${PROJECT_NAME}_ENABLE_${PACKAGE_NAME}) MESSAGE( "\n***" - "\n*** WARNING: User has set ${PROJECT_NAME}_ENABLE_${PACKAGE_NAME}=ON but the" + "\n*** NOTE: User has set ${PROJECT_NAME}_ENABLE_${PACKAGE_NAME}=ON but the" "\n*** package ${PACKAGE_NAME} is not supported on this platform type '${HOSTTYPE}'!" "\n***\n" ) diff --git a/cmake/tribits/core/package_arch/TribitsProcessExtraRepositoriesList.cmake b/cmake/tribits/core/package_arch/TribitsProcessExtraRepositoriesList.cmake index 10ff678080962d1d92fe0ceb439ad99e5c0a66e8..0acd90917397fb302b33ee14d1c784d0be91c0ef 100644 --- a/cmake/tribits/core/package_arch/TribitsProcessExtraRepositoriesList.cmake +++ b/cmake/tribits/core/package_arch/TribitsProcessExtraRepositoriesList.cmake @@ -646,7 +646,7 @@ FUNCTION(TRIBITS_FILTER_OR_ASSERT_EXTRA_REPOS) SET(ADD_EXTRAREPO FALSE) IF (${PROJECT_NAME}_IGNORE_MISSING_EXTRA_REPOSITORIES) MESSAGE("-- " - "WARNING: Ignoring missing extra repo '${EXTRAREPO_NAME}'" + "NOTE: Ignoring missing extra repo '${EXTRAREPO_NAME}'" " as requested since ${EXTRAREPO_SOURCE_DIR} does not exist" ) ELSE() MESSAGE( FATAL_ERROR diff --git a/cmake/tribits/core/package_arch/TribitsProcessPackagesAndDirsLists.cmake b/cmake/tribits/core/package_arch/TribitsProcessPackagesAndDirsLists.cmake index 77fb68fef1c3ae2da9570b2467cfb218716919ce..925711092904463de0c455f79e9f1d54cfd46279 100644 --- a/cmake/tribits/core/package_arch/TribitsProcessPackagesAndDirsLists.cmake +++ b/cmake/tribits/core/package_arch/TribitsProcessPackagesAndDirsLists.cmake @@ -357,7 +357,7 @@ FUNCTION(TRIBITS_IMPLICIT_PACKAGE_ENABLE_IS_ALLOWED UPSTREAM_PACKAGE_NAME_IN P SET(IMPLICIT_PACKAGE_ENABLE_ALLOWED TRUE) ELSE() IF (UPSTREAM_PACKAGE_NAME_IN) - MESSAGE("-- " "WARNING: Not Setting ${PROJECT_NAME}_ENABLE_${PACKAGE_NAME_IN}=ON" + MESSAGE("-- " "NOTE: Not Setting ${PROJECT_NAME}_ENABLE_${PACKAGE_NAME_IN}=ON" " even though ${UPSTREAM_PACKAGE_NAME_IN} has an optional dependence on" " ${PACKAGE_NAME_IN} because ${PROJECT_NAME}_ENABLE_SECONDARY_TESTED_CODE=OFF" ) ENDIF() @@ -548,7 +548,7 @@ MACRO(TRIBITS_PROCESS_PACKAGES_AND_DIRS_LISTS REPOSITORY_NAME REPOSITORY_DIR) IF (${PROJECT_NAME}_VERBOSE_CONFIGURE) MESSAGE( "\n***" - "\n*** WARNING: Excluding package ${TRIBITS_PACKAGE} because ${PACKAGE_ABS_DIR}" + "\n*** NOTE: Excluding package ${TRIBITS_PACKAGE} because ${PACKAGE_ABS_DIR}" " does not exist!" "\n***\n" ) ENDIF() diff --git a/cmake/tribits/ctest_driver/TribitsCTestDriverCore.cmake b/cmake/tribits/ctest_driver/TribitsCTestDriverCore.cmake index 5b00923344c3085d0a4d89f4948e1a8ddbb3ce3a..2c3c4b714ac55467f9d31b6085f242040541ddf6 100644 --- a/cmake/tribits/ctest_driver/TribitsCTestDriverCore.cmake +++ b/cmake/tribits/ctest_driver/TribitsCTestDriverCore.cmake @@ -281,15 +281,18 @@ INCLUDE(${CMAKE_CURRENT_LIST_DIR}/TribitsCTestDriverCoreHelpers.cmake) # 8) **Build configured packages and the enabled package tests**. Submit # "Build" data to CDash (only if `CTEST_DO_BUILD`_ ``= TRUE``). # -# 9) **Run enabled tests for the configured packages** (only if -# `CTEST_DO_TEST`_ = ``TRUE``). (Also, this will generate coverage data if -# `CTEST_DO_COVERAGE_TESTING`_ ``= TRUE``). Submit "Test" data to CDash. +# 9) **Install the configured and build targets**. Submit +# "Build" install data to CDash (only if `CTEST_DO_INSTALL`_ ``= TRUE``). # -# 10) **Collect coverage results from tests already run** (only if +# 10) **Run enabled tests for the configured packages** (only if +# `CTEST_DO_TEST`_ = ``TRUE``). (Also, this will generate coverage data if +# `CTEST_DO_COVERAGE_TESTING`_ ``= TRUE``). Submit "Test" data to CDash. +# +# 11) **Collect coverage results from tests already run** (only if # `CTEST_DO_COVERAGE_TESTING`_ ``= TRUE``). Submit "Coverage" data to # CDash. # -# 11) **Run dynamic analysis testing on defined test suite** (e.g. run +# 12) **Run dynamic analysis testing on defined test suite** (e.g. run # ``valgrind`` with each of the test commands (only if # `CTEST_DO_MEMORY_TESTING`_ ``= TRUE``). Submit "MemCheck" data to CDash. # @@ -367,6 +370,7 @@ INCLUDE(${CMAKE_CURRENT_LIST_DIR}/TribitsCTestDriverCoreHelpers.cmake) # * ``CTEST_DO_BUILD`` (`Determining what testing-related actions are performed (TRIBITS_CTEST_DRIVER())`_) # * ``CTEST_DO_CONFIGURE`` (`Determining what testing-related actions are performed (TRIBITS_CTEST_DRIVER())`_) # * ``CTEST_DO_COVERAGE_TESTING`` (`Determining what testing-related actions are performed (TRIBITS_CTEST_DRIVER())`_) +# * ``CTEST_DO_INSTALL`` (`Determining what testing-related actions are performed (TRIBITS_CTEST_DRIVER())`_) # * ``CTEST_DO_MEMORY_TESTING`` (`Determining what testing-related actions are performed (TRIBITS_CTEST_DRIVER())`_) # * ``CTEST_DO_NEW_START`` (`Determining what testing-related actions are performed (TRIBITS_CTEST_DRIVER())`_) # * ``CTEST_DO_SUBMIT`` (`Determining what testing-related actions are performed (TRIBITS_CTEST_DRIVER())`_) @@ -553,9 +557,8 @@ INCLUDE(${CMAKE_CURRENT_LIST_DIR}/TribitsCTestDriverCoreHelpers.cmake) # the specific set of packages to test. If left at the default value of # empty "", then `${PROJECT_NAME}_ENABLE_ALL_PACKAGES`_ is set to ``ON`` # and that enables packages as described in `_ENABLE_ALL_PACKAGES -# enables all PT (and conditionally all ST) SE packages`_. This variable -# can use ',' to separate package names instead of ';'. The default value -# is empty "". +# enables all PT (cond. ST) SE packages`_. This variable can use ',' to +# separate package names instead of ';'. The default value is empty "". # # .. _${PROJECT_NAME}_ADDITIONAL_PACKAGES: # @@ -835,6 +838,20 @@ INCLUDE(${CMAKE_CURRENT_LIST_DIR}/TribitsCTestDriverCoreHelpers.cmake) # to build) and the option ``-k 999999`` can be used to build all targets # when there are build failures. # +# .. _CTEST_DO_INSTALL: +# +# ``CTEST_DO_INSTALL`` +# +# If ``TRUE``, then the 'install' target will be built to install what has +# been configured and built by the build step for the all-at-once mode +# (i.e. ``${PROJECT_NAME}_CTEST_DO_ALL_AT_ONCE=TRUE``. If ``FALSE``, no +# install is performed. (NOTE: The cmake var ``CMAKE_INSTALL_PREFIX`` +# must be set on the inner cmake configure for this to work correctly. +# Also, the install is currently not implemented for the +# package-by-package mode ``${PROJECT_NAME}_CTEST_DO_ALL_AT_ONCE=FALSE`` +# and this option will simply be ignored in that case.) Default +# ``FALSE``. +# # .. _CTEST_DO_TEST: # # ``CTEST_DO_TEST`` @@ -1470,6 +1487,9 @@ FUNCTION(TRIBITS_CTEST_DRIVER) # Call CTEST_BUILD(...) or not SET_DEFAULT_AND_FROM_ENV( CTEST_DO_BUILD TRUE ) + # Call CTEST_BUILD( ... install ... ) or not + SET_DEFAULT_AND_FROM_ENV( CTEST_DO_INSTALL FALSE ) + # Do the tests or not (Note: must be true for coverage testing) SET_DEFAULT_AND_FROM_ENV( CTEST_DO_TEST TRUE ) @@ -2071,7 +2091,8 @@ FUNCTION(TRIBITS_CTEST_DRIVER) IF(${PROJECT_NAME}_FAILED_PACKAGES) MESSAGE( - "\nFinal set packages that had any failures: '${${PROJECT_NAME}_FAILED_PACKAGES}'") + "\nFinal set of packages that had any failures:" + " '${${PROJECT_NAME}_FAILED_PACKAGES}'") ENDIF() # Write a file listing the packages that failed. This will be read in on the next CI diff --git a/cmake/tribits/ctest_driver/TribitsCTestDriverCoreHelpers.cmake b/cmake/tribits/ctest_driver/TribitsCTestDriverCoreHelpers.cmake index 7044e6452db1c7353cf1936fe128c011ce7409c4..d0e64762a42fd101a2ddd7bd872e679f66fb0c2b 100644 --- a/cmake/tribits/ctest_driver/TribitsCTestDriverCoreHelpers.cmake +++ b/cmake/tribits/ctest_driver/TribitsCTestDriverCoreHelpers.cmake @@ -1291,6 +1291,10 @@ MACRO(TRIBITS_CTEST_ALL_AT_ONCE) "\n*** Configure, build, test and submit results all-at-once for all enabled packages ..." "\n***") + SET(AAO_CONFIGURE_FAILED FALSE) + SET(AAO_BUILD_FAILED FALSE) + SET(AAO_INSTALL_FAILED FALSE) + # # A) Define mapping from labels to subprojects and gather configure arguments # @@ -1363,6 +1367,7 @@ MACRO(TRIBITS_CTEST_ALL_AT_ONCE) IF (NOT "${CONFIGURE_RETURN_VAL}" EQUAL "0") MESSAGE("Configure FAILED!") SET(AAO_CONFIGURE_PASSED FALSE) + SET(AAO_CONFIGURE_FAILED TRUE) ELSE() MESSAGE("Configure PASSED!") SET(AAO_CONFIGURE_PASSED TRUE) @@ -1423,6 +1428,7 @@ MACRO(TRIBITS_CTEST_ALL_AT_ONCE) IF (NOT "${BUILD_ALL_NUM_ERRORS}" EQUAL "0") MESSAGE("Build FAILED!") + SET(AAO_BUILD_FAILED TRUE) ELSE() MESSAGE("Build PASSED!") ENDIF() @@ -1432,6 +1438,36 @@ MACRO(TRIBITS_CTEST_ALL_AT_ONCE) TRIBITS_CTEST_SUBMIT( PARTS build ) ENDIF() + IF (CTEST_DO_INSTALL) + + MESSAGE("") + MESSAGE("Installing (i.e. building target 'install') ...") + MESSAGE("") + + CTEST_BUILD( + BUILD "${CTEST_BINARY_DIRECTORY}" + TARGET install + RETURN_VALUE BUILD_INSTALL_RETURN_VAL + NUMBER_ERRORS BUILD_INSTALL_NUM_ERRORS + ) + MESSAGE("Build install output:" + " BUILD_INSTALL_NUM_ERRORS='${BUILD_INSTALL_NUM_ERRORS}'," + "BUILD_INSTALL_RETURN_VAL='${BUILD_INSTALL_RETURN_VAL}'" ) + + IF (NOT "${BUILD_INSTALL_NUM_ERRORS}" EQUAL "0") + MESSAGE("Install FAILED!") + SET(AAO_INSTALL_FAILED TRUE) + ELSE() + MESSAGE("Install PASSED!") + ENDIF() + + # Submit the build for all target + IF (CTEST_DO_SUBMIT) + TRIBITS_CTEST_SUBMIT( PARTS build ) + ENDIF() + + ENDIF() + ELSE() MESSAGE("") @@ -1582,7 +1618,7 @@ MACRO(TRIBITS_CTEST_ALL_AT_ONCE) # G) Determine final pass/fail by gathering list of failing packages # - IF (NOT AAO_CONFIGURE_PASSED) + IF (AAO_CONFIGURE_FAILED OR AAO_BUILD_FAILED OR AAO_INSTALL_FAILED) IF (${PROJECT_NAME}_ENABLE_ALL_PACKAGES) # Special value "ALL_PACAKGES" so that it will trigger enabling all # packages on the next CI iteration! @@ -1591,6 +1627,20 @@ MACRO(TRIBITS_CTEST_ALL_AT_ONCE) # Specific packages were selected to be tested so fail all of them! SET(${PROJECT_NAME}_FAILED_PACKAGES ${${PROJECT_NAME}_PACKAGES_TO_DIRECTLY_TEST}) ENDIF() + # NOTE: With the all-at-once appraoch, there is no way to determine which + # packages have build or install failures given the current CTEST_BUILD() + # command. And since some build targets don't get used in tests, we can't + # look at what packages have test failures in order to know that a build + # failure will cause a test failure. And in the case of install failures, + # those will never cause test failures. Therefore, if there are any build + # or install failures, we just have to assume that any tested package + # could have failed. Hense, we set the above just like for a (global) + # configure failures. Perhaps we couild read the generated *.xml files to + # figure that out but that is not worth the work righ now. The only bad + # consequence of this is that a CI build would end up building and testing + # every package even if only one dowstream package had a build failure, + # for example. That is just one of the downsides of the all-at-once + # appraoch vs the package-by-package appraoch. ELSEIF (FAILED_TEST_LOG_FILE) TRIBITS_GET_FAILED_PACKAGES_FROM_FAILED_TESTS("${FAILED_TEST_LOG_FILE}" ${PROJECT_NAME}_FAILED_PACKAGES ) diff --git a/cmake/tribits/doc/developers_guide/ReducedMockTrilinosOutput/EnableEpetra_EnableRTOp_DisableTeuchos_DisableEnabledFwdDepPackages.txt b/cmake/tribits/doc/developers_guide/ReducedMockTrilinosOutput/EnableEpetra_EnableRTOp_DisableTeuchos_DisableEnabledFwdDepPackages.txt index 6e46af2338bda1e6898f68ff160ae9e7dc7eb323..cad3167cec68f6f268b6bd8fffabb3e57fe8b7e5 100644 --- a/cmake/tribits/doc/developers_guide/ReducedMockTrilinosOutput/EnableEpetra_EnableRTOp_DisableTeuchos_DisableEnabledFwdDepPackages.txt +++ b/cmake/tribits/doc/developers_guide/ReducedMockTrilinosOutput/EnableEpetra_EnableRTOp_DisableTeuchos_DisableEnabledFwdDepPackages.txt @@ -5,7 +5,7 @@ Disabling forward required SE packages and optional intra-package support that \ have a dependancy on disabled SE packages Trilinos_ENABLE_=OFF ... *** - *** WARNING: Setting Trilinos_ENABLE_RTOp=OFF which was 'ON' because RTOp has \ + *** NOTE: Setting Trilinos_ENABLE_RTOp=OFF which was 'ON' because RTOp has \ a required library dependence on disabled package Teuchos but \ Trilinos_DISABLE_ENABLED_FORWARD_DEP_PACKAGES=ON! *** diff --git a/cmake/tribits/doc/developers_guide/ReducedMockTrilinosOutput/EnableThyra_EnableTests.txt b/cmake/tribits/doc/developers_guide/ReducedMockTrilinosOutput/EnableThyra_EnableTests.txt index 99a6ea03819df510dc78777ab02ac8edf9b94b28..f2e5f635cec4bb39bc7859b406bd5cc0920b0111 100644 --- a/cmake/tribits/doc/developers_guide/ReducedMockTrilinosOutput/EnableThyra_EnableTests.txt +++ b/cmake/tribits/doc/developers_guide/ReducedMockTrilinosOutput/EnableThyra_EnableTests.txt @@ -33,9 +33,9 @@ Enabling all required (and optional since Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES= upstream SE packages for current set of enabled packages \ (Trilinos_ENABLE_SECONDARY_TESTED_CODE=OFF) ... --- WARNING: Not Setting Trilinos_ENABLE_ThyraGoodStuff=ON even though Thyra \ +-- NOTE: Not Setting Trilinos_ENABLE_ThyraGoodStuff=ON even though Thyra \ has an optional dependence on ThyraGoodStuff because Trilinos_ENABLE_SECONDARY_TESTED_CODE=OFF --- WARNING: Not Setting Trilinos_ENABLE_ThyraEpetraExt=ON even though Thyra \ +-- NOTE: Not Setting Trilinos_ENABLE_ThyraEpetraExt=ON even though Thyra \ has an optional dependence on ThyraEpetraExt because Trilinos_ENABLE_SECONDARY_TESTED_CODE=OFF -- Setting Trilinos_ENABLE_Epetra=ON because ThyraEpetra has a required dependence on Epetra -- Setting Trilinos_ENABLE_Teuchos=ON because ThyraCoreLibs has a required dependence on Teuchos diff --git a/cmake/tribits/doc/developers_guide/TribitsDevelopersGuide.rst b/cmake/tribits/doc/developers_guide/TribitsDevelopersGuide.rst index 3de1738c50e3f3fc4225f06d850b6df8612be3f2..8a6c15d330163d6bafc13a5d9fe3cea1edefd939 100644 --- a/cmake/tribits/doc/developers_guide/TribitsDevelopersGuide.rst +++ b/cmake/tribits/doc/developers_guide/TribitsDevelopersGuide.rst @@ -828,11 +828,20 @@ variables set in this file are seen by the entire CMake project. For example, .. include:: ../../examples/TribitsExampleProject/Version.cmake :literal: -Note that the prefix ``${REPOSITORY_NAME}_`` is used instead of hard-coding -the project name. This is so that the same ``Version.txt`` file can be used -as the `/Version.cmake`_ file and have the repository name be -flexible. TriBITS sets ``REPOSITORY_NAME = ${PROJECT_NAME}`` when it reads in -this file at the project-level scope. +When this file exists in the base project, these will be used to create +standard SOVERSION symlinks to shared libs. For example, on Linux, in +addition to the real shared lib ``lib.so``, the standard SOVERSION +symlinks are created like:: + + lib.so.01 + lib.so.1.1 + +When this file exists at the repository level, the prefix +``${REPOSITORY_NAME}_`` is used instead of hard-coding the project name. This +is so that the same ``Version.txt`` file can be used as the +`/Version.cmake`_ file and have the repository name be flexible. +TriBITS sets ``REPOSITORY_NAME = ${PROJECT_NAME}`` when it reads in this file +at the project-level scope. It is strongly recommended that every TriBITS project contain a ``Version.cmake`` file, even if a release has never occurred. Otherwise, the diff --git a/cmake/tribits/examples/TribitsExampleProject/cmake/CallbackSetupExtraOptions.cmake b/cmake/tribits/examples/TribitsExampleProject/cmake/CallbackSetupExtraOptions.cmake index ba8e75e68dd97270691d4f5b971417c4f838be5c..fde55caea0c4f4178b4540bf3f0cd5cc938c4a1e 100644 --- a/cmake/tribits/examples/TribitsExampleProject/cmake/CallbackSetupExtraOptions.cmake +++ b/cmake/tribits/examples/TribitsExampleProject/cmake/CallbackSetupExtraOptions.cmake @@ -6,7 +6,7 @@ MACRO(TRIBITS_REPOSITORY_SETUP_EXTRA_OPTIONS) IF (${PROJECT_NAME}_ENABLE_INSTALL_CMAKE_CONFIG_FILES) MESSAGE( "\n***" - "\n*** Warning: Setting ${PROJECT_NAME}_ENABLE_WrapExternal=OFF" + "\n*** NOTE: Setting ${PROJECT_NAME}_ENABLE_WrapExternal=OFF" " because ${PROJECT_NAME}_ENABLE_EXPORT_MAKEFILES or" " ${PROJECT_NAME}_ENABLE_INSTALL_CMAKE_CONFIG_FILES is ON!" "\n***\n" @@ -17,7 +17,7 @@ MACRO(TRIBITS_REPOSITORY_SETUP_EXTRA_OPTIONS) IF ("${PYTHON_EXECUTABLE}" STREQUAL "") MESSAGE( "\n***" - "\n*** Warning: Setting ${PROJECT_NAME}_ENABLE_WrapExternal=OFF" + "\n*** NOTE: Setting ${PROJECT_NAME}_ENABLE_WrapExternal=OFF" " because PYTHON_EXECUTABLE=''!" "\n***\n" ) @@ -29,7 +29,7 @@ MACRO(TRIBITS_REPOSITORY_SETUP_EXTRA_OPTIONS) IF (NOT ${PROJECT_NAME}_ENABLE_Fortran) MESSAGE( "\n***" - "\n*** Warning: Setting ${PROJECT_NAME}_ENABLE_MixedLang=OFF" + "\n*** NOTE: Setting ${PROJECT_NAME}_ENABLE_MixedLang=OFF" " because ${PROJECT_NAME}_ENABLE_Fortran='${${PROJECT_NAME}_ENABLE_Fortran}'!" "\n***\n" ) diff --git a/cmake/tribits/examples/TribitsExampleProject/cmake/ctest/general_gcc/ctest_serial_debug.cmake b/cmake/tribits/examples/TribitsExampleProject/cmake/ctest/general_gcc/ctest_serial_debug.cmake index 44d474fecf9c6061267e2ef2d03553703c66498b..8cd94be20414d0c14e87dd90933a297bf0509e28 100644 --- a/cmake/tribits/examples/TribitsExampleProject/cmake/ctest/general_gcc/ctest_serial_debug.cmake +++ b/cmake/tribits/examples/TribitsExampleProject/cmake/ctest/general_gcc/ctest_serial_debug.cmake @@ -15,6 +15,14 @@ SET( EXTRA_CONFIGURE_OPTIONS "-DTribitsExProj_TRACE_ADD_TEST=ON" ) +SET_DEFAULT_AND_FROM_ENV(TribitsExProj_CMAKE_INSTALL_PREFIX "") +IF (TribitsExProj_CMAKE_INSTALL_PREFIX) + SET(EXTRA_CONFIGURE_OPTIONS + "${EXTRA_CONFIGURE_OPTIONS}" + "-DCMAKE_INSTALL_PREFIX=${TribitsExProj_CMAKE_INSTALL_PREFIX}" + ) +ENDIF() + SET(CTEST_TEST_TYPE Continuous) TRIBITSEXPROJ_CTEST_DRIVER()