From 78af8c8339ec10784994fc0808b54a17e81d4af3 Mon Sep 17 00:00:00 2001 From: Mislav Bradac <mislav.bradac@memgraph.io> Date: Thu, 27 Apr 2017 16:44:57 +0200 Subject: [PATCH] Add variable with all memgraph dependent libraries Reviewers: teon.banek, buda Reviewed By: buda Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D324 --- CMakeLists.txt | 26 ++++++++------------------ poc/CMakeLists.txt | 9 +-------- tests/benchmark/CMakeLists.txt | 13 ++----------- tests/concurrent/CMakeLists.txt | 9 +-------- tests/integration/CMakeLists.txt | 16 +--------------- tests/manual/CMakeLists.txt | 21 +-------------------- tests/unit/CMakeLists.txt | 17 +---------------- 7 files changed, 15 insertions(+), 96 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 752ebd31f..92eb6cc0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 diff --git a/poc/CMakeLists.txt b/poc/CMakeLists.txt index 9120d706e..075e5a370 100644 --- a/poc/CMakeLists.txt +++ b/poc/CMakeLists.txt @@ -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() diff --git a/tests/benchmark/CMakeLists.txt b/tests/benchmark/CMakeLists.txt index 173b2878b..4b079ecd9 100644 --- a/tests/benchmark/CMakeLists.txt +++ b/tests/benchmark/CMakeLists.txt @@ -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() diff --git a/tests/concurrent/CMakeLists.txt b/tests/concurrent/CMakeLists.txt index 22a9c315d..2118a9761 100644 --- a/tests/concurrent/CMakeLists.txt +++ b/tests/concurrent/CMakeLists.txt @@ -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}) diff --git a/tests/integration/CMakeLists.txt b/tests/integration/CMakeLists.txt index 7a179955f..2667c080c 100644 --- a/tests/integration/CMakeLists.txt +++ b/tests/integration/CMakeLists.txt @@ -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}) diff --git a/tests/manual/CMakeLists.txt b/tests/manual/CMakeLists.txt index b1417422f..9e10b9ad9 100644 --- a/tests/manual/CMakeLists.txt +++ b/tests/manual/CMakeLists.txt @@ -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() diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt index 52a0dd953..65eced1d3 100644 --- a/tests/unit/CMakeLists.txt +++ b/tests/unit/CMakeLists.txt @@ -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)