CMake build: Add ability to disable building of individual plugins

Adds a cache entry "BUILD_PLUGIN_${NAME}", defaulting to ON which
can be set to OFF to disable building of a plugin.

Adds a extend_qtc_plugin function that should be used to add
properties to a plugin after add_qtc_plugin, instead of the
standard CMake functions target_... . The new function results
in a no-op if the plugin was disabled.

Change-Id: I57f6799620aea0aaa8b56acead4815ccced95911
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Eike Ziller
2019-05-21 12:22:35 +02:00
parent 9645687e53
commit 6fb9bf453f
23 changed files with 663 additions and 545 deletions

View File

@@ -45,19 +45,19 @@ add_qtc_plugin(Valgrind
xmlprotocol/threadedparser.cpp xmlprotocol/threadedparser.h
)
if (WIN32)
target_compile_definitions(Valgrind PRIVATE UNICODE _UNICODE)
endif()
extend_qtc_plugin(Valgrind
CONDITION WIN32
DEFINES UNICODE _UNICODE
)
if (WITH_TESTS)
target_sources(Valgrind PRIVATE
extend_qtc_plugin(Valgrind
CONDITION WITH_TESTS
SOURCES
valgrindmemcheckparsertest.cpp valgrindmemcheckparsertest.h
valgrindtestrunnertest.cpp valgrindtestrunnertest.h
)
target_compile_definitions(Valgrind PRIVATE
DEFINES
PARSERTESTS_DATA_DIR="${CMAKE_CURRENT_SOURCE_DIR}/unit_testdata"
VALGRIND_FAKE_PATH="${PROJECT_SOURCE_DIR}/src/tools/valgrindfake"
TESTRUNNER_SRC_DIR="${PROJECT_SOURCE_DIR}/tests/auto/valgrind/memcheck/testapps"
TESTRUNNER_APP_DIR="${PROJECT_BINARY_DIR}/tests/auto/valgrind/memcheck/testapps"
)
endif()
)