blob: a83dfdf2d09046d42cab6179010f36414caba780 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
if (SHAMROCK_BUILD)
set(CUSTOM_COMMAND ${CLANG_EXECUTABLE} -cc1 -emit-llvm-bc -x cl -O2 -fno-builtin -nobuiltininc -Fvisibility=protected -cl-std=CL1.2 -ffp-contract=off )
FILE(GLOB CL_SOURCES ${CLC_BUILTINS_DIR}/*.cl)
#MESSAGE(STATUS "CL_SOURCES: ${CL_SOURCES}" )
set(BC_SOURCES)
foreach(f ${CL_SOURCES})
get_filename_component(fn ${f} NAME_WE)
#MESSAGE(STATUS "CL_SOURCE: ${f}" )
set(bc ${CMAKE_CURRENT_BINARY_DIR}/${fn}.bc)
add_custom_command(OUTPUT ${bc}
COMMAND ${CUSTOM_COMMAND}
-I${OCL_BUILTINS_DIR}/include
-o ${bc} ${f}
DEPENDS ${f}
COMMENT "Generating ${bc}")
list(APPEND BC_SOURCES ${bc})
endforeach()
#MESSAGE( STATUS "BC_SOURCES: ${BC_SOURCES}")
add_custom_target(generate_bc_files DEPENDS ${BC_SOURCES})
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/builtins.lib
COMMAND llvm-link
-o ${CMAKE_CURRENT_BINARY_DIR}/builtins.lib ${BC_SOURCES}
DEPENDS ${BC_SOURCES} )
add_custom_target(generate_builtin_lib DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/builtins.lib)
endif(SHAMROCK_BUILD)
|