@@ -340,29 +340,37 @@ function(add_libclc_builtin_set)
340340 return ()
341341 endif ()
342342
343- set ( builtins_opt_lib_tgt builtins.opt.${ARG_ARCH_SUFFIX} )
343+ if ( ${ARG_OPT_FLAGS} )
344+ set ( builtins_opt_lib_tgt builtins.opt.${ARG_ARCH_SUFFIX} )
345+
346+ # Add opt target
347+ add_custom_command ( OUTPUT ${builtins_opt_lib_tgt} .bc
348+ COMMAND ${opt_exe} ${ARG_OPT_FLAGS} -o ${builtins_opt_lib_tgt} .bc
349+ ${builtins_link_lib}
350+ DEPENDS ${opt_target} ${builtins_link_lib} ${builtins_link_lib_tgt}
351+ )
352+ add_custom_target ( ${builtins_opt_lib_tgt}
353+ ALL DEPENDS ${builtins_opt_lib_tgt} .bc
354+ )
355+ set_target_properties ( ${builtins_opt_lib_tgt} PROPERTIES
356+ TARGET_FILE ${CMAKE_CURRENT_BINARY_DIR} /${builtins_opt_lib_tgt} .bc
357+ FOLDER "libclc/Device IR/Opt"
358+ )
344359
345- # Add opt target
346- add_custom_command ( OUTPUT ${builtins_opt_lib_tgt} .bc
347- COMMAND ${opt_exe} ${ARG_OPT_FLAGS} -o ${builtins_opt_lib_tgt} .bc
348- ${builtins_link_lib}
349- DEPENDS ${opt_target} ${builtins_link_lib} ${builtins_link_lib_tgt}
350- )
351- add_custom_target ( ${builtins_opt_lib_tgt}
352- ALL DEPENDS ${builtins_opt_lib_tgt} .bc
353- )
354- set_target_properties ( ${builtins_opt_lib_tgt} PROPERTIES
355- TARGET_FILE ${CMAKE_CURRENT_BINARY_DIR} /${builtins_opt_lib_tgt} .bc
356- FOLDER "libclc/Device IR/Opt"
357- )
360+ set ( builtins_opt_lib $<TARGET_PROPERTY:${builtins_opt_lib_tgt} ,TARGET_FILE> )
358361
359- set ( builtins_opt_lib $<TARGET_PROPERTY:${builtins_opt_lib_tgt} ,TARGET_FILE> )
362+ set ( builtins_link_opt_lib ${builtins_opt_lib} )
363+ set ( builtins_link_opt_lib_tgt ${builtins_opt_lib_tgt} )
364+ else ()
365+ set ( builtins_link_opt_lib ${builtins_link_lib} )
366+ set ( builtins_link_opt_lib_tgt ${builtins_link_lib_tgt} )
367+ endif ()
360368
361369 # Add prepare target
362370 set ( obj_suffix ${ARG_ARCH_SUFFIX} .bc )
363371 add_custom_command ( OUTPUT ${obj_suffix}
364- COMMAND ${prepare_builtins_exe} -o ${obj_suffix} ${builtins_opt_lib }
365- DEPENDS ${builtins_opt_lib } ${builtins_opt_lib_tgt } ${prepare_builtins_target} )
372+ COMMAND ${prepare_builtins_exe} -o ${obj_suffix} ${builtins_link_opt_lib }
373+ DEPENDS ${builtins_link_opt_lib } ${builtins_link_opt_lib_tgt } ${prepare_builtins_target} )
366374 add_custom_target ( prepare-${obj_suffix} ALL DEPENDS ${obj_suffix} )
367375 set_target_properties ( "prepare-${obj_suffix} " PROPERTIES FOLDER "libclc/Device IR/Prepare" )
368376
0 commit comments