diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4c541989..948706bc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -115,6 +115,11 @@ elseif(APPLE) endif() endif() +if(WIN32) + configure_file(version.rc.in version.rc @ONLY) + set(VERSION_RC "${CMAKE_CURRENT_BINARY_DIR}/version.rc") +endif() + list(APPEND TARGET_LIBRARIES ${CBOR_LIBRARIES} ${CRYPTO_LIBRARIES} @@ -138,7 +143,8 @@ endif() # dynamic library if(BUILD_SHARED_LIBS) - add_library(fido2_shared SHARED ${FIDO_SOURCES} ${COMPAT_SOURCES}) + add_library(fido2_shared SHARED ${FIDO_SOURCES} ${COMPAT_SOURCES} + ${VERSION_RC}) set_target_properties(fido2_shared PROPERTIES OUTPUT_NAME fido2 VERSION ${FIDO_VERSION} SOVERSION ${FIDO_MAJOR}) target_link_libraries(fido2_shared ${TARGET_LIBRARIES}) diff --git a/src/version.rc.in b/src/version.rc.in new file mode 100644 index 00000000..948dfcf5 --- /dev/null +++ b/src/version.rc.in @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2026 Yubico AB. All rights reserved. + * Use of this source code is governed by a BSD-style + * license that can be found in the LICENSE file. + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include + +VS_VERSION_INFO VERSIONINFO + FILEVERSION @FIDO_MAJOR@,@FIDO_MINOR@,@FIDO_PATCH@,0 + PRODUCTVERSION @FIDO_MAJOR@,@FIDO_MINOR@,@FIDO_PATCH@,0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + VALUE "CompanyName", "Yubico AB" + VALUE "FileDescription", "libfido2 - FIDO2 Library" + VALUE "FileVersion", "@FIDO_VERSION@" + VALUE "InternalName", "fido2.dll" + VALUE "LegalCopyright", "Copyright (c) 2018-2026 Yubico AB. All rights reserved." + VALUE "OriginalFilename", "fido2.dll" + VALUE "ProductName", "libfido2" + VALUE "ProductVersion", "@FIDO_VERSION@" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 0x04B0 + END +END