include(LLVMParseArguments) # Link a shared library with just-built Clang. # clang_link_shared(<output.so> # OBJECTS <list of input objects> # LINKFLAGS <list of link flags> # DEPS <list of dependencies>) macro(clang_link_shared so_file) parse_arguments(SOURCE "OBJECTS;LINKFLAGS;DEPS" "" ${ARGN}) add_custom_command( OUTPUT ${so_file} COMMAND clang -o "${so_file}" -shared ${SOURCE_LINKFLAGS} ${SOURCE_OBJECTS} DEPENDS clang ${SOURCE_DEPS}) endmacro()