283a91cc60
Summary: All mgp_* symbols are exported from Memgraph executable, no other symbols should be visible. The primary C API header, mg_procedure.h, is now part of the installation. Also, added a shippable query module example. Directory `query_modules` is meant to contain sources of modules we write and ship as part of the installation. Currently, there's only an example module, but there may be potentially more. Some modules could only be installed as part of the enterprise release. For Memgraph to load custom procedures, it needs to be started with a flag pointing to a directory with compiled shared libraries implementing those procedures. Reviewers: mferencevic, ipaljak, llugovic, dsantl, buda Reviewed By: mferencevic Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D2538
20 lines
818 B
CMake
20 lines
818 B
CMake
# Memgraph Query Modules CMake configuration
|
|
# You should use the top level CMake configuration with -DQUERY_MODULES=ON
|
|
# These modules are meant to be shipped with Memgraph installation.
|
|
|
|
project(memgraph_query_modules VERSION ${memgraph_VERSION})
|
|
|
|
disallow_in_source_build()
|
|
|
|
# Everything that is installed here, should be under the "query_modules" component.
|
|
set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "query_modules")
|
|
|
|
add_library(example SHARED example.c)
|
|
target_include_directories(example PRIVATE ${CMAKE_SOURCE_DIR}/include)
|
|
target_compile_options(example PRIVATE -Wall)
|
|
install(PROGRAMS $<TARGET_FILE:example>
|
|
DESTINATION lib/memgraph/query_modules
|
|
RENAME example.so)
|
|
# Also install the source of the example, so user can read it.
|
|
install(FILES example.c DESTINATION lib/memgraph/query_modules)
|