#============================================================================= # Copyright (c) 2024, NVIDIA CORPORATION. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #============================================================================= include_guard(GLOBAL) function(check_copyright_header file) cmake_path(GET file EXTENSION LAST_ONLY file_ext) string(TIMESTAMP current_year "%Y" UTC) if(file_ext STREQUAL ".txt" OR file_ext STREQUAL ".cmake") string(CONFIGURE [=[#============================================================================= # Copyright (c) @current_year@, NVIDIA CORPORATION. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #============================================================================= ]=] expected_header @ONLY) else() string(CONFIGURE [=[/* * Copyright (c) @current_year@, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ ]=] expected_header @ONLY) endif() string(LENGTH "${expected_header}" expected_header_length) file(READ "${file}" actual_header LIMIT "${expected_header_length}") if(NOT actual_header STREQUAL expected_header) message(FATAL_ERROR "File ${file} did not have expected copyright header") endif() endfunction()