Skip to content

Commit 56d866a

Browse files
committed
support cmake -B build option
- fix custom command - fix *_OUTPUT_DIRECTORY
1 parent ceae150 commit 56d866a

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

CMakeLists.txt

+9-9
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,13 @@ elseif(BUILD_MPS)
128128
string(APPEND BNB_OUTPUT_NAME "_mps")
129129
add_compile_definitions(BUILD_MPS)
130130
file(MAKE_DIRECTORY "build")
131-
add_custom_command(OUTPUT "bitsandbytes/bitsandbytes.metallib"
132-
COMMAND xcrun metal -c -o "build/bitsandbytes.air" ${METAL_FILES}
133-
COMMAND xcrun metallib "build/bitsandbytes.air" -o "bitsandbytes/bitsandbytes.metallib"
131+
add_custom_command(OUTPUT "${CMAKE_SOURCE_DIR}/bitsandbytes/bitsandbytes.metallib"
132+
COMMAND xcrun metal -c -o "bitsandbytes.air" "${CMAKE_SOURCE_DIR}/${METAL_FILES}"
133+
COMMAND xcrun metallib "bitsandbytes.air" -o "${CMAKE_SOURCE_DIR}/bitsandbytes/bitsandbytes.metallib"
134134
DEPENDS "${METAL_FILES}"
135135
COMMENT "Compiling Metal kernels"
136136
VERBATIM)
137-
add_custom_target(metallib DEPENDS "bitsandbytes/bitsandbytes.metallib")
137+
add_custom_target(metallib DEPENDS "${CMAKE_SOURCE_DIR}/bitsandbytes/bitsandbytes.metallib")
138138
else()
139139
string(APPEND BNB_OUTPUT_NAME "_cpu")
140140
set(GPU_SOURCES)
@@ -182,10 +182,10 @@ if(WIN32)
182182
endif()
183183
set_target_properties(bitsandbytes PROPERTIES OUTPUT_NAME ${BNB_OUTPUT_NAME})
184184
if(MSVC)
185-
set_target_properties(bitsandbytes PROPERTIES LIBRARY_OUTPUT_DIRECTORY_RELEASE bitsandbytes)
186-
set_target_properties(bitsandbytes PROPERTIES LIBRARY_OUTPUT_DIRECTORY_DEBUG bitsandbytes)
187-
set_target_properties(bitsandbytes PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE bitsandbytes)
188-
set_target_properties(bitsandbytes PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG bitsandbytes)
185+
set_target_properties(bitsandbytes PROPERTIES LIBRARY_OUTPUT_DIRECTORY_RELEASE "$<1:${CMAKE_SOURCE_DIR}/bitsandbytes>")
186+
set_target_properties(bitsandbytes PROPERTIES LIBRARY_OUTPUT_DIRECTORY_DEBUG "$<1:${CMAKE_SOURCE_DIR}/bitsandbytes>")
187+
set_target_properties(bitsandbytes PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE "$<1:${CMAKE_SOURCE_DIR}/bitsandbytes>")
188+
set_target_properties(bitsandbytes PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG "$<1:${CMAKE_SOURCE_DIR}/bitsandbytes>")
189189
endif()
190190

191-
set_target_properties(bitsandbytes PROPERTIES LIBRARY_OUTPUT_DIRECTORY bitsandbytes)
191+
set_target_properties(bitsandbytes PROPERTIES LIBRARY_OUTPUT_DIRECTORY "$<1:${CMAKE_SOURCE_DIR}/bitsandbytes>")

0 commit comments

Comments
 (0)