Files
clang-p2996/lldb/tools/debugserver/source/MacOSX/CMakeLists.txt
Todd Fiala eeb023cf76 Fix codesigning of MacOSX debugserver when built with cmake.
This patch fixes the codesigning of debugserver on OSX when built with
cmake.  Without this you get this error when debugging:
    error: process launch failed: unable to locate debugserver

Note: you also need to set LLDB_DEBUGSERVER_PATH to point to your built debugserver.
e.g. export LLDB_DEBUGSERVER_PATH=`pwd`/bin/debugserver

Change by dawn@burble.org.

Tested on MacOSX 10.9.5 and Xcode 6.1 Beta using cmake/ninja.
Verified no build break on Linux Ubuntu cmake/ninja and Xcode 6.1 canonical build.

llvm-svn: 218890
2014-10-02 16:59:30 +00:00

72 lines
1.9 KiB
CMake

set(LLVM_NO_RTTI 1)
#add_subdirectory(arm64)
#add_subdirectory(arm)
add_subdirectory(i386)
#add_subdirectory(ppc)
add_subdirectory(x86_64)
include_directories(..)
set(generated_mach_interfaces
${CMAKE_CURRENT_BINARY_DIR}/mach_exc.h
${CMAKE_CURRENT_BINARY_DIR}/mach_excServer.c
${CMAKE_CURRENT_BINARY_DIR}/mach_excUser.c
)
add_custom_command(OUTPUT ${generated_mach_interfaces}
COMMAND mig -I${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/dbgnub-mig.defs
DEPENDS ${dnbconfig_header}
)
set(DEBUGSERVER_USED_LIBS
lldbDebugserverCommon
lldbUtility
lldbDebugserverMacOSX_I386
lldbDebugserverMacOSX_X86_64
)
add_lldb_executable(debugserver
${dnbconfig_header}
HasAVX.s
CFBundle.cpp
CFData.cpp
CFString.cpp
Genealogy.cpp
MachException.cpp
MachProcess.mm
MachTask.mm
MachThread.cpp
MachThreadList.cpp
MachVMMemory.cpp
MachVMRegion.cpp
${generated_mach_interfaces}
)
set_source_files_properties(
HasAVX.s
# Necessary since compilation will fail with stand-alone assembler
PROPERTIES LANGUAGE C COMPILE_FLAGS "-x assembler-with-cpp"
)
add_dependencies(debugserver generate_dnbconfig)
target_link_libraries(debugserver ${DEBUGSERVER_USED_LIBS})
# Sign the debugserver binary
set (CODESIGN_IDENTITY lldb_codesign)
execute_process(
COMMAND xcrun -f codesign_allocate
OUTPUT_STRIP_TRAILING_WHITESPACE
OUTPUT_VARIABLE CODESIGN_ALLOCATE
)
add_custom_command(TARGET debugserver
POST_BUILD
# --entitlements option removed, as it causes errors when debugging.
#was: COMMAND CODESIGN_ALLOCATE=${CODESIGN_ALLOCATE} codesign --entitlements ${CMAKE_CURRENT_SOURCE_DIR}/../debugserver-entitlements.plist --force --sign ${CODESIGN_IDENTITY} debugserver
COMMAND CODESIGN_ALLOCATE=${CODESIGN_ALLOCATE} codesign --force --sign ${CODESIGN_IDENTITY} debugserver
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/bin
)
install(TARGETS debugserver
RUNTIME DESTINATION bin
)