--generated-version ${VulkanHeaders_VERSION}
--incremental)
else()
- message("WARNING: VulkanLoader_generated_source target requires python 3")
+ message(WARNING "VulkanLoader_generated_source target requires python 3")
endif()
if(UNIX)
# *** THIS FILE IS GENERATED - DO NOT EDIT ***
# See generate_source.py for modifications
-set(LOADER_GENERATED_HEADER_VERSION 1.3.239)
\ No newline at end of file
+set(LOADER_GENERATED_HEADER_VERSION 1.3.239)
separate_arguments(MODIFIED_C_FLAGS_DEBUG WINDOWS_COMMAND ${MODIFIED_C_FLAGS_DEBUG})
# ~~~
- # Setup the loader.rc flie to contain the correct info
- # Optionally uses the BUILD_DLL_VERSIONINFO build option to allow setting the exact build version
- # Adds "Dev Build" to any build without the BUILD_DLL_VERSIONINFO option set
+ # Only generate the loader.rc file with CMake if BUILD_DLL_VERSIONINFO was set.
+ # This feature is for the Vulkan Runtime build
+ # Otherwise rely on the checked in loader.rc from the python script
# ~~~
- string(TIMESTAMP CURRENT_YEAR "%Y")
- set(LOADER_CUR_COPYRIGHT_STR "${CURRENT_YEAR}")
- if ("$CACHE{BUILD_DLL_VERSIONINFO}" STREQUAL "")
- set(LOADER_RC_VERSION "${VulkanHeaders_VERSION}")
- set(LOADER_VER_FILE_VERSION_STR "\"${LOADER_RC_VERSION}.Dev Build\"")
- set(LOADER_VER_FILE_DESCRIPTION_STR "\"Vulkan Loader - Dev Build\"")
- else()
+ if (NOT "$CACHE{BUILD_DLL_VERSIONINFO}" STREQUAL "")
+ string(TIMESTAMP CURRENT_YEAR "%Y")
+ set(LOADER_CUR_COPYRIGHT_YEAR "${CURRENT_YEAR}")
set(LOADER_RC_VERSION "$CACHE{BUILD_DLL_VERSIONINFO}")
set(LOADER_VER_FILE_VERSION_STR "\"${LOADER_RC_VERSION}\"")
set(LOADER_VER_FILE_DESCRIPTION_STR "\"Vulkan Loader\"")
- endif()
- # RC file wants the value of FILEVERSION to separated by commas
- string(REPLACE "." ", " LOADER_VER_FILE_VERSION "${LOADER_RC_VERSION}")
+ # RC file wants the value of FILEVERSION to separated by commas
+ string(REPLACE "." ", " LOADER_VER_FILE_VERSION "${LOADER_RC_VERSION}")
- # Configure the file to include the versioning info
- # Place it in the current directory for check-in - so the GN build has up to date info
- configure_file(loader.rc.in ${CMAKE_CURRENT_BINARY_DIR}/loader.rc)
+ # Configure the file to include the versioning info
+ # Place it in the build directory - the GN build will use the checked in file
+ configure_file(loader.rc.in ${CMAKE_CURRENT_BINARY_DIR}/loader.rc)
+ endif()
else()
# Used to make alloca() and secure_getenv() available
target_compile_definitions(loader_specific_options INTERFACE _GNU_SOURCE)
add_dependencies(loader-opt loader_asm_gen_files)
set_target_properties(loader-opt PROPERTIES CMAKE_C_FLAGS_DEBUG "${MODIFIED_C_FLAGS_DEBUG}")
+ # If BUILD_DLL_VERSIONINFO was set, use the loader.rc in the build dir, otherwise use the checked in file
+ set(RC_FILE_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/loader.rc)
+ if (NOT "$CACHE{BUILD_DLL_VERSIONINFO}" STREQUAL "")
+ set(RC_FILE_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/loader.rc)
+ endif()
+
add_library(vulkan
SHARED
${NORMAL_LOADER_SRCS}
$<TARGET_OBJECTS:loader-unknown-chain>
${CMAKE_CURRENT_SOURCE_DIR}/vulkan-1.def
- ${CMAKE_CURRENT_BINARY_DIR}/loader.rc)
+ ${RC_FILE_LOCATION})
target_link_libraries(vulkan PRIVATE loader_specific_options loader-opt)
--- /dev/null
+//
+// Copyright (c) 2014-2023 The Khronos Group Inc.
+// Copyright (c) 2014-2023 Valve Corporation
+// Copyright (c) 2014-2023 LunarG, Inc.
+//
+// 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.
+//
+// Author: David Pinedo <david@lunarg.com>
+// Author: Charles Giessen <charles@lunarg.com>
+//
+
+#include "winres.h"
+
+// All set through CMake
+#define VER_FILE_VERSION 1, 3, 239
+#define VER_FILE_DESCRIPTION_STR "1.3.239.Dev Build"
+#define VER_FILE_VERSION_STR "Vulkan Loader - Dev Build"
+#define VER_COPYRIGHT_STR "Copyright (C) 2015-2023"
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION VER_FILE_VERSION
+ PRODUCTVERSION VER_FILE_VERSION
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0x0L
+#endif
+
+ FILEOS 0x00000L
+ FILETYPE VFT_DLL
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "04090000"
+ BEGIN
+ VALUE "FileDescription", VER_FILE_DESCRIPTION_STR
+ VALUE "FileVersion", VER_FILE_VERSION_STR
+ VALUE "LegalCopyright", VER_COPYRIGHT_STR
+ VALUE "ProductName", "Vulkan Runtime"
+ VALUE "ProductVersion", VER_FILE_VERSION_STR
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 0000
+ END
+END
//
-// Copyright (c) 2014-2023 The Khronos Group Inc.
-// Copyright (c) 2014-2023 Valve Corporation
-// Copyright (c) 2014-2023 LunarG, Inc.
+// Copyright (c) 2014-${LOADER_CUR_COPYRIGHT_YEAR} The Khronos Group Inc.
+// Copyright (c) 2014-${LOADER_CUR_COPYRIGHT_YEAR} Valve Corporation
+// Copyright (c) 2014-${LOADER_CUR_COPYRIGHT_YEAR} LunarG, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
#define VER_FILE_VERSION ${LOADER_VER_FILE_VERSION}
#define VER_FILE_DESCRIPTION_STR ${LOADER_VER_FILE_DESCRIPTION_STR}
#define VER_FILE_VERSION_STR ${LOADER_VER_FILE_VERSION_STR}
-#define VER_COPYRIGHT_STR "Copyright (C) 2015-${LOADER_CUR_COPYRIGHT_STR}"
+#define VER_COPYRIGHT_STR "Copyright (C) 2015-${LOADER_CUR_COPYRIGHT_YEAR}"
VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILE_VERSION
import subprocess
import sys
import tempfile
+import datetime
# files to exclude from --verify check
verify_exclude = ['.clang-format']
f = open(common_codegen.repo_relative('cmake/generated_header_version.cmake'), "w")
f.write('# *** THIS FILE IS GENERATED - DO NOT EDIT ***\n')
f.write('# See generate_source.py for modifications\n')
- f.write(f'set(LOADER_GENERATED_HEADER_VERSION {args.generated_version})')
+ f.write(f'set(LOADER_GENERATED_HEADER_VERSION {args.generated_version})\n')
f.close()
+ with open(common_codegen.repo_relative('loader/loader.rc.in'), "r") as rc_file:
+ rc_file_contents = rc_file.read()
+ rc_ver = ', '.join(args.generated_version.split('.'))
+ rc_file_contents = rc_file_contents.replace('${LOADER_VER_FILE_VERSION}', f'{rc_ver}')
+ rc_file_contents = rc_file_contents.replace('${LOADER_VER_FILE_DESCRIPTION_STR}', f'"{args.generated_version}.Dev Build"')
+ rc_file_contents = rc_file_contents.replace('${LOADER_VER_FILE_VERSION_STR}', f'"Vulkan Loader - Dev Build"')
+ rc_file_contents = rc_file_contents.replace('${LOADER_CUR_COPYRIGHT_YEAR}', f'{datetime.date.today().year}')
+ with open(common_codegen.repo_relative('loader/loader.rc'), "w") as rc_file_out:
+ rc_file_out.write(rc_file_contents)
+ rc_file_out.close()
+
return 0
if __name__ == '__main__':
"googletest": "GOOGLETEST_INSTALL_DIR",
"detours": "DETOURS_INSTALL_DIR"
}
-}
\ No newline at end of file
+}