| 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) |