make tests depend on plugins

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2021-05-31 01:28:53 +03:00
parent 1646ff58bb
commit 6297158d21
17 changed files with 43 additions and 0 deletions

View file

@ -282,6 +282,17 @@ function(KATIE_SETUP_TARGET FORTARGET)
set(${FORTARGET}_SOURCES ${ARGN} PARENT_SCOPE)
endfunction()
# a function to make a meta target depend on all plugins, the meta target itself is used in the
# tests setup macros to build all plugins before any test so that plugins from the host are not
# used.
# TODO: this is cheap and sub-optimal way of forcing tests depend on all plugins, perhaps with
# plugin and test targets dependencies introspection it can be optimized, e.g. make tests that
# depend on KtNetwork depend on plugins that depend on it too
add_custom_target(plugins_dependant_tests)
function(KATIE_SETUP_PLUGIN FORPLUGIN)
add_dependencies(plugins_dependant_tests ${FORPLUGIN})
endfunction()
# a macro to ensure that object targets are build with PIC if the target they
# are going to be used in (like $<TARGET_OBJECTS:foo>) is build with PIC or
# PIC has been enabled for all module/library/executable targets. in addition
@ -324,6 +335,7 @@ macro(KATIE_TEST TESTNAME TESTSOURCES)
katie_setup_target(${TESTNAME} ${TESTSOURCES} ${ARGN})
add_executable(${TESTNAME} ${${TESTNAME}_SOURCES})
add_dependencies(${TESTNAME} plugins_dependant_tests)
target_link_libraries(${TESTNAME} KtCore KtTest)
target_compile_definitions(
@ -346,6 +358,7 @@ macro(KATIE_DBUS_TEST TESTNAME TESTSOURCES)
katie_setup_target(${TESTNAME} ${TESTSOURCES} ${ARGN})
add_executable(${TESTNAME} ${${TESTNAME}_SOURCES})
add_dependencies(${TESTNAME} plugins_dependant_tests)
target_link_libraries(${TESTNAME} KtCore KtDBus KtTest)
target_compile_definitions(
@ -368,6 +381,7 @@ macro(KATIE_GUI_TEST TESTNAME TESTSOURCES)
katie_setup_target(${TESTNAME} ${TESTSOURCES} ${ARGN})
add_executable(${TESTNAME} ${${TESTNAME}_SOURCES})
add_dependencies(${TESTNAME} plugins_dependant_tests)
target_link_libraries(${TESTNAME} KtCore KtGui KtTest)
target_compile_definitions(

View file

@ -23,6 +23,8 @@ add_library(qtaccessiblewidgetsplugin MODULE ${qtaccessiblewidgetsplugin_SOURCES
target_link_libraries(qtaccessiblewidgetsplugin KtCore KtGui)
set_target_properties(qtaccessiblewidgetsplugin PROPERTIES OUTPUT_NAME qtaccessiblewidgets)
katie_setup_plugin(qtaccessiblewidgetsplugin)
install(
TARGETS qtaccessiblewidgetsplugin
DESTINATION ${KATIE_PLUGINS_PATH}/accessible

View file

@ -24,6 +24,7 @@ target_include_directories(qconnmanbearerplugin PRIVATE
)
katie_setup_object(qconnmanbearerplugin sharedbearer)
katie_setup_plugin(qconnmanbearerplugin)
install(
TARGETS qconnmanbearerplugin

View file

@ -20,6 +20,7 @@ target_include_directories(qgenericbearerplugin PRIVATE
)
katie_setup_object(qgenericbearerplugin sharedbearer)
katie_setup_plugin(qgenericbearerplugin)
install(
TARGETS qgenericbearerplugin

View file

@ -24,6 +24,7 @@ target_include_directories(qnmbearerplugin PRIVATE
)
katie_setup_object(qnmbearerplugin sharedbearer)
katie_setup_plugin(qnmbearerplugin)
install(
TARGETS qnmbearerplugin

View file

@ -12,6 +12,8 @@ add_library(qdeclarativeviewplugin MODULE ${qdeclarativeviewplugin_SOURCES})
target_link_libraries(qdeclarativeviewplugin KtCore KtDeclarative KtDesigner)
set_target_properties(qdeclarativeviewplugin PROPERTIES OUTPUT_NAME qdeclarativeview)
katie_setup_plugin(qdeclarativeviewplugin)
install(
TARGETS qdeclarativeviewplugin
DESTINATION ${KATIE_PLUGINS_PATH}/designer

View file

@ -13,6 +13,8 @@ add_library(qsvgiconplugin MODULE ${qsvgiconplugin_SOURCES})
target_link_libraries(qsvgiconplugin KtCore KtGui KtSvg)
set_target_properties(qsvgiconplugin PROPERTIES OUTPUT_NAME qsvgicon)
katie_setup_plugin(qsvgiconplugin)
install(
TARGETS qsvgiconplugin
DESTINATION ${KATIE_PLUGINS_PATH}/iconengines

View file

@ -13,6 +13,8 @@ add_library(qgifplugin MODULE ${qgifplugin_SOURCES})
target_link_libraries(qgifplugin KtCore KtGui)
set_target_properties(qgifplugin PROPERTIES OUTPUT_NAME qgif)
katie_setup_plugin(qgifplugin)
install(
TARGETS qgifplugin
DESTINATION ${KATIE_PLUGINS_PATH}/imageformats

View file

@ -13,6 +13,8 @@ add_library(qicoplugin MODULE ${qicoplugin_SOURCES})
target_link_libraries(qicoplugin KtCore KtGui)
set_target_properties(qicoplugin PROPERTIES OUTPUT_NAME qico)
katie_setup_plugin(qicoplugin)
install(
TARGETS qicoplugin
DESTINATION ${KATIE_PLUGINS_PATH}/imageformats

View file

@ -15,6 +15,8 @@ add_library(qjpegplugin MODULE ${qjpegplugin_SOURCES})
target_link_libraries(qjpegplugin KtCore KtGui ${JPEG_LIBRARIES})
set_target_properties(qjpegplugin PROPERTIES OUTPUT_NAME qjpeg)
katie_setup_plugin(qjpegplugin)
install(
TARGETS qjpegplugin
DESTINATION ${KATIE_PLUGINS_PATH}/imageformats

View file

@ -13,6 +13,8 @@ add_library(qsvgplugin MODULE ${qsvgplugin_SOURCES})
target_link_libraries(qsvgplugin KtCore KtGui KtSvg)
set_target_properties(qsvgplugin PROPERTIES OUTPUT_NAME qsvg)
katie_setup_plugin(qsvgplugin)
install(
TARGETS qsvgplugin
DESTINATION ${KATIE_PLUGINS_PATH}/imageformats

View file

@ -15,6 +15,8 @@ add_library(qtgaplugin MODULE ${qtgaplugin_SOURCES})
target_link_libraries(qtgaplugin KtCore KtGui)
set_target_properties(qtgaplugin PROPERTIES OUTPUT_NAME qtga)
katie_setup_plugin(qtgaplugin)
install(
TARGETS qtgaplugin
DESTINATION ${KATIE_PLUGINS_PATH}/imageformats

View file

@ -15,6 +15,8 @@ add_library(qtiffplugin MODULE ${qtiffplugin_SOURCES})
target_link_libraries(qtiffplugin KtCore KtGui ${TIFF_LIBRARIES})
set_target_properties(qtiffplugin PROPERTIES OUTPUT_NAME qtiff)
katie_setup_plugin(qtiffplugin)
install(
TARGETS qtiffplugin
DESTINATION ${KATIE_PLUGINS_PATH}/imageformats

View file

@ -12,6 +12,8 @@ add_library(qtscriptdbusplugin MODULE ${qtscriptdbusplugin_SOURCES})
target_link_libraries(qtscriptdbusplugin KtCore KtDBus KtScript)
set_target_properties(qtscriptdbusplugin PROPERTIES OUTPUT_NAME qtscriptdbus)
katie_setup_plugin(qtscriptdbusplugin)
install(
TARGETS qtscriptdbusplugin
DESTINATION ${KATIE_PLUGINS_PATH}/script

View file

@ -15,6 +15,8 @@ add_library(qsqlmysqlplugin MODULE ${qsqlmysqlplugin_SOURCES})
target_link_libraries(qsqlmysqlplugin KtSql ${MYSQL_LIBRARIES})
set_target_properties(qsqlmysqlplugin PROPERTIES OUTPUT_NAME qsqlmysql)
katie_setup_plugin(qsqlmysqlplugin)
install(
TARGETS qsqlmysqlplugin
DESTINATION ${KATIE_PLUGINS_PATH}/sqldrivers

View file

@ -16,6 +16,8 @@ target_link_libraries(qsqlodbcplugin KtSql ${ODBC_LIBRARIES})
set_target_properties(qsqlodbcplugin PROPERTIES OUTPUT_NAME qsqlodbc)
target_compile_definitions(qsqlodbcplugin PRIVATE -DUNICODE)
katie_setup_plugin(qsqlodbcplugin)
install(
TARGETS qsqlodbcplugin
DESTINATION ${KATIE_PLUGINS_PATH}/sqldrivers

View file

@ -15,6 +15,8 @@ add_library(qsqlpsqlplugin MODULE ${qsqlpsqlplugin_SOURCES})
target_link_libraries(qsqlpsqlplugin KtSql ${POSTGRESQL_LIBRARIES})
set_target_properties(qsqlpsqlplugin PROPERTIES OUTPUT_NAME qsqlpsql)
katie_setup_plugin(qsqlpsqlplugin)
install(
TARGETS qsqlpsqlplugin
DESTINATION ${KATIE_PLUGINS_PATH}/sqldrivers