object-introspection/oi/CMakeLists.txt
Jake Hillion 4c6f232766 containers: add required features (#374)
Summary:
Adds the option for required features to container definitions. These cause the container not to be passed to `DrgnParser` if that feature is not enabled during code generation. The thrift isset type does not currently work with `tree-builder-v2` and only provides benefit with `capture-thrift-isset`. This change makes sure the container is ignored if it won't be useful, allowing code generation under `tree-builder-v2`.


Test Plan: - CI

Differential Revision: D49960512

Pulled By: JakeHillion
2023-10-09 17:50:39 -04:00

67 lines
1.2 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
"-L${DRGN_PATH}/.libs"
drgn
)
add_dependencies(drgn_utils libdrgn)
add_library(symbol_service
Descs.cpp
SymbolService.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
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_json exporters/Json.cpp)
target_include_directories(exporters_json PUBLIC ${CMAKE_SOURCE_DIR}/include)
target_link_libraries(exporters_json oil)
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)