trilinos / Trilinos

Primary repository for the Trilinos Project
https://trilinos.org/
Other
1.19k stars 564 forks source link

Many Trilinos CMakeList.txt files missing source file extensions leading to flood of CMake CMP0115 policy warnings #10267

Closed bartlettroscoe closed 1 year ago

bartlettroscoe commented 2 years ago

Bug Report

@trilinos/amesos2, @trilinos/epetra, @trilinos/teuchos, @trilinos/tpetra, @jjellio, @jhux2

Description

As described in https://github.com/TriBITSPub/TriBITS/issues/364#issuecomment-1057001039, there is a flood of CMake warnings about violations of CMake policy CMP0115 coming from the configure of Trilinos with tests enabled with CMake versions of 3.20+. For example, the configure output here shows 186 of these warnings. If you look at theses, you see the problem is with source files being passed into CMake commands (through TriBITS wrappers) where the extensions for the source files are missing. For example, the warning:

CMake Warning (dev) at /data/nightlyTesting/Trilinos/cmake/tribits/core/package_arch/TribitsAddExecutable.cmake:573 (add_executable):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /data/nightlyTesting/SEMS-OPENMPI-4.0.5_RELEASE_NO-INT_OPENMP_EXPERIMENTAL/Trilinos/packages/teuchos/parameterlist/test/XMLParser/XMLParser_ParseWithoutFailing.cpp
Call Stack (most recent call first):
  packages/teuchos/parameterlist/test/XMLParser/CMakeLists.txt:30 (TRIBITS_ADD_EXECUTABLE)
This warning is for project developers.  Use -Wno-dev to suppress it.

is from the code at:

https://github.com/trilinos/Trilinos/blob/2a31ff2a3348752f416320d85ce25c4a0404e395/packages/teuchos/parameterlist/test/XMLParser/CMakeLists.txt#L30-L34

See, the source file in SOURCES XMLParser_ParseWithoutFailing is missing the extension .cpp.

If you grep these 186 warnings shown here, you see the following package CMakeLists.txt files are involved from the packages Amesos2, Epetra, Teuchos, and Tpetra.

