33# See LICENSE.TXT
44# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
55
6-
7- set (TARGET_NAME ur_adapter_level_zero)
86set (UR_LEVEL_ZERO_LOADER_LIBRARY "" CACHE FILEPATH "Path of the Level Zero Loader library" )
97set (UR_LEVEL_ZERO_INCLUDE_DIR "" CACHE FILEPATH "Directory containing the Level Zero Headers" )
108set (UR_LEVEL_ZERO_LOADER_REPO "" CACHE STRING "Github repo to get the Level Zero loader sources from" )
@@ -13,15 +11,15 @@ set(UR_LEVEL_ZERO_LOADER_TAG "" CACHE STRING " GIT tag of the Level Loader taken
1311# Copy Level Zero loader/headers locally to the build to avoid leaking their path.
1412set (LEVEL_ZERO_COPY_DIR ${CMAKE_CURRENT_BINARY_DIR} /level_zero_loader)
1513if (NOT UR_LEVEL_ZERO_LOADER_LIBRARY STREQUAL "" )
16- get_filename_component (LEVEL_ZERO_LIB_NAME "${UR_LEVEL_ZERO_LOADER_LIBRARY} " NAME )
17- set (LEVEL_ZERO_LIBRARY ${LEVEL_ZERO_COPY_DIR} /${LEVEL_ZERO_LIB_NAME} )
18- message (STATUS "Level Zero Adapter: Copying Level Zero loader to local build tree" )
19- file (COPY ${UR_LEVEL_ZERO_LOADER_LIBRARY} DESTINATION ${LEVEL_ZERO_COPY_DIR} FOLLOW_SYMLINK_CHAIN)
14+ get_filename_component (LEVEL_ZERO_LIB_NAME "${UR_LEVEL_ZERO_LOADER_LIBRARY} " NAME )
15+ set (LEVEL_ZERO_LIBRARY ${LEVEL_ZERO_COPY_DIR} /${LEVEL_ZERO_LIB_NAME} )
16+ message (STATUS "Level Zero Adapter: Copying Level Zero loader to local build tree" )
17+ file (COPY ${UR_LEVEL_ZERO_LOADER_LIBRARY} DESTINATION ${LEVEL_ZERO_COPY_DIR} FOLLOW_SYMLINK_CHAIN)
2018endif ()
2119if (NOT UR_LEVEL_ZERO_INCLUDE_DIR STREQUAL "" )
22- set (LEVEL_ZERO_INCLUDE_DIR ${LEVEL_ZERO_COPY_DIR} )
23- message (STATUS "Level Zero Adapter: Copying Level Zero headers to local build tree" )
24- file (COPY ${UR_LEVEL_ZERO_INCLUDE_DIR} / DESTINATION ${LEVEL_ZERO_COPY_DIR} )
20+ set (LEVEL_ZERO_INCLUDE_DIR ${LEVEL_ZERO_COPY_DIR} )
21+ message (STATUS "Level Zero Adapter: Copying Level Zero headers to local build tree" )
22+ file (COPY ${UR_LEVEL_ZERO_INCLUDE_DIR} / DESTINATION ${LEVEL_ZERO_COPY_DIR} )
2523endif ()
2624
2725if (NOT DEFINED LEVEL_ZERO_LIBRARY OR NOT DEFINED LEVEL_ZERO_INCLUDE_DIR)
@@ -93,81 +91,83 @@ target_include_directories(LevelZeroLoader-Headers
9391 INTERFACE "${LEVEL_ZERO_INCLUDE_DIR} "
9492)
9593
96- add_ur_adapter(${TARGET_NAME}
97- SHARED
98- ${CMAKE_CURRENT_SOURCE_DIR} /ur_interface_loader.cpp
99- ${CMAKE_CURRENT_SOURCE_DIR} /adapter.hpp
100- ${CMAKE_CURRENT_SOURCE_DIR} /adapter.cpp
101- ${CMAKE_CURRENT_SOURCE_DIR} /command_buffer.hpp
102- ${CMAKE_CURRENT_SOURCE_DIR} /command_buffer.cpp
103- ${CMAKE_CURRENT_SOURCE_DIR} /common.hpp
104- ${CMAKE_CURRENT_SOURCE_DIR} /context.hpp
105- ${CMAKE_CURRENT_SOURCE_DIR} /device.hpp
106- ${CMAKE_CURRENT_SOURCE_DIR} /event.hpp
107- ${CMAKE_CURRENT_SOURCE_DIR} /usm.hpp
108- ${CMAKE_CURRENT_SOURCE_DIR} /memory.hpp
109- ${CMAKE_CURRENT_SOURCE_DIR} /kernel.hpp
110- ${CMAKE_CURRENT_SOURCE_DIR} /physical_mem.hpp
111- ${CMAKE_CURRENT_SOURCE_DIR} /platform.hpp
112- ${CMAKE_CURRENT_SOURCE_DIR} /program .hpp
113- ${CMAKE_CURRENT_SOURCE_DIR} /queue_api.hpp
114- ${CMAKE_CURRENT_SOURCE_DIR} /queue.hpp
115- ${CMAKE_CURRENT_SOURCE_DIR} /sampler.hpp
116- ${CMAKE_CURRENT_SOURCE_DIR} /ur_level_zero.cpp
117- ${CMAKE_CURRENT_SOURCE_DIR} /common.cpp
118- ${CMAKE_CURRENT_SOURCE_DIR} /context.cpp
119- ${CMAKE_CURRENT_SOURCE_DIR} /device.cpp
120- ${CMAKE_CURRENT_SOURCE_DIR} /enqueue_native.cpp
121- ${CMAKE_CURRENT_SOURCE_DIR} /event.cpp
122- ${CMAKE_CURRENT_SOURCE_DIR} /usm.cpp
123- ${CMAKE_CURRENT_SOURCE_DIR} /usm_p2p.cpp
124- ${CMAKE_CURRENT_SOURCE_DIR} /virtual_mem.cpp
125- ${CMAKE_CURRENT_SOURCE_DIR} /memory.cpp
126- ${CMAKE_CURRENT_SOURCE_DIR} /kernel.cpp
127- ${CMAKE_CURRENT_SOURCE_DIR} /physical_mem.cpp
128- ${CMAKE_CURRENT_SOURCE_DIR} /platform.cpp
129- ${CMAKE_CURRENT_SOURCE_DIR} /program .cpp
130- ${CMAKE_CURRENT_SOURCE_DIR} /queue_api.cpp
131- ${CMAKE_CURRENT_SOURCE_DIR} /queue.cpp
132- ${CMAKE_CURRENT_SOURCE_DIR} /sampler.cpp
133- ${CMAKE_CURRENT_SOURCE_DIR} /image.cpp
134- ${CMAKE_CURRENT_SOURCE_DIR} /../../ur/ur.cpp
135- )
136-
137- if (NOT WIN32 )
138- target_sources (ur_adapter_level_zero
139- PRIVATE
140- ${CMAKE_CURRENT_SOURCE_DIR} /adapter_lib_init_linux.cpp
94+ if (UR_BUILD_ADAPTER_L0)
95+ add_ur_adapter(ur_adapter_level_zero
96+ SHARED
97+ ${CMAKE_CURRENT_SOURCE_DIR} /ur_interface_loader.cpp
98+ ${CMAKE_CURRENT_SOURCE_DIR} /adapter.hpp
99+ ${CMAKE_CURRENT_SOURCE_DIR} /adapter.cpp
100+ ${CMAKE_CURRENT_SOURCE_DIR} /command_buffer.hpp
101+ ${CMAKE_CURRENT_SOURCE_DIR} /command_buffer.cpp
102+ ${CMAKE_CURRENT_SOURCE_DIR} /common.hpp
103+ ${CMAKE_CURRENT_SOURCE_DIR} /context.hpp
104+ ${CMAKE_CURRENT_SOURCE_DIR} /device.hpp
105+ ${CMAKE_CURRENT_SOURCE_DIR} /event.hpp
106+ ${CMAKE_CURRENT_SOURCE_DIR} /usm.hpp
107+ ${CMAKE_CURRENT_SOURCE_DIR} /memory.hpp
108+ ${CMAKE_CURRENT_SOURCE_DIR} /kernel.hpp
109+ ${CMAKE_CURRENT_SOURCE_DIR} /physical_mem.hpp
110+ ${CMAKE_CURRENT_SOURCE_DIR} /platform.hpp
111+ ${CMAKE_CURRENT_SOURCE_DIR} /program .hpp
112+ ${CMAKE_CURRENT_SOURCE_DIR} /queue_api.hpp
113+ ${CMAKE_CURRENT_SOURCE_DIR} /queue.hpp
114+ ${CMAKE_CURRENT_SOURCE_DIR} /sampler.hpp
115+ ${CMAKE_CURRENT_SOURCE_DIR} /ur_level_zero.cpp
116+ ${CMAKE_CURRENT_SOURCE_DIR} /common.cpp
117+ ${CMAKE_CURRENT_SOURCE_DIR} /context.cpp
118+ ${CMAKE_CURRENT_SOURCE_DIR} /device.cpp
119+ ${CMAKE_CURRENT_SOURCE_DIR} /enqueue_native.cpp
120+ ${CMAKE_CURRENT_SOURCE_DIR} /event.cpp
121+ ${CMAKE_CURRENT_SOURCE_DIR} /usm.cpp
122+ ${CMAKE_CURRENT_SOURCE_DIR} /usm_p2p.cpp
123+ ${CMAKE_CURRENT_SOURCE_DIR} /virtual_mem.cpp
124+ ${CMAKE_CURRENT_SOURCE_DIR} /memory.cpp
125+ ${CMAKE_CURRENT_SOURCE_DIR} /kernel.cpp
126+ ${CMAKE_CURRENT_SOURCE_DIR} /physical_mem.cpp
127+ ${CMAKE_CURRENT_SOURCE_DIR} /platform.cpp
128+ ${CMAKE_CURRENT_SOURCE_DIR} /program .cpp
129+ ${CMAKE_CURRENT_SOURCE_DIR} /queue_api.cpp
130+ ${CMAKE_CURRENT_SOURCE_DIR} /queue.cpp
131+ ${CMAKE_CURRENT_SOURCE_DIR} /sampler.cpp
132+ ${CMAKE_CURRENT_SOURCE_DIR} /image.cpp
133+ ${CMAKE_CURRENT_SOURCE_DIR} /../../ur/ur.cpp
141134 )
142- endif ()
143135
144- # TODO: fix level_zero adapter conversion warnings
145- target_compile_options (${TARGET_NAME} PRIVATE
146- $<$<CXX_COMPILER_ID:MSVC >:/wd4805 /wd4244>
147- )
136+ if (NOT WIN32 )
137+ target_sources (ur_adapter_level_zero
138+ PRIVATE
139+ ${CMAKE_CURRENT_SOURCE_DIR} /adapter_lib_init_linux.cpp
140+ )
141+ endif ()
148142
149- set_target_properties ( ${TARGET_NAME} PROPERTIES
150- VERSION " ${PROJECT_VERSION_MAJOR} . ${PROJECT_VERSION_MINOR} . ${PROJECT_VERSION_PATCH} "
151- SOVERSION " ${PROJECT_VERSION_MAJOR} "
152- )
143+ # TODO: fix level_zero adapter conversion warnings
144+ target_compile_options (ur_adapter_level_zero PRIVATE
145+ $<$<CXX_COMPILER_ID: MSVC >:/wd4805 /wd4244>
146+ )
153147
154- if ( WIN32 )
155- # 0x800: Search for the DLL only in the System32 folder
156- target_link_options (ur_adapter_level_zero PUBLIC /DEPENDENTLOADFLAG:0x800)
157- endif ( )
148+ set_target_properties (ur_adapter_level_zero PROPERTIES
149+ VERSION " ${PROJECT_VERSION_MAJOR} . ${PROJECT_VERSION_MINOR} . ${PROJECT_VERSION_PATCH} "
150+ SOVERSION " ${PROJECT_VERSION_MAJOR} "
151+ )
158152
159- target_link_libraries (${TARGET_NAME} PRIVATE
160- ${PROJECT_NAME} ::headers
161- ${PROJECT_NAME} ::common
162- ${PROJECT_NAME} ::umf
163- LevelZeroLoader
164- LevelZeroLoader-Headers
165- )
153+ if (WIN32 )
154+ # 0x800: Search for the DLL only in the System32 folder
155+ target_link_options (ur_adapter_level_zero PUBLIC /DEPENDENTLOADFLAG:0x800)
156+ endif ()
166157
167- target_include_directories (${TARGET_NAME} PRIVATE
168- "${CMAKE_CURRENT_SOURCE_DIR} /../../"
169- LevelZeroLoader-Headers
170- )
158+ target_link_libraries (ur_adapter_level_zero PRIVATE
159+ ${PROJECT_NAME} ::headers
160+ ${PROJECT_NAME} ::common
161+ ${PROJECT_NAME} ::umf
162+ LevelZeroLoader
163+ LevelZeroLoader-Headers
164+ )
165+
166+ target_include_directories (ur_adapter_level_zero PRIVATE
167+ "${CMAKE_CURRENT_SOURCE_DIR} /../../"
168+ LevelZeroLoader-Headers
169+ )
170+ endif ()
171171
172172if (UR_BUILD_ADAPTER_L0_V2)
173173 add_ur_adapter(ur_adapter_level_zero_v2
@@ -207,11 +207,11 @@ if(UR_BUILD_ADAPTER_L0_V2)
207207 ${CMAKE_CURRENT_SOURCE_DIR} /v2/queue_immediate_in_order.cpp
208208 )
209209
210- # api.cpp contains NOT_SUPPORTED functions-only
211- set_source_files_properties (${CMAKE_CURRENT_SOURCE_DIR} /v2/api.cpp
212- PROPERTIES APPEND_STRING PROPERTY COMPILE_FLAGS "-Wno-unused-parameter" )
213-
214210 if (NOT WIN32 )
211+ # api.cpp contains NOT_SUPPORTED functions-only
212+ set_source_files_properties (${CMAKE_CURRENT_SOURCE_DIR} /v2/api.cpp
213+ PROPERTIES APPEND_STRING PROPERTY COMPILE_FLAGS "-Wno-unused-parameter" )
214+
215215 target_sources (ur_adapter_level_zero_v2
216216 PRIVATE
217217 ${CMAKE_CURRENT_SOURCE_DIR} /adapter_lib_init_linux.cpp
0 commit comments