CrayPrgEnv: cmake-3.19.2 doesn't set CMAKE_CXX_COMPILER_WRAPPER
Our build broke after upgrading from cmake-3.18.5 to cmake-3.19.2 because the later version no longer sets CMAKE_CXX_COMPILER_WRAPPER=CrayPrgEnv
when working on a Cray system.
- Reproducer:
# CMakeLists.txt
PROJECT( cccw CXX )
message("CMAKE_CXX_COMPILER_WRAPPER = ${CMAKE_CXX_COMPILER_WRAPPER}")
- cmake-3.18.5 (expected behavior)
$ cmake --version
cmake version 3.18.5
$ cmake ..
- The CXX compiler identification is Intel 19.0.4.20190416
-- Cray Programming Environment 2.7.0 CXX
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/cray/pe/craype/2.7.0/bin/CC - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMAKE_CXX_COMPILER_WRAPPER = CrayPrgEnv
- cmake-3.19.2 (unexpected behavior)
$ module swap cmake/3.18.5 cmake/3.19.2
$ cmake --version
cmake version 3.19.2
$ cmake ..
-- The CXX compiler identification is Intel 19.0.4.20190416
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/cray/pe/craype/2.7.0/bin/CC - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMAKE_CXX_COMPILER_WRAPPER =
- In the second case,
-- Cray Programming Environment 2.7.0 CXX
is not printed andCMAKE_CXX_COMPILER_WRAPPER
remains unset. - This is on the same system with the same environment loaded (except for the version of the cmake module).
- Is this a bug?
Edited by Brad King