@@ -19,14 +19,17 @@ cmake_minimum_required(VERSION 3.22.1)
1919# On Windows with HIP backend, auto-detect compilers from ROCM_PATH before project()
2020if (WIN32 AND COMPUTE_BACKEND STREQUAL "hip" )
2121 if (DEFINED ENV{ROCM_PATH})
22- set (ROCM_PATH $ENV{ROCM_PATH} )
22+ file ( TO_CMAKE_PATH " $ENV{ROCM_PATH} " ROCM_PATH )
2323 endif ()
2424 if (ROCM_PATH AND NOT DEFINED CMAKE_CXX_COMPILER )
2525 set (CMAKE_CXX_COMPILER "${ROCM_PATH} /lib/llvm/bin/clang++.exe" )
2626 endif ()
2727 if (ROCM_PATH AND NOT DEFINED CMAKE_HIP_COMPILER)
2828 set (CMAKE_HIP_COMPILER "${ROCM_PATH} /lib/llvm/bin/clang++.exe" )
2929 endif ()
30+ if (NOT DEFINED HIP_PLATFORM)
31+ set (HIP_PLATFORM "amd" CACHE STRING "HIP Platform" )
32+ endif ()
3033 # On Windows, the HIP compiler needs explicit paths to find device libraries.
3134 if (ROCM_PATH)
3235 find_path (ROCM_DEVICE_LIB_PATH
@@ -35,9 +38,9 @@ if(WIN32 AND COMPUTE_BACKEND STREQUAL "hip")
3538 "${ROCM_PATH} /lib/llvm/amdgcn/bitcode"
3639 NO_DEFAULT_PATH
3740 )
38- set ( CMAKE_HIP_FLAGS "--rocm-path=${ROCM_PATH} " )
41+ string ( APPEND CMAKE_HIP_FLAGS " --rocm-path=${ROCM_PATH} " )
3942 if (ROCM_DEVICE_LIB_PATH)
40- set ( CMAKE_HIP_FLAGS "${CMAKE_HIP_FLAGS} --rocm-device-lib-path=${ROCM_DEVICE_LIB_PATH} " )
43+ string ( APPEND CMAKE_HIP_FLAGS " --rocm-device-lib-path=${ROCM_DEVICE_LIB_PATH} " )
4144 endif ()
4245 endif ()
4346endif ()
@@ -357,7 +360,7 @@ endif()
357360if (BUILD_HIP)
358361 # Determine ROCM_PATH from environment variable, fallback to /opt/rocm on Linux
359362 if (DEFINED ENV{ROCM_PATH})
360- set (ROCM_PATH $ENV{ROCM_PATH} )
363+ file ( TO_CMAKE_PATH " $ENV{ROCM_PATH} " ROCM_PATH )
361364 else ()
362365 set (ROCM_PATH /opt/rocm)
363366 endif ()
@@ -416,11 +419,15 @@ if(WIN32)
416419 set_target_properties (bitsandbytes PROPERTIES PREFIX "lib" )
417420endif ()
418421set_target_properties (bitsandbytes PROPERTIES OUTPUT_NAME ${BNB_OUTPUT_NAME} )
419- if (MSVC )
420- set_target_properties (bitsandbytes PROPERTIES LIBRARY_OUTPUT_DIRECTORY_RELEASE "${PROJECT_SOURCE_DIR} /bitsandbytes" )
421- set_target_properties (bitsandbytes PROPERTIES LIBRARY_OUTPUT_DIRECTORY_DEBUG "${PROJECT_SOURCE_DIR} /bitsandbytes" )
422- set_target_properties (bitsandbytes PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE "${PROJECT_SOURCE_DIR} /bitsandbytes" )
423- set_target_properties (bitsandbytes PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG "${PROJECT_SOURCE_DIR} /bitsandbytes" )
422+ if (WIN32 )
423+ set_target_properties (bitsandbytes PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR} /bitsandbytes" )
424+ set_target_properties (bitsandbytes PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR} /bitsandbytes" )
425+ if (MSVC )
426+ set_target_properties (bitsandbytes PROPERTIES LIBRARY_OUTPUT_DIRECTORY_RELEASE "${PROJECT_SOURCE_DIR} /bitsandbytes" )
427+ set_target_properties (bitsandbytes PROPERTIES LIBRARY_OUTPUT_DIRECTORY_DEBUG "${PROJECT_SOURCE_DIR} /bitsandbytes" )
428+ set_target_properties (bitsandbytes PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE "${PROJECT_SOURCE_DIR} /bitsandbytes" )
429+ set_target_properties (bitsandbytes PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG "${PROJECT_SOURCE_DIR} /bitsandbytes" )
430+ endif ()
424431endif ()
425432
426433set_target_properties (bitsandbytes PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR} /bitsandbytes" )
0 commit comments