@@ -181,9 +181,55 @@ function(rocm_add_version_resource TARGET NAME DESCRIPTION)
181181 message (FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} : only EXECUTABLE, SHARED_LIBRARY, and MODULE_LIBRARY target types are supported" )
182182 endif ()
183183 get_target_property (FILENAME ${TARGET} OUTPUT_NAME )
184+ if (NOT FILENAME)
185+ if (TARGET_TYPE STREQUAL "EXECUTABLE" )
186+ set (FILENAME ${TARGET}${CMAKE_EXECUTABLE_SUFFIX} )
187+ elseif (TARGET_TYPE STREQUAL "SHARED_LIBRARY" )
188+ set (FILENAME ${TARGET}${CMAKE_SHARED_LIBRARY_SUFFIX} )
189+ elseif (TARGET_TYPE STREQUAL "MODULE_LIBRARY" )
190+ set (FILENAME ${TARGET}${CMAKE_SHARED_MODULE_SUFFIX} )
191+ endif ()
192+ endif ()
184193 string (TIMESTAMP YEAR "%Y" )
185194 set (RC_OUTPUT "${CMAKE_CURRENT_BINARY_DIR} /${TARGET} _version.rc" )
186- configure_file (version .rc.in ${RC_OUTPUT} @ONLY )
195+ file (WRITE "${RC_OUTPUT} " "#include <winver.h>
196+ VS_VERSION_INFO VERSIONINFO
197+ FILEVERSION ${PROJECT_VERSION_MAJOR} ,${PROJECT_VERSION_MINOR} ,${PROJECT_VERSION_PATCH} ,0
198+ PRODUCTVERSION ${PROJECT_VERSION_MAJOR} ,${PROJECT_VERSION_MINOR} ,${PROJECT_VERSION_PATCH} ,0
199+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
200+ #ifdef _DEBUG
201+ FILEFLAGS VS_FF_DEBUG
202+ #else
203+ FILEFLAGS 0
204+ #endif
205+ FILEOS VOS_NT_WINDOWS32
206+ #ifdef DLL_BUILD
207+ FILETYPE VFT_DLL
208+ #else
209+ FILETYPE VFT_APP
210+ #endif
211+ FILESUBTYPE VFT2_UNKNOWN
212+ BEGIN
213+ BLOCK \" StringFileInfo\"
214+ BEGIN
215+ BLOCK \" 040904B0\"
216+ BEGIN
217+ VALUE \" CompanyName\" , \" Advanced Micro Devices, Inc.\\ 0\"
218+ VALUE \" FileDescription\" , \" ${DESCRIPTION} \\ 0\"
219+ VALUE \" FileVersion\" , \" ${PROJECT_VERSION_MAJOR} .${PROJECT_VERSION_MINOR} .${PROJECT_VERSION_PATCH} .0\\ 0\"
220+ VALUE \" InternalName\" , \" ${NAME} \\ 0\"
221+ VALUE \" LegalCopyright\" , \" Copyright (c) ${YEAR} Advanced Micro Devices, Inc. All rights reserved.\\ 0\"
222+ VALUE \" OriginalFilename\" , \" ${FILENAME} \\ 0\"
223+ VALUE \" ProductName\" , \" ${NAME} ${FILENAME} \\ 0\"
224+ VALUE \" ProductVersion\" , \" ${PROJECT_VERSION} \\ 0\"
225+ END
226+ END
227+ BLOCK \" VarFileInfo\"
228+ BEGIN
229+ VALUE \" Translation\" , 0x409, 1200
230+ END
231+ END
232+ " )
187233 target_sources (${TARGET} PRIVATE ${RC_OUTPUT} )
188234 if (TARGET_TYPE STREQUAL "SHARED_LIBRARY" OR TARGET_TYPE STREQUAL "MODULE_LIBRARY" )
189235 get_source_file_property (RC_OUTPUT_COMPILE_FLAGS ${RC_OUTPUT} COMPILE_FLAGS )
0 commit comments