Added explicit threads link dependency

This commit is contained in:
Bartek Kryza
2022-06-12 23:03:52 +02:00
parent 58b7b8a32f
commit 0ae98ae2ac
3 changed files with 36 additions and 112 deletions

View File

@@ -79,7 +79,7 @@ list(REMOVE_ITEM SOURCES ${MAIN_SOURCE_FILE})
add_library(clang-umllib OBJECT ${SOURCES}) add_library(clang-umllib OBJECT ${SOURCES})
add_executable(clang-uml ${MAIN_SOURCE_FILE}) add_executable(clang-uml ${MAIN_SOURCE_FILE})
target_link_libraries(clang-uml ${LIBCLANG_LIBRARIES} ${YAML_CPP_LIBRARIES} cppast clang-umllib ${CMAKE_THREAD_LIBS_INIT}) target_link_libraries(clang-uml ${LIBCLANG_LIBRARIES} ${YAML_CPP_LIBRARIES} cppast clang-umllib Threads::Threads)
target_compile_features(clang-uml PRIVATE cxx_std_17) target_compile_features(clang-uml PRIVATE cxx_std_17)

View File

@@ -4,7 +4,7 @@ export DH_VERBOSE=1
export CLANGUML_GIT_TOPLEVEL_DIR=$(CURDIR) export CLANGUML_GIT_TOPLEVEL_DIR=$(CURDIR)
override_dh_auto_configure: override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_REQUIRED_LIBRARIES="pthread" dh_auto_configure --buildsystem=cmake -- -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=/usr
%: %:

View File

