xref: /openbsd-src/gnu/llvm/lldb/tools/intel-features/CMakeLists.txt (revision be691f3bb6417f04a68938fadbcaee2d5795e764)
1061da546Spatrick# Flags to control each individual feature
2061da546Spatrickoption(LLDB_BUILD_INTEL_MPX "Enable Building of Intel(R) Memory Protection Extensions" ON)
3061da546Spatrick
4061da546Spatrick# Return if all features are OFF
5*be691f3bSpatrickif (NOT LLDB_BUILD_INTEL_MPX)
6061da546Spatrick  return()
7061da546Spatrickendif()
8061da546Spatrick
9061da546SpatrickLIST (APPEND FEATURE_LIBS "")
10061da546Spatrick
11061da546Spatrick# Add feature specific subdirectories based on flags
12061da546Spatrickif (LLDB_BUILD_INTEL_MPX AND CMAKE_SYSTEM_NAME MATCHES "Linux")
13061da546Spatrick  add_subdirectory(intel-mpx)
14061da546Spatrick  LIST (APPEND FEATURE_LIBS ${FEATURE_LIBS} lldbIntelMPX)
15061da546Spatrick  SET (CLI_WRAPPER_PREPROCESSORS "${CLI_WRAPPER_PREPROCESSORS} -DBUILD_INTEL_MPX")
16061da546Spatrickendif()
17061da546Spatrick
18061da546Spatrickif (NOT CLI_WRAPPER_PREPROCESSORS)
19061da546Spatrick  return()
20061da546Spatrickendif()
21061da546Spatrick
22061da546Spatrickset_source_files_properties(cli-wrapper.cpp PROPERTIES
23061da546Spatrick                            COMPILE_FLAGS ${CLI_WRAPPER_PREPROCESSORS})
24061da546Spatrick
25061da546Spatrickadd_lldb_library(lldbIntelFeatures SHARED
26061da546Spatrick  cli-wrapper.cpp
27061da546Spatrick
28061da546Spatrick  LINK_LIBS
29061da546Spatrick    ${FEATURE_LIBS}
30061da546Spatrick  )
31061da546Spatrick
32061da546Spatrickinstall(TARGETS lldbIntelFeatures
33061da546Spatrick  LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX})
34