SWDEV-314946 - Windows: adding properties to hip tests exe (#2620)

Change-Id: I3bac668345e3168f8a2b2772bf8ca422430803d8


[ROCm/hip-tests commit: 3dab167f5a]
This commit is contained in:
ROCm CI Service Account
2022-04-13 22:56:25 +05:30
committad av GitHub
förälder 3f4e986051
incheckning a809035395
3 ändrade filer med 74 tillägg och 0 borttagningar
+26
Visa fil
@@ -6,6 +6,7 @@ set(CMAKE_CXX_COMPILER_WORKS 1)
project(hiptests)
# Check if platform and compiler are set
if(HIP_PLATFORM STREQUAL "amd")
if(HIP_COMPILER STREQUAL "nvcc")
@@ -32,14 +33,28 @@ message(STATUS "HIP Path: ${HIP_PATH}")
if(UNIX)
set(CMAKE_CXX_COMPILER "${HIP_PATH}/bin/hipcc")
set(CMAKE_C_COMPILER "${HIP_PATH}/bin/hipcc")
set(HIPCONFIG_EXECUTABLE "${HIP_PATH}/bin/hipconfig")
execute_process(COMMAND perl ${HIPCONFIG_EXECUTABLE} --version
OUTPUT_VARIABLE HIP_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
else()
# using cmake_path as it handles path correctly.
# Set both compilers else windows cmake complains of mismatch
cmake_path(SET CMAKE_CXX_COMPILER "${HIP_PATH}/bin/hipcc.bat")
cmake_path(SET CMAKE_C_COMPILER "${HIP_PATH}/bin/hipcc.bat")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --rocm-path=${ROCM_PATH}")
set(HIPCONFIG_EXECUTABLE "${HIP_PATH}/bin/hipconfig.bat")
execute_process(COMMAND ${HIPCONFIG_EXECUTABLE} --version
OUTPUT_VARIABLE HIP_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
string(REPLACE "." ";" VERSION_LIST ${HIP_VERSION})
list(GET VERSION_LIST 0 HIP_VERSION_MAJOR)
list(GET VERSION_LIST 1 HIP_VERSION_MINOR)
list(GET VERSION_LIST 2 HIP_VERSION_PATCH_GITHASH)
string(REPLACE "-" ";" VERSION_LIST ${HIP_VERSION_PATCH_GITHASH})
list(GET VERSION_LIST 0 HIP_VERSION_PATCH)
if(NOT DEFINED CATCH2_PATH)
if(DEFINED ENV{CATCH2_PATH})
@@ -83,6 +98,17 @@ file(COPY ./hipTestMain/config DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/hipTestMa
file(COPY ./external/Catch2/cmake/Catch2/CatchAddTests.cmake DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/script)
set(ADD_SCRIPT_PATH ${CMAKE_CURRENT_BINARY_DIR}/script/CatchAddTests.cmake)
if (WIN32)
configure_file(catchProp_in_rc.in ${CMAKE_CURRENT_BINARY_DIR}/catchProp.rc @ONLY)
cmake_path(SET LLVM_RC_PATH "${HIP_PATH}/../lc/bin/llvm-rc.exe")
cmake_path(SET LLVM_RC_PATH NORMALIZE "${LLVM_RC_PATH}")
# generates the .res files to be used by executables to populate the properties
# expects LC folder with clang, llvm-rc to be present one level up of HIP
execute_process(COMMAND ${LLVM_RC_PATH} ${CMAKE_CURRENT_BINARY_DIR}/catchProp.rc
OUTPUT_VARIABLE RC_OUTPUT)
set(PROP_RC ${CMAKE_CURRENT_BINARY_DIR})
endif()
if(HIP_PLATFORM MATCHES "amd" AND HIP_COMPILER MATCHES "clang")
add_compile_options(-Wall -Wextra -pedantic -Werror -Wno-deprecated)
@@ -0,0 +1,40 @@
#include <windows.h>
#define HIP_VERSION "@HIP_VERSION@"
#define HIP_VERSION_MAJOR @HIP_VERSION_MAJOR@
#define HIP_VERSION_MINOR @HIP_VERSION_MINOR@
#define HIP_VERSION_PATCH @HIP_VERSION_PATCH@
VS_VERSION_INFO VERSIONINFO
FILEVERSION HIP_VERSION_MAJOR, HIP_VERSION_MINOR , HIP_VERSION_PATCH
PRODUCTVERSION 10,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
#else
FILEFLAGS 0x0L
#endif
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_APP
FILESUBTYPE VFT2_UNKNOWN
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Advanced Micro Devices Inc.\0"
VALUE "FileDescription", "HIP unit tests"
VALUE "FileVersion", "amdhip64.dll" HIP_VERSION
VALUE "LegalCopyright", "Copyright (C) 2022 Advanced Micro Devices Inc.\0"
VALUE "ProductName", "HIP unit tests"
VALUE "ProductVersion", HIP_VERSION
VALUE "Comments", "\0"
VALUE "InternalName", "HIP unit tests"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0409, 1200
END
END
/* End of Version info */
@@ -207,7 +207,15 @@ function(hip_add_exe_to_target)
catch_discover_tests(${_NAME} PROPERTIES SKIP_REGULAR_EXPRESSION "HIP_SKIP_THIS_TEST")
if(UNIX)
set(_LINKER_LIBS ${_LINKER_LIBS} stdc++fs)
else()
# res files are built resource files using rc files.
# use llvm-rc exe to build the res files
# Thes are used to populate the properties of the built executables
if(EXISTS "${PROP_RC}/catchProp.res")
set(_LINKER_LIBS ${_LINKER_LIBS} "${PROP_RC}/catchProp.res")
endif()
endif()
if(DEFINED _LINKER_LIBS)
target_link_libraries(${_NAME} ${_LINKER_LIBS})
endif()