From a6a34b5e1b55d9829ba31b3f6e09bec0ecf27d4d Mon Sep 17 00:00:00 2001 From: "Roscoe A. Bartlett" Date: Fri, 22 Sep 2023 18:46:54 -0600 Subject: [PATCH 1/2] Improve release note for using GNUInstallDirs by default (#12104) Hopefully this improved release note will help customers transition to Trilinos using the standard GNUInstallDirs module. I also added a mention that Trilinos may only support GNUIntallDirs in the future so customers should get usesd to working with it. --- RELEASE_NOTES | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/RELEASE_NOTES b/RELEASE_NOTES index fec437ae6c91..50d6bbeb011b 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -8,16 +8,15 @@ CMake - Change the default for `Trilinos_MUST_FIND_ALL_TPL_LIBS` from `OFF` to - `ON`. It was - turned off by default because it breaks backward compatibility but it also - causes problems for new users and new configurations. + `ON`. It was turned off by default because it breaks backward + compatibility but it also causes problems for new users and new + configurations. Users that do not want this new behavior can set `-D Trilinos_MUST_FIND_ALL_TPL_LIBS=OFF`, which is backward compatible. - Change the default for `Trilinos_USE_GNUINSTALLDIRS` from `OFF` to `ON`, - in the goal to - move Trilinos and TriBITS to modern CMake. + in the goal to move Trilinos and TriBITS to modern CMake. TriBITS has had the ability to use that paths selected by the standard CMake module `GNUInstallDirs.cmake` for a long time. But it is turned off @@ -25,7 +24,14 @@ CMake sake of backward compatibility. This may break people's existing configurations because it will install - libs in `/libs64/` instead of in `/libs/`. See + libs in `/libs64/` instead of in `/libs/` on many systems + (e.g. Linux systems). To revert back to using `/lib` but still + use `GNUInstallDirs.cmake` for Trilinos, set `-D + CMAKE_INSTALL_LIBDIR:STRING=lib`. NOTE: The setting `-D + Trilinos_USE_GNUINSTALLDIRS=OFF` is deprecated and may be removed in the + future. (I.e. the usage of `GNUInstallDirs.cmake` may be hard-coded in the + future so please try adjusting to the usage of `GNUInstallDirs.cmake` by + Trilinos.) See https://github.com/trilinos/Trilinos/issues/12104#issuecomment-1691945033 for additional details and instructions. From 063eac0e097569a819e100399378bd6dcc6f5e09 Mon Sep 17 00:00:00 2001 From: "Roscoe A. Bartlett" Date: Mon, 25 Sep 2023 15:15:56 -0600 Subject: [PATCH 2/2] Mention find_package(Trilinos ...) problem with undefined compilers (#12104) --- RELEASE_NOTES | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 50d6bbeb011b..d3041e6a4ad8 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -25,13 +25,24 @@ CMake This may break people's existing configurations because it will install libs in `/libs64/` instead of in `/libs/` on many systems - (e.g. Linux systems). To revert back to using `/lib` but still - use `GNUInstallDirs.cmake` for Trilinos, set `-D - CMAKE_INSTALL_LIBDIR:STRING=lib`. NOTE: The setting `-D - Trilinos_USE_GNUINSTALLDIRS=OFF` is deprecated and may be removed in the - future. (I.e. the usage of `GNUInstallDirs.cmake` may be hard-coded in the - future so please try adjusting to the usage of `GNUInstallDirs.cmake` by - Trilinos.) See + (e.g. Linux systems). For example, this will break downstream CMake + projects that call `find_package(Trilinos ...)` before defining the + compilers (e.g. so they can get the compilers from Trilinos). If the + compilers are not defined, `find_package()` will not search + `/lib64`. To revert back to using `/lib` but still use + `GNUInstallDirs.cmake` for Trilinos, set `-D + CMAKE_INSTALL_LIBDIR:STRING=lib` when configuring Trilinos. To avoid the + `find_package(Trilinos ...)` problem not searching `/lib64`, + consider explicitly specifying the compiler to and having the downstream + CMake project define the compilers first with `project( + COMPILERS C CXX ...)` before calling `find_package(Trilinos ...)`. (That + is, don't try to get the compilers from the installed Trilinos, see + https://github.com/trilinos/Trilinos/issues/12306.) + + NOTE: The setting `-D Trilinos_USE_GNUINSTALLDIRS=OFF` is deprecated and + may be removed in the future. (I.e. the usage of `GNUInstallDirs.cmake` + may be hard-coded in the future so please try adjusting to the usage of + `GNUInstallDirs.cmake` by Trilinos.) See https://github.com/trilinos/Trilinos/issues/12104#issuecomment-1691945033 for additional details and instructions.