Build EnhancedDisassembly as a shared library too.
authorOscar Fuentes <ofv@wanadoo.es>
Sat, 12 Mar 2011 22:01:47 +0000 (22:01 +0000)
committerOscar Fuentes <ofv@wanadoo.es>
Sat, 12 Mar 2011 22:01:47 +0000 (22:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127555 91177308-0d34-0410-b5e6-96231b3b80d8

tools/edis/CMakeLists.txt

index 5037f9f6f8b5b4def06cc160f12cf0e16dd71e82..9406c2a15cf83630bef5004de961573d4218b14a 100644 (file)
@@ -1,11 +1,34 @@
 include_directories(${CMAKE_CURRENT_BINARY_DIR})
 
-add_llvm_library(EnhancedDisassembly
+set(SOURCES
   ../../include/llvm-c/EnhancedDisassembly.h
   EDMain.cpp
-)
+  )
 
-set_target_properties(EnhancedDisassembly
-  PROPERTIES
-  LINKER_LANGUAGE CXX)
+set(LLVM_LINK_COMPONENTS mcdisassembler)
+if( LLVM_TARGETS_TO_BUILD MATCHES X86 )
+  list(APPEND LLVM_LINK_COMPONENTS x86asmprinter x86disassembler)
+endif()
+if( LLVM_TARGETS_TO_BUILD MATCHES ARM )
+  list(APPEND LLVM_LINK_COMPONENTS armasmprinter armdisassembler)
+endif()
 
+# TODO: Process EnhancedDisassembly.exports
+
+if( NOT WIN32 AND LLVM_ENABLE_PIC )
+  set(bsl ${BUILD_SHARED_LIBS})
+  set(BUILD_SHARED_LIBS ON)
+  add_llvm_library(EnhancedDisassembly ${SOURCES})
+  set_property(TARGET EnhancedDisassembly PROPERTY
+    OUTPUT_NAME "EnhancedDisassembly")
+  set(BUILD_SHARED_LIBS ${bsl})
+  set(EnhancedDisassembly_STATIC_TARGET_NAME EnhancedDisassembly_static)
+else()
+  set(EnhancedDisassembly_STATIC_TARGET_NAME EnhancedDisassembly)
+endif()
+
+if( NOT BUILD_SHARED_LIBS )
+  add_llvm_library(${EnhancedDisassembly_STATIC_TARGET_NAME} ${SOURCES})
+  set_property(TARGET ${EnhancedDisassembly_STATIC_TARGET_NAME} PROPERTY
+    OUTPUT_NAME "EnhancedDisassembly")
+endif()