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

Bring back TriBITS snapshot from PR #11380 and address issues (#11429) #11458

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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 5 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ INCLUDE(${CMAKE_CURRENT_LIST_DIR}/ProjectName.cmake)
# not in an include file :-(
PROJECT(${PROJECT_NAME} NONE)

# Set up to use ccache
if($ENV{CCACHE_NODISABLE})
# ccache must be requested explicitly by setting env-var CCACHE_NODISABLE
find_program(CCACHE_PROGRAM ccache)
Expand Down Expand Up @@ -100,9 +101,12 @@ else()
endif()
endif()

## set an env so we know we are in configure
# Set an env so we know we are in configure
set(ENV{CMAKE_IS_IN_CONFIGURE_MODE} 1)

# Don't define TriBITS override of include_directories()
set(TRIBITS_HIDE_DEPRECATED_INCLUDE_DIRECTORIES_OVERRIDE TRUE)

#
# B) Pull in the TriBITS system and execute
#
Expand Down
2 changes: 1 addition & 1 deletion cmake/std/atdm/ATDMDevEnvSettings.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ ATDM_SET_CACHE(Trilinos_ENABLE_EXPLICIT_INSTANTIATION ON CACHE BOOL)
#ATDM_SET_CACHE(HDF5_NO_SYSTEM_PATHS ${ATDM_HDF5_NO_SYSTEM_PATHS} CACHE BOOL)
ATDM_SET_CACHE(Trilinos_ENABLE_INSTALL_CMAKE_CONFIG_FILES ON CACHE BOOL)
ATDM_SET_CACHE(Trilinos_ENABLE_DEVELOPMENT_MODE OFF CACHE BOOL)
ATDM_SET_CACHE(Trilinos_ASSERT_MISSING_PACKAGES ON CACHE BOOL)
ATDM_SET_CACHE(Trilinos_ASSERT_DEFINED_DEPENDENCIES SEND_ERROR CACHE BOOL)
ATDM_SET_CACHE(Trilinos_LINK_SEARCH_START_STATIC "${ATDM_Trilinos_LINK_SEARCH_START_STATIC}" CACHE BOOL)
ATDM_SET_CACHE(Trilinos_ENABLE_OpenMP "${ATDM_USE_OPENMP}" CACHE BOOL)
ATDM_SET_CACHE(Trilinos_ENABLE_COMPLEX "${ATDM_COMPLEX}" CACHE BOOL)
Expand Down
94 changes: 93 additions & 1 deletion cmake/tribits/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,99 @@
ChangeLog for TriBITS
----------------------------------------

## 2023-01-10:

* **Added:** Added back support for deprecated variable
`<Project>_ASSERT_MISSING_PACKAGES` that was removed
[2022-10-11](#2022-10-11). When `<Project>_ASSERT_MISSING_PACKAGES` is set
to a non-null value, it overrides the default value for
`<Project>_ASSERT_DEFINED_DEPENDENCIES` (but setting
`<Project>_ASSERT_DEFINED_DEPENDENCIES` in the cache takes precedence).

## 2023-01-06:

* **Changed:** Changed all TPL dependencies back to 'Optional' so that
disabling an external package/TPL will **not** disable any downstream
external packages/TPLs that list a dependency on that external package/TPL.
This undoes the change on [2022-10-20](#2022-10-20) and restores backward
compatibility to the behavior before that change.

## 2022-12-20:

* **Deprecated:** The macro `set_and_inc_dirs()` is deprecated and replaced by
`tribits_set_and_inc_dirs()`. Use the script
`TriBITS/refactoring/replace_set_and_inc_dirs_r.sh` to update
`CMakeLists.txt` files.

## 2022-11-03:

* **Deprecated:** The long-deprecated TriBITS function override
`include_directories()` now emits a deprecated warning. To replace all
usages of `include_directories()` that should be
`tribits_include_directories()`, use the script
`TriBITS/refactoring/replace_include_directories_r.sh` (see documentation in
that script).

* **Deprecated:** Many previously deprecated TriBITS features now will trigger
a CMake DEPRECATION warning message by default (by calling
`message(DEPRECATION ...)`). The message printed to the CMake output will
typically describe how to remove the usage of the deprecated feature. To
remove deprecation warnings, change to use the non-deprecated features
mentioned in the deprecation warning message. To temporarily disable
deprecation warnings, configure with `-D
TRIBITS_HANDLE_TRIBITS_DEPRECATED_CODE=IGNORE` (see build reference entry
for `TRIBITS_HANDLE_TRIBITS_DEPRECATED_CODE` for more details).

## 2022-10-20:

* **Changed:** Disabling an external package/TPL will now disable any
downstream external packages/TPLs that list a dependency on that external
package/TPL through its
[`FindTPL<tplName>Dependencies.cmake`](https://tribitspub.github.io/TriBITS/users_guide/index.html#findtpl-tplname-dependencies-cmake)
file. Prior to this, disabling an external package/TPL would not disable
dependent downstream external packages/TPLs (it would only disable
downstream dependent required internal packages). To avoid this, simply
leave the enable status of the upstream external package/TPL empty "" and no
downstream propagation of disables will take place.

## 2022-10-16:

* **Removed:** Removed the variables `<Project>_LIBRARY_DIRS`,
`<Project>_TPL_LIST` and `<Project>_TPL_LIBRARIES` from the installed
`<Project>Config.cmake` file. These are not needed after the change to
modern CMake targets `<Package>::all_libs` (see `<Package>::all_libs`
below). To determine if a TPL is enabled, check `if (TARGET
<tplName>::all_libs)`. To get the libraries and include dirs for a TPL,
link against the IMPORTED target `<tplName>::all_libs` (see the updated
TriBITS example APP projects for details).

* **Removed:** Removed the variables `<Package>_PACKAGE_LIST`,
`<Package>_TPL_LIST`, `<Package>_INCLUDE_DIR`, `<Package>_LIBRARY_DIRS`,
`<Package>_TPL_INCLUDE_DIRS`, `<Package>_TPL_LIBRARIES` and
`<Package>_TPL_LIBRARY_DIRS` from the generated `<Package>Config.cmake`
files. These are not needed with the move to modern CMake targets (see
`<Package>::all_libs` below).

* **Changed:** Changed `<Package>_LIBRARIES` in generated
`<Package>Config.cmake` files from the full list of the package's library
targets to just `<Package>::all_libs`. (There is no need to list the
individual libraries after the move to modern CMake targets.)

## 2022-10-11:

* **Changed:** Added option `<Project>_ASSERT_DEFINED_DEPENDENCIES` to
determine if listed external package/TPL and internal package dependencies
are defined within the project or not. The initial default is `FATAL_ERROR`
for development mode and `IGNORE` for release mode. (Previously, undefined
external package/TPL dependencies where ignore.) To set a different
default, set `<Project>_ASSERT_DEFINED_DEPENDENCIES_DEFAULT` to `WARNING`,
for example, in the project's `ProjectName.cmake` file.

* **Removed:** `<Project>_ASSERT_MISSING_PACKAGES` has been removed and setting
it will result in a `FATAL_ERROR`. Instead, use
`<Project>_ASSERT_DEFINED_DEPENDENCIES` (and make sure all of your project's
listed TPL dependencies are all defined within the project).

## 2022-10-02:

* **Changed:** The TriBITS FindTPLCUDA.cmake module changed
Expand All @@ -11,7 +104,6 @@ ChangeLog for TriBITS
`find_package(CUDAToolkit)` (see [Trilinos
#10954](https://github.com/trilinos/Trilinos/issues/10954)).


## 2022-09-16:

* **Changed:** Changed nomenclature for packages and TPLs (see updated
Expand Down
4 changes: 2 additions & 2 deletions cmake/tribits/ci_support/TribitsDumpDepsXmlScript.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,8 @@ include(TribitsWriteXmlDependenciesFiles)

# Generate the dependencies file

set(${PROJECT_NAME}_ASSERT_MISSING_PACKAGES FALSE)
set(${PROJECT_NAME}_OUTPUT_DEPENDENCY_FILES FALSE)
set(${PROJECT_NAME}_ASSERT_DEFINED_DEPENDENCIES OFF)
set(${PROJECT_NAME}_OUTPUT_DEPENDENCY_FILES FALSE)
if (NOT ${PROJECT_NAME}_PRE_REPOSITORIES) # Make sure is defined!
set(${PROJECT_NAME}_PRE_REPOSITORIES "")
endif()
Expand Down
Loading