List of all CMakeLists.txt files and line numbers showing CMP0115 policy violation warnings> ``` packages/amesos2/example/CMakeLists.txt:13 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/amesos2/example/CMakeLists.txt:28 (TRIBITS_ADD_EXECUTABLE) packages/amesos2/example/CMakeLists.txt:3 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/amesos2/example/CMakeLists.txt:34 (TRIBITS_ADD_EXECUTABLE) packages/amesos2/example/CMakeLists.txt:67 (TRIBITS_ADD_EXECUTABLE) packages/amesos2/example/CMakeLists.txt:72 (TRIBITS_ADD_EXECUTABLE) packages/amesos2/example/CMakeLists.txt:79 (TRIBITS_ADD_EXECUTABLE) packages/amesos2/test/adapters/CMakeLists.txt:11 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/amesos2/test/adapters/CMakeLists.txt:2 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/amesos2/test/adapters/CMakeLists.txt:22 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/amesos2/test/adapters/CMakeLists.txt:31 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/amesos2/test/adapters/CMakeLists.txt:42 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/amesos2/test/solvers/CMakeLists.txt:107 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/amesos2/test/solvers/CMakeLists.txt:3 (TRIBITS_ADD_EXECUTABLE) packages/amesos2/test/solvers/CMakeLists.txt:39 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/amesos2/test/solvers/CMakeLists.txt:399 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/epetra/test/MultiVector/CMakeLists.txt:10 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/teuchos/comm/test/Comm/CMakeLists.txt:94 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/teuchos/parameterlist/test/XMLParser/CMakeLists.txt:30 (TRIBITS_ADD_EXECUTABLE) packages/tpetra/core/test/Behavior/CMakeLists.txt:16 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Behavior/CMakeLists.txt:24 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Behavior/CMakeLists.txt:32 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Behavior/CMakeLists.txt:8 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Blas/CMakeLists.txt:1 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Blas/CMakeLists.txt:11 (TRIBITS_ADD_EXECUTABLE) packages/tpetra/core/test/Block/CMakeLists.txt:1 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Block/CMakeLists.txt:10 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Block/CMakeLists.txt:20 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Block/CMakeLists.txt:34 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Block/CMakeLists.txt:48 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Block/CMakeLists.txt:57 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Block/CMakeLists.txt:67 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/BugTests/CMakeLists.txt:1 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/BugTests/CMakeLists.txt:17 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/BugTests/CMakeLists.txt:31 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/BugTests/CMakeLists.txt:9 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Comm/CMakeLists.txt:11 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Comm/CMakeLists.txt:2 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Comm/CMakeLists.txt:21 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Comm/CMakeLists.txt:30 (TRIBITS_ADD_EXECUTABLE) packages/tpetra/core/test/Core/CMakeLists.txt:1 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Core/CMakeLists.txt:105 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Core/CMakeLists.txt:115 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Core/CMakeLists.txt:125 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Core/CMakeLists.txt:17 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Core/CMakeLists.txt:25 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Core/CMakeLists.txt:35 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Core/CMakeLists.txt:46 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Core/CMakeLists.txt:55 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Core/CMakeLists.txt:65 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Core/CMakeLists.txt:75 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Core/CMakeLists.txt:85 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Core/CMakeLists.txt:9 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Core/CMakeLists.txt:95 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsGraph/CMakeLists.txt:109 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsGraph/CMakeLists.txt:120 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsGraph/CMakeLists.txt:130 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsGraph/CMakeLists.txt:140 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsGraph/CMakeLists.txt:151 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsGraph/CMakeLists.txt:16 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsGraph/CMakeLists.txt:27 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsGraph/CMakeLists.txt:40 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsGraph/CMakeLists.txt:5 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsGraph/CMakeLists.txt:98 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsGraphTransposer/CMakeLists.txt:8 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:10 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:140 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:153 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:178 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:188 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:20 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:211 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:223 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:235 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:248 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:261 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:274 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:285 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:296 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:30 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:306 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:316 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:326 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:336 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:346 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:376 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:398 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:40 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:409 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:419 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:428 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:438 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:448 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:458 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:469 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:50 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:59 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:70 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:80 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/CMakeLists.txt:90 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/CrsMatrix/Regression/CMakeLists.txt:3 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Directory/CMakeLists.txt:11 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Directory/CMakeLists.txt:2 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Directory/CMakeLists.txt:20 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Distributor/CMakeLists.txt:12 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Distributor/CMakeLists.txt:2 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Distributor/CMakeLists.txt:23 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Distributor/CMakeLists.txt:34 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/EpetraRowMatrix/CMakeLists.txt:1 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/FECrsGraph/CMakeLists.txt:2 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/FECrsMatrix/CMakeLists.txt:2 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/HashTable/CMakeLists.txt:1 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/HashTable/CMakeLists.txt:13 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/HashTable/CMakeLists.txt:23 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/ImportExport/CMakeLists.txt:12 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/ImportExport/CMakeLists.txt:155 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/ImportExport/CMakeLists.txt:168 (TRIBITS_ADD_EXECUTABLE) packages/tpetra/core/test/ImportExport/CMakeLists.txt:199 (TRIBITS_ADD_EXECUTABLE) packages/tpetra/core/test/ImportExport/CMakeLists.txt:2 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/ImportExport/CMakeLists.txt:22 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/ImportExport/CMakeLists.txt:32 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/ImportExport/CMakeLists.txt:41 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/ImportExport/CMakeLists.txt:51 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:101 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:113 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:122 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:13 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:133 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:144 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:170 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:192 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:2 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:202 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:211 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:220 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:229 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:23 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:244 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:34 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:46 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:57 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:66 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:78 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Map/CMakeLists.txt:90 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Merge/CMakeLists.txt:2 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:1 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:11 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:110 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:123 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:135 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:147 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:157 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:179 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:193 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:20 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:216 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:30 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:39 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:48 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:57 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:70 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/MultiVector/CMakeLists.txt:82 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Node/CMakeLists.txt:4 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Operator/CMakeLists.txt:3 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/RowMatrixTransposer/CMakeLists.txt:8 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Sort/CMakeLists.txt:12 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Sort/CMakeLists.txt:2 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Tsqr/CMakeLists.txt:2 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:107 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:11 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:118 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:130 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:139 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:149 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:159 (TRIBITS_ADD_EXECUTABLE) packages/tpetra/core/test/Utils/CMakeLists.txt:183 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:2 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:20 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:49 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:59 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:69 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:79 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:89 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/Utils/CMakeLists.txt:98 (TRIBITS_ADD_EXECUTABLE_AND_TEST) packages/tpetra/core/test/inout/CMakeLists.txt:393 (TRIBITS_ADD_EXECUTABLE_AND_TEST) ```

