From 25effc102cb74be6cf9eb82e9174b58a236bd747 Mon Sep 17 00:00:00 2001 From: mlangkabel Date: Mon, 28 Oct 2019 15:21:43 +0100 Subject: [PATCH] add missing project dependency for python example --- CMakeLists.txt | 3 ++- bindings_python/CMakeLists.txt | 15 +++++++++------ core/CMakeLists.txt | 14 +++++++------- examples/cpp_api_example/CMakeLists.txt | 2 +- examples/cpp_poetry_indexer/CMakeLists.txt | 2 +- examples/python_api_example/CMakeLists.txt | 2 ++ 6 files changed, 22 insertions(+), 16 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 22c312e..fe14ecf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,7 +37,7 @@ message(STATUS "Patch Version: ${PATCH_VERSION}") # --- Core --- -set(LIB_CORE "lib_core") +set(LIB_CORE_TARGET_NAME "lib_core") set(CORE_SOURCE_DIR "${CMAKE_SOURCE_DIR}/core") # can be accessed in subdirectory CMake files set(CORE_BINARY_DIR "${CMAKE_BINARY_DIR}/core") # can be accessed in subdirectory CMake files @@ -49,6 +49,7 @@ add_subdirectory(${CORE_SOURCE_DIR} ${CORE_BINARY_DIR}) if (BUILD_BINDINGS_PYTHON) message(STATUS "The SourcetrailDB Python bindings will be built.") + set(PYTHON_BINDING_TARGET_NAME "bindings_python") set(PYTHON_BINDING_OUTPUT_DIR "") add_subdirectory("${CMAKE_SOURCE_DIR}/bindings_python" "${CMAKE_BINARY_DIR}/bindings_python") else() diff --git a/bindings_python/CMakeLists.txt b/bindings_python/CMakeLists.txt index 0eee77c..d6fc772 100644 --- a/bindings_python/CMakeLists.txt +++ b/bindings_python/CMakeLists.txt @@ -1,14 +1,12 @@ cmake_minimum_required (VERSION 2.6) -set(PACKAGE_NAME "sourcetraildb") - # --- Setup Paths --- set(RESOURCES_SWIG_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../resources_swig") set(GENERATED_SRC_DIR "${CMAKE_CURRENT_BINARY_DIR}/src") set(PYTHON_BINDING_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE) -set(SWIG_INTERFACE_FILE "${RESOURCES_SWIG_DIR}/interface/${PACKAGE_NAME}.i") +set(SWIG_INTERFACE_FILE "${RESOURCES_SWIG_DIR}/interface/sourcetraildb.i") # --- Find Python --- @@ -32,13 +30,18 @@ include_directories( ${PYTHON_INCLUDE_DIRS} ) +set (UseSWIG_TARGET_NAME_PREFERENCE STANDARD) + swig_add_library( - ${PACKAGE_NAME} + ${PYTHON_BINDING_TARGET_NAME} TYPE SHARED LANGUAGE python OUTPUT_DIR ${PYTHON_BINDING_OUTPUT_DIR} OUTFILE_DIR ${GENERATED_SRC_DIR} - SOURCES ${SWIG_INTERFACE_FILE} ${RESOURCES_SWIG_DIR}/src/${PACKAGE_NAME}.cpp + SOURCES ${SWIG_INTERFACE_FILE} ${RESOURCES_SWIG_DIR}/src/sourcetraildb.cpp ) -swig_link_libraries(${PACKAGE_NAME} ${PYTHON_LIBRARIES} ${LIB_CORE}) +set_target_properties(${PYTHON_BINDING_TARGET_NAME} + PROPERTIES OUTPUT_NAME sourcetraildb) + +TARGET_LINK_LIBRARIES(${PYTHON_BINDING_TARGET_NAME} ${PYTHON_LIBRARIES} ${LIB_CORE_TARGET_NAME}) diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 7a95ed5..e9db599 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required (VERSION 2.6) -set(TEST_CORE "test_core") +set(TEST_CORE_TARGET_NAME "test_core") set(GENERATED_INCLUDE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/include") set(GENERATED_VERSION_FILE "${GENERATED_INCLUDE_DIRECTORY}/version.h") @@ -55,11 +55,11 @@ set(LIB_HDR_FILES ${GENERATED_VERSION_FILE} ) -add_library(${LIB_CORE} STATIC ${LIB_SRC_FILES} ${LIB_HDR_FILES}) +add_library(${LIB_CORE_TARGET_NAME} STATIC ${LIB_SRC_FILES} ${LIB_HDR_FILES}) -set_target_properties(${LIB_CORE} PROPERTIES OUTPUT_NAME "sourcetraildb") +set_target_properties(${LIB_CORE_TARGET_NAME} PROPERTIES OUTPUT_NAME "sourcetraildb") -target_include_directories(${LIB_CORE} PUBLIC +target_include_directories(${LIB_CORE_TARGET_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include" "${CMAKE_SOURCE_DIR}/external/json/include" "${CMAKE_SOURCE_DIR}/external/cpp_sqlite/include" @@ -71,9 +71,9 @@ set(TEST_SRC_FILES test/test.cpp ) -add_executable(${TEST_CORE} ${TEST_SRC_FILES}) +add_executable(${TEST_CORE_TARGET_NAME} ${TEST_SRC_FILES}) -target_include_directories(${TEST_CORE} PUBLIC +target_include_directories(${TEST_CORE_TARGET_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include" "${CMAKE_SOURCE_DIR}/external/catch/include" "${CMAKE_SOURCE_DIR}/external/json/include" @@ -81,4 +81,4 @@ target_include_directories(${TEST_CORE} PUBLIC "${GENERATED_INCLUDE_DIRECTORY}" ) -target_link_libraries(${TEST_CORE} ${LIB_CORE} "-ldl") +target_link_libraries(${TEST_CORE_TARGET_NAME} ${LIB_CORE_TARGET_NAME} "-ldl") diff --git a/examples/cpp_api_example/CMakeLists.txt b/examples/cpp_api_example/CMakeLists.txt index 7591b87..ab021c4 100644 --- a/examples/cpp_api_example/CMakeLists.txt +++ b/examples/cpp_api_example/CMakeLists.txt @@ -17,7 +17,7 @@ target_include_directories(${EXAMPLE_NAME} PUBLIC "${CORE_SOURCE_DIR}/include" ) -target_link_libraries(${EXAMPLE_NAME} ${LIB_CORE} "-ldl") +target_link_libraries(${EXAMPLE_NAME} ${LIB_CORE_TARGET_NAME} "-ldl") # --- Configure Sourcetrail Project File --- diff --git a/examples/cpp_poetry_indexer/CMakeLists.txt b/examples/cpp_poetry_indexer/CMakeLists.txt index 76ce879..7af9d8e 100644 --- a/examples/cpp_poetry_indexer/CMakeLists.txt +++ b/examples/cpp_poetry_indexer/CMakeLists.txt @@ -17,7 +17,7 @@ target_include_directories(${EXAMPLE_NAME} PUBLIC "${CORE_SOURCE_DIR}/include" ) -target_link_libraries(${EXAMPLE_NAME} ${LIB_CORE} "-ldl") +target_link_libraries(${EXAMPLE_NAME} ${LIB_CORE_TARGET_NAME} "-ldl") # --- Configure Sourcetrail Project File --- diff --git a/examples/python_api_example/CMakeLists.txt b/examples/python_api_example/CMakeLists.txt index 4493176..f4949ec 100644 --- a/examples/python_api_example/CMakeLists.txt +++ b/examples/python_api_example/CMakeLists.txt @@ -9,6 +9,8 @@ add_custom_target( COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/src/example.py ${CMAKE_CURRENT_BINARY_DIR}/example.py ) +add_dependencies(${EXAMPLE_NAME} ${PYTHON_BINDING_TARGET_NAME}) + if (MSVC) STRING(REGEX REPLACE "/" "\\\\" BACKSLASHED_PYTHON_BINDING_OUTPUT_DIR ${PYTHON_BINDING_OUTPUT_DIR}) STRING(REGEX REPLACE "/" "\\\\" BACKSLASHED_CMAKE_CURRENT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})