object-introspection/oi/CMakeLists.txt
Jake Hillion b5b94ed236 container_info: switch to boost::regex (#465)
Summary:

OI was previously using `std::regex_match` to match container names. This was bad because `libstdc++`'s implementation of regex is awful. In the case of limited inlining it was causing a stack overflow when running CodeGen for large types (I think types with large names but I never got to the bottom of it).

Replace this with the competent `boost::regex_match` that we already have a dependency on.

Reviewed By: ajor

Differential Revision: D53002752
2024-01-23 10:58:58 -08:00

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