Tasks

bartlettroscoe commented 2 years ago

It would have never occurred to me to not give the file extension with source files when giving them to the CMake commands add_library() and add_executable() so I had no idea anyone was doing that.

My advice would be to just go and fix all of the CMakeLists.txt files instead of silencing the warning.

cgcgcg commented 2 years ago

@bartlettroscoe This should be fixed by #10279. Can we close?

bartlettroscoe commented 2 years ago

Looking at the recent history of the build Linux-sems-gcc-8.3.0-SERIAL-DEBUG_LONG-LONG_COMPLEX-DOUBLE, you can see the number of configure warnings dropped from 136 on Mar 04, 2022 - 03:03 MST to 2 on Mar 05, 2022 - 03:08 MST and the most recent build today shown here does not show any of these warnings. The only CMake warning at the end is:

Finished configuring Trilinos!

-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    Trilinos_ENABLE_DEPENDENCY_UNIT_TESTS

-- Build files have been written to: /data/nightlyTesting/SERIAL-DEBUG_LONG-LONG_COMPLEX-DOUBLE/BUILD

So I think this is fixed. Closing as complete.

csiefer2 commented 2 years ago

I just updated Trilinos and I'm still seeing the error.

csiefer2 commented 2 years ago
Finished configuring Trilinos!

-- Configuring done
CMake Warning (dev) at cmake/tribits/core/package_arch/TribitsAddExecutable.cmake:573 (add_executable):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /ascldap/users/csiefer/Trilinos/sandbox/Trilinos/packages/tpetra/core/test/MultiVector/Vector_offsetViewCtor.cpp
Call Stack (most recent call first):
  cmake/tribits/core/package_arch/TribitsAddExecutableAndTest.cmake:68 (tribits_add_executable)
  cmake/tribits/core/package_arch/TribitsAddExecutableAndTest.cmake:214 (tribits_add_executable_wrapper)
  packages/tpetra/core/test/MultiVector/CMakeLists.txt:203 (TRIBITS_ADD_EXECUTABLE_AND_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
cgcgcg commented 2 years ago

That's because people are making changes that break it. Is there a way to strictly enforce these policies in PR autotesting?

csiefer2 commented 2 years ago

Oh. I see that now.

Took me a while to figure out what the error message meant.

bartlettroscoe commented 2 years ago

That's because people are making changes that break it. Is there a way to strictly enforce these policies in PR autotesting?

Trilinos needs one PR build that uses the most current CMake release (currently 23.22) and then set the policy CMP0115 to NEW. And that build needs to be updated as new CMake releases come out.

CC: @trilinos/framework

bartlettroscoe commented 2 years ago

CC: @cgcgcg, @csiefer2, @trilinos/framework

FYI: I added the tasks above needed to fix this issue once and for all.

csiefer2 commented 2 years ago

Sounds like a great plan, @bartlettroscoe

Thanks!

bartlettroscoe commented 2 years ago

Sounds like a great plan, @bartlettroscoe

@csiefer2, for that to happen, first,

I will add that to the the above Task

CC: @trilinos/framework

bartlettroscoe commented 2 years ago

SEMS needs to add cmake 3.22 to the set of installed modules

@csiefer2, actually, SEMS already has installed the module sems-cmake/3.21.1 which will emanate this warning and allow the policy CMP0115 to be set as shown here.

I am just not sure how to make that happen because I believe that the env loading scripts documented [here]() are not actually used in PR testing.

I will update the Tasks.

Could someone coordinate with the @trilinos/framework team to get this in a Framework sprint?

github-actions[bot] commented 1 year ago

This issue has had no activity for 365 days and is marked for closure. It will be closed after an additional 30 days of inactivity. If you would like to keep this issue open please add a comment and/or remove the MARKED_FOR_CLOSURE label. If this issue should be kept open even with no activity beyond the time limits you can add the label DO_NOT_AUTOCLOSE. If it is ok for this issue to be closed, feel free to go ahead and close it. Please do not add any comments or change any labels or otherwise touch this issue unless your intention is to reset the inactivity counter for an additional year.

bartlettroscoe commented 1 year ago

This must be complete because Trilinos is now requiring CMake 3.23+ and these warnings don't seem to be coming up in configurations with Trilinos.