Index: cmake/LLDBDependencies.cmake =================================================================== --- cmake/LLDBDependencies.cmake +++ cmake/LLDBDependencies.cmake @@ -161,6 +161,7 @@ mcdisassembler executionengine option + support ) if ( NOT LLDB_DISABLE_PYTHON ) Index: source/CMakeLists.txt =================================================================== --- source/CMakeLists.txt +++ source/CMakeLists.txt @@ -30,6 +30,10 @@ if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows" ) add_subdirectory(API) endif () + +if (BUILD_SHARED_LIBS) + set(SHARED_LIBRARY 1) +endif() add_subdirectory(Breakpoint) add_subdirectory(Commands) add_subdirectory(Core) Index: tools/lldb-gdbserver/CMakeLists.txt =================================================================== --- tools/lldb-gdbserver/CMakeLists.txt +++ tools/lldb-gdbserver/CMakeLists.txt @@ -17,26 +17,33 @@ include(../../cmake/LLDBDependencies.cmake) -# have to include lldb and lldb-log files since those are not libraries and llgs depends on them -add_lldb_executable(lldb-gdbserver - lldb-gdbserver.cpp - ../../source/lldb-log.cpp - ../../source/lldb.cpp - ) +if ( BUILD_SHARED_LIBS ) + add_lldb_executable(lldb-gdbserver + lldb-gdbserver.cpp + ) -# The Darwin linker doesn't understand --start-group/--end-group. -if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin") - target_link_libraries(lldb-gdbserver - -Wl,--start-group ${LLDB_USED_LIBS} -Wl,--end-group) + target_link_libraries(lldb-gdbserver liblldb) else() - target_link_libraries(lldb-gdbserver ${LLDB_USED_LIBS}) + # have to include lldb and lldb-log files since those are not libraries and llgs depends on them + add_lldb_executable(lldb-gdbserver + lldb-gdbserver.cpp + ../../source/lldb-log.cpp + ../../source/lldb.cpp + ) + + # The Darwin linker doesn't understand --start-group/--end-group. + if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin") + target_link_libraries(lldb-gdbserver + -Wl,--start-group ${LLDB_USED_LIBS} -Wl,--end-group) + else() + target_link_libraries(lldb-gdbserver ${LLDB_USED_LIBS}) + endif() + target_link_libraries(lldb-gdbserver ${CLANG_USED_LIBS}) + llvm_config(lldb-gdbserver ${LLVM_LINK_COMPONENTS}) + + target_link_libraries(lldb-gdbserver ${LLDB_SYSTEM_LIBS}) endif() -target_link_libraries(lldb-gdbserver ${CLANG_USED_LIBS}) -llvm_config(lldb-gdbserver ${LLVM_LINK_COMPONENTS}) - -target_link_libraries(lldb-gdbserver ${LLDB_SYSTEM_LIBS}) set_target_properties(lldb-gdbserver PROPERTIES VERSION ${LLDB_VERSION}) - install(TARGETS lldb-gdbserver RUNTIME DESTINATION bin) Index: tools/lldb-mi/CMakeLists.txt =================================================================== --- tools/lldb-mi/CMakeLists.txt +++ tools/lldb-mi/CMakeLists.txt @@ -164,7 +164,7 @@ ) endif () -target_link_libraries(lldb-mi liblldb) +target_link_libraries(lldb-mi liblldb pthread) # TODO: why isn't this done by add_lldb_executable? #target_link_libraries(lldb-mi ${LLDB_USED_LIBS}) #llvm_config(lldb-mi ${LLVM_LINK_COMPONENTS})