object-introspection/oi/CMakeLists.txt
Jake Hillion b7b9ac1536 add minimal support for aarch64 (#507)
Summary:
Pull Request resolved: https://github.com/facebookexperimental/object-introspection/pull/507

OI is currently completely incompatible with anything except `x86_64`. Changing that generally is a big effort, but `oilgen` should work on other architectures. Begin adding some support for `aarch64` architecture.

This change sets up a file structure for architecture support. It pulls the 2 functions needed to make `Descs.{h,cpp}` architecture agnostic into architecture specific files for `x86_64` and `aarch64`. This enables `oilgen` (the binary) to build. At this stage `oilgen` is unable to generate working code for `aarch64`, but at least this is a step in the right direction.

Differential Revision: D61661524
2024-08-23 03:43:26 -07:00

64 lines
1.0 KiB
CMake

add_library(toml
support/Toml.cpp
)
target_link_libraries(toml PUBLIC tomlplusplus::tomlplusplus)
add_library(drgn_utils DrgnUtils.cpp)
target_link_libraries(drgn_utils
glog::glog
drgn
)
add_library(symbol_service
Descs.cpp
SymbolService.cpp
arch/aarch64.cpp
arch/x86_64.cpp
)
target_link_libraries(symbol_service
drgn_utils
Boost::headers
${Boost_LIBRARIES}
glog::glog
dw
)
add_library(features Features.cpp)
target_link_libraries(features glog::glog)
add_library(container_info
ContainerInfo.cpp
)
target_link_libraries(container_info
features
Boost::regex
glog::glog
toml
)
add_library(codegen
CodeGen.cpp
FuncGen.cpp
OICodeGen.cpp
)
target_link_libraries(codegen
container_info
resources
symbol_service
type_graph
Boost::headers
${Boost_LIBRARIES}
folly_headers
glog::glog
)
add_library(exporters_csv exporters/CSV.cpp)
target_include_directories(exporters_csv PUBLIC ${CMAKE_SOURCE_DIR}/include)
target_link_libraries(exporters_csv oil)
add_subdirectory(type_graph)