1add_subdirectory(Debug) 2add_subdirectory(Dialect) 3add_subdirectory(Conversion) 4add_subdirectory(ExecutionEngine) 5add_subdirectory(IR) 6add_subdirectory(Registration) 7add_subdirectory(Transforms) 8 9 10################################################################################ 11# libMLIRPublicAPI shared library/DLL. 12################################################################################ 13 14get_property(public_api_libs GLOBAL PROPERTY MLIR_PUBLIC_C_API_LIBS) 15 16foreach(lib ${public_api_libs}) 17 if(XCODE) 18 # Xcode doesn't support object libraries, so we have to trick it into 19 # linking the static libraries instead. 20 list(APPEND _DEPS "-force_load" ${lib}) 21 else() 22 list(APPEND _OBJECTS $<TARGET_OBJECTS:obj.${lib}>) 23 endif() 24 # Accumulate transitive deps of each exported lib into _DEPS. 25 list(APPEND _DEPS $<TARGET_PROPERTY:${lib},LINK_LIBRARIES>) 26endforeach() 27 28add_mlir_library(MLIRPublicAPI 29 SHARED 30 ${_OBJECTS} 31 EXCLUDE_FROM_LIBMLIR 32 LINK_LIBS 33 # Dependency on the implementation shared library. 34 $<$<BOOL:${LLVM_BUILD_LLVM_DYLIB}>:MLIR> 35 ${_DEPS} 36) 37 38target_link_options( 39 MLIRPublicAPI 40 PRIVATE 41 # On Linux, disable re-export of any static linked libraries that 42 # came through. 43 $<$<PLATFORM_ID:Linux>:LINKER:--exclude-libs,ALL> 44) 45