xref: /aosp_15_r20/external/google-fruit/src/CMakeLists.txt (revision a65addddcf69f38db5b288d787b6b7571a57bb8f)
1
2set(FRUIT_SOURCES
3    memory_pool.cpp
4    binding_normalization.cpp
5    demangle_type_name.cpp
6    component.cpp
7    fixed_size_allocator.cpp
8    injector_storage.cpp
9    normalized_component_storage.cpp
10    normalized_component_storage_holder.cpp
11    semistatic_map.cpp
12    semistatic_graph.cpp)
13
14if(BUILD_SHARED_LIBS)
15    add_library(fruit SHARED ${FRUIT_SOURCES})
16
17    set_target_properties(fruit PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
18else()
19    add_library(fruit STATIC ${FRUIT_SOURCES})
20endif()
21
22target_include_directories(fruit PUBLIC ${FRUIT_INCLUDE_DIRS})
23target_compile_options(fruit PUBLIC ${FRUIT_ADDITIONAL_COMPILE_FLAGS})
24
25if(FRUIT_USES_BOOST)
26    find_package(Boost REQUIRED)
27    target_include_directories(fruit PRIVATE ${Boost_INCLUDE_DIRS})
28endif()
29
30install(TARGETS fruit
31    RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
32    ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
33    LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
34