
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
89 lines
2.9 KiB
CMake
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)
|