llvm-project/lldb/source/CMakeLists.txt
Pavel Labath f0a6d8ada3 Remove Plugins/Process/POSIX from include_directories
Summary:
The files there can always be referred to using their full path, which
is what most of the code has been doing already, so this makes the
situation more consistent. Also fix the the code in the FreeBSD plugin
to use the new paths.

Reviewers: eugene, emaste

Subscribers: lldb-commits, kettenis, mgorny, krytarowski

Differential Revision: https://reviews.llvm.org/D31877

llvm-svn: 299933
2017-04-11 12:26:25 +00:00

89 lines
2.9 KiB
CMake

include_directories(.)
set(lldbBase_SOURCES
lldb.cpp
)
foreach(file
"${LLDB_SOURCE_DIR}/.git/logs/HEAD" # Git
"${LLDB_SOURCE_DIR}/.svn/wc.db" # SVN 1.7
"${LLDB_SOURCE_DIR}/.svn/entries" # SVN 1.6
)
if(EXISTS "${file}")
set(lldb_vc "${file}")
break()
endif()
endforeach()
if(DEFINED lldb_vc)
set(version_inc "${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc")
set(get_svn_script "${LLVM_CMAKE_PATH}/GetSVN.cmake")
# Create custom target to generate the VC revision include.
add_custom_command(OUTPUT "${version_inc}"
DEPENDS "${lldb_vc}" "${get_svn_script}"
COMMAND
${CMAKE_COMMAND} "-DFIRST_SOURCE_DIR=${LLDB_SOURCE_DIR}"
"-DFIRST_NAME=LLDB"
"-DHEADER_FILE=${version_inc}"
-P "${get_svn_script}")
# Mark the generated header as being generated.
set_source_files_properties("${version_inc}"
PROPERTIES GENERATED TRUE
HEADER_FILE_ONLY TRUE)
# Tell Version.cpp that it needs to build with -DHAVE_SVN_VERSION_INC.
set_property(SOURCE lldb.cpp APPEND PROPERTY
COMPILE_DEFINITIONS "HAVE_SVN_VERSION_INC")
list(APPEND lldbBase_SOURCES ${version_inc})
endif()
if(APPLE)
set(apple_version_inc "${CMAKE_CURRENT_BINARY_DIR}/AppleVersion.inc")
set(apple_version_script "${LLDB_SOURCE_DIR}/cmake/modules/EmbedAppleVersion.cmake")
set(info_plist ${LLDB_SOURCE_DIR}/resources/LLDB-Info.plist)
# Create custom target to generate the VC revision include.
add_custom_command(OUTPUT "${apple_version_inc}"
DEPENDS "${apple_version_script}" "${info_plist}"
COMMAND
${CMAKE_COMMAND} "-DLLDB_INFO_PLIST=${info_plist}"
"-DHEADER_FILE=${apple_version_inc}"
-P "${apple_version_script}")
# Mark the generated header as being generated.
set_source_files_properties("${apple_version_inc}"
PROPERTIES GENERATED TRUE
HEADER_FILE_ONLY TRUE)
# Tell Version.cpp that it needs to build with -DHAVE_SVN_VERSION_INC.
set_property(SOURCE lldb.cpp APPEND PROPERTY
COMPILE_DEFINITIONS "HAVE_APPLE_VERSION_INC")
list(APPEND lldbBase_SOURCES ${apple_version_inc})
elseif(LLDB_VERSION_STRING)
set_property(SOURCE lldb.cpp APPEND PROPERTY
COMPILE_DEFINITIONS "LLDB_VERSION_STRING=${LLDB_VERSION_STRING}")
endif()
add_lldb_library(lldbBase
${lldbBase_SOURCES}
)
add_subdirectory(Breakpoint)
add_subdirectory(Commands)
add_subdirectory(Core)
add_subdirectory(DataFormatters)
add_subdirectory(Expression)
add_subdirectory(Host)
add_subdirectory(Initialization)
add_subdirectory(Interpreter)
add_subdirectory(Plugins)
add_subdirectory(Symbol)
add_subdirectory(Target)
add_subdirectory(Utility)
# Build API last. Since liblldb needs to link against every other target, it needs
# those targets to have already been created.
add_subdirectory(API)