| 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 |
| COMMAND CODESIGN_ALLOCATE=${CODESIGN_ALLOCATE} codesign --entitlements ${CMAKE_CURRENT_SOURCE_DIR}/../debugserver-entitlements.plist --force --sign ${CODESIGN_IDENTITY} debugserver |
| WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/bin |
| ) |
| |
| install(TARGETS debugserver |
| RUNTIME DESTINATION bin |
| ) |