mirror of
https://github.com/JakeHillion/object-introspection.git
synced 2024-11-09 21:24:14 +00:00
b5b94ed236
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
65 lines
1.0 KiB
CMake
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)
|