CMake/Tests/CMakeCopyright.cmake
Brad King 2bbf6bd7f8 Copyright.txt: Add test to check year range
Add a CMake.Copyright test that, when the CMake version number knows the
year (as it does in development versions), checks that Copyright.txt has
been updated with the current version year.
2013-11-12 16:35:26 -05:00

23 lines
959 B
CMake

if(CMAKE_VERSION MATCHES "\\.(20[0-9][0-9])[0-9][0-9][0-9][0-9](-|$)")
set(version_year "${CMAKE_MATCH_1}")
set(copyright_line_regex "^Copyright 2000-(20[0-9][0-9]) Kitware")
file(STRINGS "${CMAKE_CURRENT_LIST_DIR}/../Copyright.txt" copyright_line
LIMIT_COUNT 1 REGEX "${copyright_line_regex}")
if(copyright_line MATCHES "${copyright_line_regex}")
set(copyright_year "${CMAKE_MATCH_1}")
if(copyright_year LESS version_year)
message(FATAL_ERROR "Copyright.txt contains\n"
" ${copyright_line}\n"
"but the current version year is ${version_year}.")
else()
message(STATUS "PASSED: Copyright.txt contains\n"
" ${copyright_line}\n"
"and the current version year is ${version_year}.")
endif()
else()
message(FATAL_ERROR "Copyright.txt has no Copyright line of expected format!")
endif()
else()
message(STATUS "SKIPPED: CMAKE_VERSION does not know the year: ${CMAKE_VERSION}")
endif()