Add variable with all memgraph dependent libraries

Reviewers: teon.banek, buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D324
This commit is contained in:
Mislav Bradac 2017-04-27 16:44:57 +02:00
parent 35a35f0d5f
commit 78af8c8339
7 changed files with 15 additions and 96 deletions

View File

@ -368,6 +368,11 @@ set(memgraph_src_files
add_library(memgraph_lib STATIC ${memgraph_src_files})
add_dependencies(memgraph_lib generate_opencypher_parser
generate_plan_compiler_flags)
# executables that require memgraph_lib should link MEMGRAPH_ALL_LIBS to link all dependant libraries
set(MEMGRAPH_ALL_LIBS memgraph_lib stdc++fs Threads::Threads fmt yaml-cpp antlr_opencypher_parser_lib dl)
if (READLINE_FOUND)
list(APPEND MEMGRAPH_ALL_LIBS ${READLINE_LIBRARY})
endif()
# -----------------------------------------------------------------------------
# STATIC PIC library used by query engine
@ -420,16 +425,7 @@ if (MEMGRAPH)
add_executable(${MEMGRAPH_BUILD_NAME} ${src_dir}/memgraph_bolt.cpp)
set_property(TARGET ${MEMGRAPH_BUILD_NAME}
PROPERTY CXX_STANDARD ${cxx_standard})
target_link_libraries(${MEMGRAPH_BUILD_NAME} memgraph_lib)
target_link_libraries(${MEMGRAPH_BUILD_NAME} stdc++fs)
target_link_libraries(${MEMGRAPH_BUILD_NAME} Threads::Threads)
target_link_libraries(${MEMGRAPH_BUILD_NAME} fmt)
target_link_libraries(${MEMGRAPH_BUILD_NAME} yaml-cpp)
target_link_libraries(${MEMGRAPH_BUILD_NAME} antlr_opencypher_parser_lib)
target_link_libraries(${MEMGRAPH_BUILD_NAME} dl)
if (READLINE_FOUND)
target_link_libraries(${MEMGRAPH_BUILD_NAME} ${READLINE_LIBRARY})
endif()
target_link_libraries(${MEMGRAPH_BUILD_NAME} ${MEMGRAPH_ALL_LIBS})
endif()
# utility target to copy hardcoded queries
@ -437,11 +433,7 @@ endif()
add_executable(__copy_hardcoded_queries ${src_dir}/copy_hardcoded_queries.cpp)
set_property(TARGET __copy_hardcoded_queries PROPERTY CXX_STANDARD
${cxx_standard})
target_link_libraries(__copy_hardcoded_queries memgraph_lib)
target_link_libraries(__copy_hardcoded_queries stdc++fs)
target_link_libraries(__copy_hardcoded_queries fmt)
target_link_libraries(__copy_hardcoded_queries Threads::Threads)
target_link_libraries(__copy_hardcoded_queries antlr_opencypher_parser_lib)
target_link_libraries(__copy_hardcoded_queries ${MEMGRAPH_ALL_LIBS})
add_custom_target(copy_hardcoded_queries ./__copy_hardcoded_queries --src
${CMAKE_SOURCE_DIR}/tests/integration/hardcoded_query --dst
${CMAKE_BINARY_DIR}/compiled/hardcode
@ -469,9 +461,7 @@ if(HARDCODED_TARGETS)
set(target_name __${file_name}_hardcoded_target)
add_executable(${target_name} ${CMAKE_SOURCE_DIR}/libs/__main.cpp
${file_path})
target_link_libraries(${target_name} memgraph_lib)
target_link_libraries(${target_name} fmt)
target_link_libraries(${target_name} Threads::Threads)
target_link_libraries(${target_name} ${MEMGRAPH_ALL_LIBS})
set_property(TARGET ${target_name} PROPERTY CXX_STANDARD ${cxx_standard})
set_target_properties(${target_name}
PROPERTIES RUNTIME_OUTPUT_DIRECTORY

View File

@ -25,13 +25,6 @@ foreach(poc_cpp ${poc_cpps})
set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${exec_name})
# link libraries
# threads (cross-platform)
target_link_libraries(${target_name} Threads::Threads)
# memgraph lib
target_link_libraries(${target_name} memgraph_lib)
# fmt format lib
target_link_libraries(${target_name} fmt)
# yaml parser lib
target_link_libraries(${target_name} yaml-cpp)
target_link_libraries(${target_name} ${MEMGRAPH_ALL_LIBS})
endforeach()

View File

@ -26,23 +26,14 @@ foreach(test_cpp ${test_type_cpps})
set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${exec_name})
# link libraries
# threads (cross-platform)
target_link_libraries(${target_name} Threads::Threads)
target_link_libraries(${target_name} ${MEMGRAPH_ALL_LIBS})
# google-benchmark
target_link_libraries(${target_name} benchmark ${CMAKE_THREAD_LIBS_INIT})
# memgraph lib
target_link_libraries(${target_name} memgraph_lib)
# fmt format lib
target_link_libraries(${target_name} fmt)
# yaml parser lib
target_link_libraries(${target_name} yaml-cpp)
# antlr
target_link_libraries(${target_name} antlr_opencypher_parser_lib)
# register test
set(output_path
${CMAKE_BINARY_DIR}/test_results/benchmark/${target_name}.json)
add_test(${target_name} ${exec_name}
add_test(${target_name} ${exec_name}
--benchmark_out_format=json --benchmark_out=${output_path})
endforeach()

View File

@ -26,16 +26,9 @@ foreach(test_cpp ${test_type_cpps})
set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${exec_name})
# link libraries
target_link_libraries(${target_name} ${MEMGRAPH_ALL_LIBS})
# gtest
target_link_libraries(${target_name} gtest gtest_main)
# threads (cross-platform)
target_link_libraries(${target_name} Threads::Threads)
# memgraph lib
target_link_libraries(${target_name} memgraph_lib)
# fmt format lib
target_link_libraries(${target_name} fmt)
# yaml parser lib
target_link_libraries(${target_name} yaml-cpp)
# register test
add_test(${target_name} ${exec_name})

View File

@ -1,5 +1,3 @@
find_package(Threads REQUIRED)
# set current directory name as a test type
get_filename_component(test_type ${CMAKE_CURRENT_SOURCE_DIR} NAME)
@ -26,19 +24,7 @@ foreach(test_cpp ${test_type_cpps})
set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${exec_name})
# link libraries
target_link_libraries(${target_name} dl)
# filesystem
target_link_libraries(${target_name} stdc++fs)
# threads (cross-platform)
target_link_libraries(${target_name} Threads::Threads)
# memgraph lib
target_link_libraries(${target_name} memgraph_lib)
# fmt format lib
target_link_libraries(${target_name} fmt)
# yaml parser lib
target_link_libraries(${target_name} yaml-cpp)
# antlr
target_link_libraries(${target_name} antlr_opencypher_parser_lib)
target_link_libraries(${target_name} ${MEMGRAPH_ALL_LIBS})
# register test
add_test(${target_name} ${exec_name})

