Warning --warn-uninitialized does not work in configure_file
It is an issue, since configured file may not be part of tested code itself, but e.g. some metainformation inside produced package. E.g. version or revision of repository. Changing variable name in CMakeLists.txt (during some refactor) will silently invalidate configured file. Example:
# invoke with:
# cmake -Werror=dev -Wdev --warn-uninitialized ..
cmake_minimum_required(VERSION 3.10)
project(test_uninit_configure_file)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/file.in "@HELLO_WORLD@")
configure_file(${CMAKE_CURRENT_BINARY_DIR}/file.in file.out @ONLY)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/file2.in "\$\{HELLO_WORLD\}")
configure_file(${CMAKE_CURRENT_BINARY_DIR}/file2.in file2.out)
# uncomment to trigger error
# message(${HELLO_WORLD})