@@ -10,130 +10,54 @@ file(GLOB_RECURSE TEST_CASE_SOURCES t*/*.cc)
file(GLOB_RECURSE TEST_CASE_CONFIGS t*/.clang-uml) file(GLOB_RECURSE TEST_CASE_CONFIGS t*/.clang-uml)
file(GLOB_RECURSE TEST_CONFIG_YMLS test_config_data/*.yml) file(GLOB_RECURSE TEST_CONFIG_YMLS test_config_data/*.yml)
set(CLANG_UML_TEST_UTIL_SRC set(CLANG_UML_TEST_LIBRARIES
test_util.cc ${LIBCLANG_LIBRARIES}
${TEST_UTIL_SOURCES} ${YAML_CPP_LIBRARIES}
) clang-umllib
set(CLANG_UML_TEST_UTIL_HEADER cppast
catch.h Threads::Threads)
)
set(CLANG_UML_TEST_MODEL_SRC set(CLANG_UML_TEST_UTIL_SRC test_util.cc ${TEST_UTIL_SOURCES})
test_model.cc set(CLANG_UML_TEST_UTIL_HEADER catch.h)
${TEST_MODEL_SOURCES}
)
set(CLANG_UML_TEST_MODEL_HEADER
catch.h
)
set(CLANG_UML_TEST_CASES_SRC set(CLANG_UML_TEST_MODEL_SRC test_model.cc ${TEST_MODEL_SOURCES})
test_cases.cc set(CLANG_UML_TEST_MODEL_HEADER catch.h)
${TEST_CASE_SOURCES}
)
set(CLANG_UML_TEST_CASES_HEADER
catch.h
)
set(CLANG_UML_TEST_DECORATOR_PARSER_SRC set(CLANG_UML_TEST_CASES_SRC test_cases.cc ${TEST_CASE_SOURCES})
test_decorator_parser.cc set(CLANG_UML_TEST_CASES_HEADER catch.h)
${TEST_UTIL_SOURCES}
)
set(CLANG_UML_TEST_DECORATOR_PARSER_HEADER
catch.h
)
set(CLANG_UML_TEST_CONFIG_SRC set(CLANG_UML_TEST_DECORATOR_PARSER_SRC test_decorator_parser.cc ${TEST_UTIL_SOURCES})
test_config.cc set(CLANG_UML_TEST_DECORATOR_PARSER_HEADER catch.h)
${TEST_UTIL_SOURCES}
)
set(CLANG_UML_TEST_CONFIG_HEADER
catch.h
)
set(CLANG_UML_TEST_FILTERS_SRC set(CLANG_UML_TEST_CONFIG_SRC test_config.cc ${TEST_UTIL_SOURCES})
test_filters.cc set(CLANG_UML_TEST_CONFIG_HEADER catch.h)
${TEST_FILTERS_SOURCES}
)
set(CLANG_UML_TEST_FILTERS_HEADER
catch.h
)
set(CLANG_UML_TEST_THREAD_POOL_EXECUTOR_SRC set(CLANG_UML_TEST_FILTERS_SRC test_filters.cc ${TEST_FILTERS_SOURCES})
test_thread_pool_executor.cc set(CLANG_UML_TEST_FILTERS_HEADER catch.h)
)
set(CLANG_UML_TEST_THREAD_POOL_EXECUTOR_HEADER
catch.h
)
add_executable(test_util set(CLANG_UML_TEST_THREAD_POOL_EXECUTOR_SRC test_thread_pool_executor.cc)
${CLANG_UML_TEST_UTIL_SRC} set(CLANG_UML_TEST_THREAD_POOL_EXECUTOR_HEADER catch.h)
${CLANG_UML_TEST_UTIL_HEADER})
target_link_libraries(test_util add_executable(test_util ${CLANG_UML_TEST_UTIL_SRC} ${CLANG_UML_TEST_UTIL_HEADER})
PRIVATE target_link_libraries(test_util PRIVATE ${CLANG_UML_TEST_LIBRARIES})
${LIBCLANG_LIBRARIES}
${YAML_CPP_LIBRARIES}
clang-umllib cppast ${CMAKE_THREAD_LIBS_INIT})
add_executable(test_model add_executable(test_model ${CLANG_UML_TEST_MODEL_SRC} ${CLANG_UML_TEST_MODEL_HEADER})
${CLANG_UML_TEST_MODEL_SRC} target_link_libraries(test_model PRIVATE ${CLANG_UML_TEST_LIBRARIES})
${CLANG_UML_TEST_MODEL_HEADER})
target_link_libraries(test_model add_executable(test_decorator_parser ${CLANG_UML_TEST_DECORATOR_PARSER_SRC} ${CLANG_UML_TEST_DECORATOR_PARSER_HEADER})
PRIVATE target_link_libraries(test_decorator_parser PRIVATE ${CLANG_UML_TEST_LIBRARIES})
${LIBCLANG_LIBRARIES}
${YAML_CPP_LIBRARIES}
clang-umllib cppast ${CMAKE_THREAD_LIBS_INIT})
add_executable(test_decorator_parser add_executable(test_config ${CLANG_UML_TEST_CONFIG_SRC} ${CLANG_UML_TEST_CONFIG_HEADER})
${CLANG_UML_TEST_DECORATOR_PARSER_SRC} target_link_libraries(test_config PRIVATE ${CLANG_UML_TEST_LIBRARIES})
${CLANG_UML_TEST_DECORATOR_PARSER_HEADER})
target_link_libraries(test_decorator_parser add_executable(test_filters ${CLANG_UML_TEST_FILTERS_SRC} ${CLANG_UML_TEST_FILTERS_HEADER})
PRIVATE target_link_libraries(test_filters PRIVATE ${CLANG_UML_TEST_LIBRARIES})
${LIBCLANG_LIBRARIES}
${YAML_CPP_LIBRARIES}
clang-umllib cppast ${CMAKE_THREAD_LIBS_INIT})
add_executable(test_config add_executable(test_thread_pool_executor ${CLANG_UML_TEST_THREAD_POOL_EXECUTOR_SRC} ${CLANG_UML_TEST_THREAD_POOL_EXECUTOR_HEADER})
${CLANG_UML_TEST_CONFIG_SRC} target_link_libraries(test_thread_pool_executor PRIVATE ${CLANG_UML_TEST_LIBRARIES})
${CLANG_UML_TEST_CONFIG_HEADER})
target_link_libraries(test_config add_executable(test_cases ${CLANG_UML_TEST_CASES_SRC} ${CLANG_UML_TEST_CASES_HEADER})
PRIVATE target_link_libraries(test_cases PRIVATE ${CLANG_UML_TEST_LIBRARIES})
${LIBCLANG_LIBRARIES}
${YAML_CPP_LIBRARIES}
clang-umllib cppast ${CMAKE_THREAD_LIBS_INIT})
add_executable(test_filters
${CLANG_UML_TEST_FILTERS_SRC}
${CLANG_UML_TEST_FILTERS_HEADER})
target_link_libraries(test_filters
PRIVATE
${LIBCLANG_LIBRARIES}
${YAML_CPP_LIBRARIES}
clang-umllib cppast ${CMAKE_THREAD_LIBS_INIT})
add_executable(test_thread_pool_executor
${CLANG_UML_TEST_THREAD_POOL_EXECUTOR_SRC}
${CLANG_UML_TEST_THREAD_POOL_EXECUTOR_HEADER})
target_link_libraries(test_thread_pool_executor
PRIVATE
${LIBCLANG_LIBRARIES}
${YAML_CPP_LIBRARIES}
clang-umllib cppast ${CMAKE_THREAD_LIBS_INIT})
add_executable(test_cases
${CLANG_UML_TEST_CASES_SRC}
${CLANG_UML_TEST_CASES_HEADER})
target_link_libraries(test_cases
PRIVATE
${LIBCLANG_LIBRARIES}
${YAML_CPP_LIBRARIES}
clang-umllib cppast ${CMAKE_THREAD_LIBS_INIT})
foreach(TEST_CASE_CONFIG ${TEST_CASE_CONFIGS}) foreach(TEST_CASE_CONFIG ${TEST_CASE_CONFIGS})
file(RELATIVE_PATH file(RELATIVE_PATH