1*7c3d14c8STreehugger Robot# Link a shared library with COMPILER_RT_TEST_COMPILER. 2*7c3d14c8STreehugger Robot# clang_link_shared(<output.so> 3*7c3d14c8STreehugger Robot# OBJECTS <list of input objects> 4*7c3d14c8STreehugger Robot# LINKFLAGS <list of link flags> 5*7c3d14c8STreehugger Robot# DEPS <list of dependencies>) 6*7c3d14c8STreehugger Robotmacro(clang_link_shared so_file) 7*7c3d14c8STreehugger Robot cmake_parse_arguments(SOURCE "" "" "OBJECTS;LINKFLAGS;DEPS" ${ARGN}) 8*7c3d14c8STreehugger Robot if(NOT COMPILER_RT_STANDALONE_BUILD) 9*7c3d14c8STreehugger Robot list(APPEND SOURCE_DEPS clang) 10*7c3d14c8STreehugger Robot endif() 11*7c3d14c8STreehugger Robot add_custom_command( 12*7c3d14c8STreehugger Robot OUTPUT ${so_file} 13*7c3d14c8STreehugger Robot COMMAND ${COMPILER_RT_TEST_COMPILER} -o "${so_file}" -shared 14*7c3d14c8STreehugger Robot ${SOURCE_LINKFLAGS} ${SOURCE_OBJECTS} 15*7c3d14c8STreehugger Robot DEPENDS ${SOURCE_DEPS}) 16*7c3d14c8STreehugger Robotendmacro() 17