Skip to content

Commit

Permalink
Merge pull request #11380 from bartlettroscoe/tribits-snapshot-2022-1…
Browse files Browse the repository at this point in the history
…2-12
  • Loading branch information
bartlettroscoe authored Dec 22, 2022
2 parents 6e32b9b + bfb7dc8 commit 767e06e
Show file tree
Hide file tree
Showing 733 changed files with 4,906 additions and 4,782 deletions.
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
77 changes: 76 additions & 1 deletion cmake/tribits/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,82 @@
ChangeLog for TriBITS
----------------------------------------

## 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 +87,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

0 comments on commit 767e06e

Please sign in to comment.