1# Flags to control each individual feature
2option(LLDB_BUILD_INTEL_MPX "Enable Building of Intel(R) Memory Protection Extensions" ON)
3
4# Return if all features are OFF
5if (NOT LLDB_BUILD_INTEL_MPX)
6  return()
7endif()
8
9LIST (APPEND FEATURE_LIBS "")
10
11# Add feature specific subdirectories based on flags
12if (LLDB_BUILD_INTEL_MPX AND CMAKE_SYSTEM_NAME MATCHES "Linux")
13  add_subdirectory(intel-mpx)
14  LIST (APPEND FEATURE_LIBS ${FEATURE_LIBS} lldbIntelMPX)
15  SET (CLI_WRAPPER_PREPROCESSORS "${CLI_WRAPPER_PREPROCESSORS} -DBUILD_INTEL_MPX")
16endif()
17
18if (NOT CLI_WRAPPER_PREPROCESSORS)
19  return()
20endif()
21
22set_source_files_properties(cli-wrapper.cpp PROPERTIES
23                            COMPILE_FLAGS ${CLI_WRAPPER_PREPROCESSORS})
24
25add_lldb_library(lldbIntelFeatures SHARED
26  cli-wrapper.cpp
27
28  LINK_LIBS
29    ${FEATURE_LIBS}
30  )
31
32install(TARGETS lldbIntelFeatures
33  LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX})
34