View File

@ -1,5 +1,3 @@
find_package(Threads REQUIRED)
# optional readline
find_package(Readline)
if (READLINE_FOUND)
@ -33,23 +31,6 @@ foreach(test_cpp ${test_type_cpps})
set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${exec_name})
# link libraries
# filesystem
target_link_libraries(${target_name} stdc++fs)
# threads (cross-platform)
target_link_libraries(${target_name} Threads::Threads)
# memgraph lib
target_link_libraries(${target_name} memgraph_lib)
# fmt format lib
target_link_libraries(${target_name} fmt)
# yaml parser lib
target_link_libraries(${target_name} yaml-cpp)
# antlr
target_link_libraries(${target_name} antlr_opencypher_parser_lib)
# dynamic lib
target_link_libraries(${target_name} dl)
# readline lib
if (READLINE_FOUND)
target_link_libraries(${target_name} ${READLINE_LIBRARY})
endif()
target_link_libraries(${target_name} ${MEMGRAPH_ALL_LIBS})
endforeach()

View File

@ -1,5 +1,3 @@
find_package(Threads REQUIRED)
# set current directory name as a test type
get_filename_component(test_type ${CMAKE_CURRENT_SOURCE_DIR} NAME)
@ -30,22 +28,9 @@ foreach(test_cpp ${test_type_cpps})
set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${exec_name})
# link libraries
target_link_libraries(${target_name} ${MEMGRAPH_ALL_LIBS})
# gtest
target_link_libraries(${target_name} gtest gtest_main gmock)
# filesystem
target_link_libraries(${target_name} stdc++fs)
# threads (cross-platform)
target_link_libraries(${target_name} Threads::Threads)
# memgraph lib
target_link_libraries(${target_name} memgraph_lib)
# fmt format lib
target_link_libraries(${target_name} fmt)
# yaml parser lib
target_link_libraries(${target_name} yaml-cpp)
# antlr
target_link_libraries(${target_name} antlr_opencypher_parser_lib)
# dynamic lib
target_link_libraries(${target_name} dl)
if(${TEST_COVERAGE})
# for code coverage
target_link_libraries(${target_name} gcov)