Skip to content

Build Directory Protection, master branch (2020.06.17.)

Added code for ignoring CMakeLists.txt files from build artifacts during the package lookup. This is to help users understand CMake configuration problems when they try to perform an in-source build.

Ever since athena!32964 (merged) developers have been confused with some regularity of CMake failing when they try to build packages on top of an Athena nightly using the WorkDir project.

I was considering for a while to solve this using our "regular" package filtering mechanism, but that would just not have worked well. (Partial checkouts don't use package filters at all, an extra filtering rule would've introduced a warning in "good" builds, and "bad" builds would've worked correctly silently.) So instead I decided to just hardcode this.

Pinging @fwinkl, @tsulaia and @leggett. This is what I was talking about on Monday as an idea to stop people from running into this issue. With this included, they will see warnings like this:

[bash][atlas]:build > cmake ../Projects/WorkDir/
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /opt/lcg/gcc/8.3.0-cebb0/x86_64-centos7/bin/gcc
-- Check for working C compiler: /opt/lcg/gcc/8.3.0-cebb0/x86_64-centos7/bin/gcc - works
...
-- Found 3 package(s)
-- Considering package 1 / 3
-- No package filtering rules read
-- Configuring the build of package: xAODCore
CMake Warning at /data-hdd1/projects/externals/atlasexternals/Build/AtlasCMake/modules/AtlasFunctions.cmake:344 (message):
  Package "build/CMakeFiles/CheckCUDA" is ignored.  Please check your build
  setup!
Call Stack (most recent call first):
  CMakeLists.txt:81 (atlas_project)


CMake Warning at /data-hdd1/projects/externals/atlasexternals/Build/AtlasCMake/modules/AtlasFunctions.cmake:344 (message):
  Package "build/CMakeFiles/CheckFortran" is ignored.  Please check your
  build setup!
Call Stack (most recent call first):
  CMakeLists.txt:81 (atlas_project)


-- Number of packages configured: 1
-- Time for package configuration: 0 second(s)
...

Merge request reports