Distinguish between qt_plugin and regular plugins
If we do not encounter the load(qt_plugin) statement in the .pro file but we do see the entry CONFIG+=plugin, treat the target as a regular CMake library instead of treating it as a qt_plugin by default. Change-Id: I67ad5c865a1a5ab691a6b0d86c2db4b686aa04dd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
080f9ad160
commit
69fb4ae343
@ -2584,6 +2584,10 @@ function(add_cmake_library target)
|
|||||||
add_library("${target}" STATIC)
|
add_library("${target}" STATIC)
|
||||||
elseif(${arg_SHARED})
|
elseif(${arg_SHARED})
|
||||||
add_library("${target}" SHARED)
|
add_library("${target}" SHARED)
|
||||||
|
elseif(${arg_MODULE})
|
||||||
|
add_library("${target}" MODULE)
|
||||||
|
set_property(TARGET ${name} PROPERTY C_VISIBILITY_PRESET default)
|
||||||
|
set_property(TARGET ${name} PROPERTY CXX_VISIBILITY_PRESET default)
|
||||||
else()
|
else()
|
||||||
add_library("${target}")
|
add_library("${target}")
|
||||||
endif()
|
endif()
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
# Generated from plugin1.pro.
|
# Generated from plugin1.pro.
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
## plugin1 Plugin:
|
## plugin1 Generic Library:
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
add_qt_plugin(plugin1
|
add_cmake_library(plugin1
|
||||||
|
MODULE
|
||||||
INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qfactoryloader/bin"
|
INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qfactoryloader/bin"
|
||||||
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin"
|
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin"
|
||||||
SOURCES
|
SOURCES
|
||||||
@ -31,3 +32,5 @@ extend_target(plugin1 CONDITION NOT QT_FEATURE_library
|
|||||||
DEFINES
|
DEFINES
|
||||||
QT_STATICPLUGIN
|
QT_STATICPLUGIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
qt_autogen_tools_initial_setup(plugin1)
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
# Generated from plugin2.pro.
|
# Generated from plugin2.pro.
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
## plugin2 Plugin:
|
## plugin2 Generic Library:
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
add_qt_plugin(plugin2
|
add_cmake_library(plugin2
|
||||||
|
MODULE
|
||||||
INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qfactoryloader/bin"
|
INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qfactoryloader/bin"
|
||||||
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin"
|
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin"
|
||||||
SOURCES
|
SOURCES
|
||||||
@ -31,3 +32,5 @@ extend_target(plugin2 CONDITION NOT QT_FEATURE_library
|
|||||||
DEFINES
|
DEFINES
|
||||||
QT_STATICPLUGIN
|
QT_STATICPLUGIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
qt_autogen_tools_initial_setup(plugin2)
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
# Generated from test.pro.
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
## tst_qfactoryloader Test:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
add_qt_test(tst_qfactoryloader
|
||||||
|
SOURCES
|
||||||
|
../plugin1/plugininterface1.h
|
||||||
|
../plugin2/plugininterface2.h
|
||||||
|
../tst_qfactoryloader.cpp
|
||||||
|
LIBRARIES
|
||||||
|
Qt::CorePrivate
|
||||||
|
)
|
||||||
|
|
||||||
|
## Scopes:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
extend_target(tst_qfactoryloader CONDITION NOT QT_FEATURE_library
|
||||||
|
PUBLIC_LIBRARIES
|
||||||
|
# Remove: L
|
||||||
|
../bin/
|
||||||
|
plugin1
|
||||||
|
plugin2
|
||||||
|
)
|
||||||
|
|
||||||
|
if(ANDROID)
|
||||||
|
# Resources:
|
||||||
|
set(qmake_libs_resource_files
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/../bin
|
||||||
|
)
|
||||||
|
|
||||||
|
add_qt_resource(tst_qfactoryloader "qmake_libs"
|
||||||
|
PREFIX
|
||||||
|
"android_test_data"
|
||||||
|
BASE
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/.."
|
||||||
|
FILES
|
||||||
|
${qmake_libs_resource_files}
|
||||||
|
)
|
||||||
|
endif()
|
@ -30,8 +30,6 @@ extend_target(tst_qfactoryloader CONDITION NOT QT_FEATURE_library
|
|||||||
# this part is handled as a special case above
|
# this part is handled as a special case above
|
||||||
# ../bin/
|
# ../bin/
|
||||||
# special case end
|
# special case end
|
||||||
plugin1
|
|
||||||
plugin2
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if(ANDROID)
|
if(ANDROID)
|
||||||
@ -45,15 +43,19 @@ if(ANDROID)
|
|||||||
${CMAKE_CURRENT_BINARY_DIR}/../bin/libplugin2.so
|
${CMAKE_CURRENT_BINARY_DIR}/../bin/libplugin2.so
|
||||||
PROPERTIES QT_RESOURCE_TARGET_DEPENDENCY plugin2
|
PROPERTIES QT_RESOURCE_TARGET_DEPENDENCY plugin2
|
||||||
)
|
)
|
||||||
# special case end
|
|
||||||
# Resources:
|
# Resources:
|
||||||
set(qmake_libs_resource_files
|
if (ANDROID)
|
||||||
# special case begin
|
set(qmake_libs_resource_files
|
||||||
bin/libplugin1.so
|
bin/libplugin1_${CMAKE_ANDROID_ARCH_ABI}.so
|
||||||
bin/libplugin2.so
|
bin/libplugin2_${CMAKE_ANDROID_ARCH_ABI}.so
|
||||||
#${CMAKE_CURRENT_BINARY_DIR}/../bin
|
)
|
||||||
# special case end
|
else()
|
||||||
)
|
set(qmake_libs_resource_files
|
||||||
|
bin/libplugin1.so
|
||||||
|
bin/libplugin2.so
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
# special case end
|
||||||
|
|
||||||
add_qt_resource(tst_qfactoryloader "qmake_libs"
|
add_qt_resource(tst_qfactoryloader "qmake_libs"
|
||||||
PREFIX
|
PREFIX
|
||||||
|
34
tests/auto/corelib/plugin/qlibrary/lib/.prev_CMakeLists.txt
Normal file
34
tests/auto/corelib/plugin/qlibrary/lib/.prev_CMakeLists.txt
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Generated from lib.pro.
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
## mylib Generic Library:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
add_cmake_library(mylib
|
||||||
|
SHARED
|
||||||
|
INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qlibrary"
|
||||||
|
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../"
|
||||||
|
SOURCES
|
||||||
|
mylib.c
|
||||||
|
PUBLIC_LIBRARIES
|
||||||
|
Qt::Core
|
||||||
|
)
|
||||||
|
|
||||||
|
#### Keys ignored in scope 1:.:.:lib.pro:<TRUE>:
|
||||||
|
# INSTALLS = "target"
|
||||||
|
# TEMPLATE = "lib"
|
||||||
|
# target.path = "$$[QT_INSTALL_TESTS]/tst_qlibrary"
|
||||||
|
|
||||||
|
## Scopes:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
extend_target(mylib CONDITION MSVC
|
||||||
|
DEFINES
|
||||||
|
WIN32_MSVC
|
||||||
|
)
|
||||||
|
|
||||||
|
#### Keys ignored in scope 4:.:.:lib.pro:(CMAKE_BUILD_TYPE STREQUAL Debug):
|
||||||
|
# DESTDIR = "../debug/"
|
||||||
|
|
||||||
|
#### Keys ignored in scope 5:.:.:lib.pro:else:
|
||||||
|
# DESTDIR = "../release/"
|
@ -1,11 +1,11 @@
|
|||||||
# Generated from debugplugin.pro.
|
# Generated from debugplugin.pro.
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
## debugplugin Plugin:
|
## debugplugin Generic Library:
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
add_qt_plugin(debugplugin
|
add_cmake_library(debugplugin
|
||||||
SKIP_INSTALL
|
MODULE
|
||||||
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../plugins"
|
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../plugins"
|
||||||
SOURCES
|
SOURCES
|
||||||
main.cpp
|
main.cpp
|
||||||
@ -15,3 +15,5 @@ add_qt_plugin(debugplugin
|
|||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:debugplugin.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:debugplugin.pro:<TRUE>:
|
||||||
# TEMPLATE = "lib"
|
# TEMPLATE = "lib"
|
||||||
|
|
||||||
|
qt_autogen_tools_initial_setup(debugplugin)
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# Generated from invalidplugin.pro.
|
# Generated from invalidplugin.pro.
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
## invalidplugin Plugin:
|
## invalidplugin Generic Library:
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
add_qt_plugin(invalidplugin
|
add_cmake_library(invalidplugin
|
||||||
SKIP_INSTALL
|
MODULE
|
||||||
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../plugins"
|
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../plugins"
|
||||||
SOURCES
|
SOURCES
|
||||||
main.cpp
|
main.cpp
|
||||||
@ -15,3 +15,5 @@ add_qt_plugin(invalidplugin
|
|||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:invalidplugin.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:invalidplugin.pro:<TRUE>:
|
||||||
# TEMPLATE = "lib"
|
# TEMPLATE = "lib"
|
||||||
|
|
||||||
|
qt_autogen_tools_initial_setup(invalidplugin)
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# Generated from releaseplugin.pro.
|
# Generated from releaseplugin.pro.
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
## releaseplugin Plugin:
|
## releaseplugin Generic Library:
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
add_qt_plugin(releaseplugin
|
add_cmake_library(releaseplugin
|
||||||
SKIP_INSTALL
|
MODULE
|
||||||
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../plugins"
|
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../plugins"
|
||||||
SOURCES
|
SOURCES
|
||||||
main.cpp
|
main.cpp
|
||||||
@ -15,3 +15,5 @@ add_qt_plugin(releaseplugin
|
|||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:releaseplugin.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:releaseplugin.pro:<TRUE>:
|
||||||
# TEMPLATE = "lib"
|
# TEMPLATE = "lib"
|
||||||
|
|
||||||
|
qt_autogen_tools_initial_setup(releaseplugin)
|
||||||
|
@ -0,0 +1,30 @@
|
|||||||
|
# Generated from almostplugin.pro.
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
## almostplugin Generic Library:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
add_cmake_library(almostplugin
|
||||||
|
MODULE
|
||||||
|
INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qpluginloader/bin"
|
||||||
|
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin"
|
||||||
|
SOURCES
|
||||||
|
almostplugin.cpp almostplugin.h
|
||||||
|
PUBLIC_LIBRARIES
|
||||||
|
Qt::Core
|
||||||
|
)
|
||||||
|
|
||||||
|
#### Keys ignored in scope 1:.:.:almostplugin.pro:<TRUE>:
|
||||||
|
# INSTALLS = "target"
|
||||||
|
# TEMPLATE = "lib"
|
||||||
|
# target.path = "$$[QT_INSTALL_TESTS]/tst_qpluginloader/bin"
|
||||||
|
|
||||||
|
## Scopes:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
extend_target(almostplugin CONDITION GCC
|
||||||
|
LINK_OPTIONS
|
||||||
|
"--Wl,--no-undefined"
|
||||||
|
)
|
||||||
|
|
||||||
|
qt_autogen_tools_initial_setup(almostplugin)
|
@ -1,11 +1,11 @@
|
|||||||
# Generated from almostplugin.pro.
|
# Generated from almostplugin.pro.
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
## almostplugin Plugin:
|
## almostplugin Generic Library:
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
add_qt_plugin(almostplugin
|
add_cmake_library(almostplugin
|
||||||
ALLOW_UNDEFINED_SYMBOLS # special case
|
MODULE
|
||||||
INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qpluginloader/bin"
|
INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qpluginloader/bin"
|
||||||
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin"
|
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin"
|
||||||
SOURCES
|
SOURCES
|
||||||
@ -22,6 +22,7 @@ add_qt_plugin(almostplugin
|
|||||||
## Scopes:
|
## Scopes:
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
|
qt_autogen_tools_initial_setup(almostplugin)
|
||||||
# special case begin
|
# special case begin
|
||||||
# We want the opposite of this
|
# We want the opposite of this
|
||||||
#extend_target(almostplugin CONDITION GCC
|
#extend_target(almostplugin CONDITION GCC
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
# Generated from lib.pro.
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
## tst_qpluginloaderlib Generic Library:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
add_cmake_library(tst_qpluginloaderlib
|
||||||
|
SHARED
|
||||||
|
INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qpluginloader/bin"
|
||||||
|
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin"
|
||||||
|
SOURCES
|
||||||
|
mylib.c
|
||||||
|
PUBLIC_LIBRARIES
|
||||||
|
Qt::Core
|
||||||
|
)
|
||||||
|
|
||||||
|
#### Keys ignored in scope 1:.:.:lib.pro:<TRUE>:
|
||||||
|
# INSTALLS = "target"
|
||||||
|
# TEMPLATE = "lib"
|
||||||
|
# target.path = "$$[QT_INSTALL_TESTS]/tst_qpluginloader/bin"
|
||||||
|
|
||||||
|
## Scopes:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
#### Keys ignored in scope 6:.:..:../winrt.pri:(CMAKE_BUILD_TYPE STREQUAL Debug):
|
||||||
|
# DESTDIR = "../debug/bin"
|
||||||
|
|
||||||
|
#### Keys ignored in scope 7:.:..:../winrt.pri:else:
|
||||||
|
# DESTDIR = "../release/bin"
|
||||||
|
|
||||||
|
extend_target(tst_qpluginloaderlib CONDITION MSVC
|
||||||
|
DEFINES
|
||||||
|
WIN32_MSVC
|
||||||
|
)
|
@ -0,0 +1,23 @@
|
|||||||
|
# Generated from staticplugin.pro.
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
## staticplugin Generic Library:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
add_cmake_library(staticplugin
|
||||||
|
STATIC
|
||||||
|
SOURCES
|
||||||
|
main.cpp
|
||||||
|
PUBLIC_LIBRARIES
|
||||||
|
Qt::Core
|
||||||
|
MOC_OPTIONS
|
||||||
|
"-M"
|
||||||
|
"ExtraMetaData=StaticPlugin"
|
||||||
|
"-M"
|
||||||
|
"ExtraMetaData=foo"
|
||||||
|
)
|
||||||
|
|
||||||
|
#### Keys ignored in scope 1:.:.:staticplugin.pro:<TRUE>:
|
||||||
|
# TEMPLATE = "lib"
|
||||||
|
|
||||||
|
qt_autogen_tools_initial_setup(staticplugin)
|
@ -1,12 +1,10 @@
|
|||||||
# Generated from staticplugin.pro.
|
# Generated from staticplugin.pro.
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
## staticplugin Plugin:
|
## staticplugin Generic Library:
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
add_qt_plugin(staticplugin
|
add_cmake_library(staticplugin
|
||||||
OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} # special case
|
|
||||||
SKIP_INSTALL
|
|
||||||
STATIC
|
STATIC
|
||||||
SOURCES
|
SOURCES
|
||||||
main.cpp
|
main.cpp
|
||||||
@ -21,3 +19,7 @@ add_qt_plugin(staticplugin
|
|||||||
|
|
||||||
#### Keys ignored in scope 1:.:.:staticplugin.pro:<TRUE>:
|
#### Keys ignored in scope 1:.:.:staticplugin.pro:<TRUE>:
|
||||||
# TEMPLATE = "lib"
|
# TEMPLATE = "lib"
|
||||||
|
|
||||||
|
qt_autogen_tools_initial_setup(staticplugin)
|
||||||
|
|
||||||
|
target_compile_definitions(staticplugin PRIVATE QT_STATICPLUGIN)
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
# Generated from theplugin.pro.
|
# Generated from theplugin.pro.
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
## theplugin Plugin:
|
## theplugin Generic Library:
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
add_qt_plugin(theplugin
|
add_cmake_library(theplugin
|
||||||
|
MODULE
|
||||||
INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qpluginloader/bin"
|
INSTALL_DIRECTORY "${INSTALL_TESTSDIR}/tst_qpluginloader/bin"
|
||||||
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin"
|
OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../bin"
|
||||||
SOURCES
|
SOURCES
|
||||||
@ -26,3 +27,5 @@ add_qt_plugin(theplugin
|
|||||||
|
|
||||||
#### Keys ignored in scope 6:.:..:../winrt.pri:else:
|
#### Keys ignored in scope 6:.:..:../winrt.pri:else:
|
||||||
# DESTDIR = "../release/bin"
|
# DESTDIR = "../release/bin"
|
||||||
|
|
||||||
|
qt_autogen_tools_initial_setup(theplugin)
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
# Generated from tst.pro.
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
## tst_qpluginloader Test:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
# Collect test data
|
||||||
|
list(APPEND test_data "../elftest")
|
||||||
|
list(APPEND test_data "../machtest")
|
||||||
|
|
||||||
|
add_qt_test(tst_qpluginloader
|
||||||
|
SOURCES
|
||||||
|
../fakeplugin.cpp
|
||||||
|
../theplugin/plugininterface.h
|
||||||
|
../tst_qpluginloader.cpp
|
||||||
|
PUBLIC_LIBRARIES
|
||||||
|
staticplugin
|
||||||
|
TESTDATA ${test_data}
|
||||||
|
)
|
||||||
|
|
||||||
|
## Scopes:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
extend_target(tst_qpluginloader CONDITION QT_FEATURE_private_tests
|
||||||
|
LIBRARIES
|
||||||
|
Qt::CorePrivate
|
||||||
|
PUBLIC_LIBRARIES
|
||||||
|
Qt::Core
|
||||||
|
)
|
||||||
|
|
||||||
|
extend_target(tst_qpluginloader CONDITION CMAKE_BUILD_TYPE STREQUAL Debug AND WIN32 AND debug_and_release
|
||||||
|
PUBLIC_LIBRARIES
|
||||||
|
# Remove: L../staticplugin/debug
|
||||||
|
)
|
||||||
|
|
||||||
|
extend_target(tst_qpluginloader CONDITION WIN32 AND debug_and_release AND NOT CMAKE_BUILD_TYPE STREQUAL Debug
|
||||||
|
PUBLIC_LIBRARIES
|
||||||
|
# Remove: L../staticplugin/release
|
||||||
|
)
|
||||||
|
|
||||||
|
extend_target(tst_qpluginloader CONDITION UNIX OR NOT debug_and_release
|
||||||
|
PUBLIC_LIBRARIES
|
||||||
|
# Remove: L../staticplugin
|
||||||
|
)
|
@ -29,17 +29,17 @@ extend_target(tst_qpluginloader CONDITION QT_FEATURE_private_tests
|
|||||||
Qt::Core
|
Qt::Core
|
||||||
)
|
)
|
||||||
|
|
||||||
extend_target(tst_qpluginloader CONDITION CMAKE_BUILD_TYPE STREQUAL Debug AND WIN32
|
extend_target(tst_qpluginloader CONDITION CMAKE_BUILD_TYPE STREQUAL Debug AND WIN32 AND debug_and_release
|
||||||
PUBLIC_LIBRARIES
|
PUBLIC_LIBRARIES
|
||||||
# Remove: L../staticplugin/debug
|
# Remove: L../staticplugin/debug
|
||||||
)
|
)
|
||||||
|
|
||||||
extend_target(tst_qpluginloader CONDITION WIN32 AND NOT CMAKE_BUILD_TYPE STREQUAL Debug
|
extend_target(tst_qpluginloader CONDITION WIN32 AND debug_and_release AND NOT CMAKE_BUILD_TYPE STREQUAL Debug
|
||||||
PUBLIC_LIBRARIES
|
PUBLIC_LIBRARIES
|
||||||
# Remove: L../staticplugin/release
|
# Remove: L../staticplugin/release
|
||||||
)
|
)
|
||||||
|
|
||||||
extend_target(tst_qpluginloader CONDITION UNIX
|
extend_target(tst_qpluginloader CONDITION UNIX OR NOT debug_and_release
|
||||||
PUBLIC_LIBRARIES
|
PUBLIC_LIBRARIES
|
||||||
# Remove: L../staticplugin
|
# Remove: L../staticplugin
|
||||||
)
|
)
|
||||||
|
29
tests/auto/corelib/plugin/quuid/test/.prev_CMakeLists.txt
Normal file
29
tests/auto/corelib/plugin/quuid/test/.prev_CMakeLists.txt
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# Generated from test.pro.
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
## tst_quuid Test:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
add_qt_test(tst_quuid
|
||||||
|
SOURCES
|
||||||
|
../tst_quuid.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
## Scopes:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
extend_target(tst_quuid CONDITION APPLE
|
||||||
|
SOURCES
|
||||||
|
../tst_quuid_darwin.mm
|
||||||
|
PUBLIC_LIBRARIES
|
||||||
|
${FWFoundation}
|
||||||
|
)
|
||||||
|
|
||||||
|
#### Keys ignored in scope 4:.:.:test.pro:(CMAKE_BUILD_TYPE STREQUAL Debug):
|
||||||
|
# DESTDIR = "../debug"
|
||||||
|
|
||||||
|
#### Keys ignored in scope 5:.:.:test.pro:else:
|
||||||
|
# DESTDIR = "../release"
|
||||||
|
|
||||||
|
#### Keys ignored in scope 6:.:.:test.pro:else:
|
||||||
|
# DESTDIR = ".."
|
@ -2498,6 +2498,12 @@ def write_generic_library(cm_fh: IO[str], scope: Scope, *, indent: int = 0) -> s
|
|||||||
if "dll" in scope.get("CONFIG"):
|
if "dll" in scope.get("CONFIG"):
|
||||||
library_type = "SHARED"
|
library_type = "SHARED"
|
||||||
|
|
||||||
|
is_plugin = False
|
||||||
|
if "plugin" in scope.get("CONFIG"):
|
||||||
|
library_type = "MODULE"
|
||||||
|
is_plugin = True
|
||||||
|
|
||||||
|
# static after plugin in order to handle static library plugins
|
||||||
if "static" in scope.get("CONFIG"):
|
if "static" in scope.get("CONFIG"):
|
||||||
library_type = "STATIC"
|
library_type = "STATIC"
|
||||||
|
|
||||||
@ -2523,6 +2529,13 @@ def write_generic_library(cm_fh: IO[str], scope: Scope, *, indent: int = 0) -> s
|
|||||||
extra_keys=[],
|
extra_keys=[],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if is_plugin:
|
||||||
|
# Plugins need to be able to run auto moc
|
||||||
|
cm_fh.write(f"\nqt_autogen_tools_initial_setup({target_name})\n")
|
||||||
|
|
||||||
|
if library_type == "STATIC":
|
||||||
|
cm_fh.write(f"\ntarget_compile_definitions({target_name} PRIVATE QT_STATICPLUGIN)\n")
|
||||||
|
|
||||||
return target_name
|
return target_name
|
||||||
|
|
||||||
|
|
||||||
@ -3077,8 +3090,9 @@ def handle_app_or_lib(
|
|||||||
is_jar = "java" in config
|
is_jar = "java" in config
|
||||||
is_lib = scope.TEMPLATE == "lib"
|
is_lib = scope.TEMPLATE == "lib"
|
||||||
is_qml_plugin = any("qml_plugin" == s for s in scope.get("_LOADED"))
|
is_qml_plugin = any("qml_plugin" == s for s in scope.get("_LOADED"))
|
||||||
is_plugin = (
|
is_plugin = "plugin" in config
|
||||||
any("qt_plugin" == s for s in scope.get("_LOADED")) or is_qml_plugin or "plugin" in config
|
is_qt_plugin = (
|
||||||
|
any("qt_plugin" == s for s in scope.get("_LOADED")) or is_qml_plugin
|
||||||
)
|
)
|
||||||
target = ""
|
target = ""
|
||||||
gui = all(
|
gui = all(
|
||||||
@ -3089,10 +3103,10 @@ def handle_app_or_lib(
|
|||||||
tar = write_jar(cm_fh, scope, indent=indent)
|
tar = write_jar(cm_fh, scope, indent=indent)
|
||||||
elif is_example:
|
elif is_example:
|
||||||
target = write_example(cm_fh, scope, gui, indent=indent, is_plugin=is_plugin)
|
target = write_example(cm_fh, scope, gui, indent=indent, is_plugin=is_plugin)
|
||||||
elif is_plugin:
|
elif is_qt_plugin:
|
||||||
assert not is_example
|
assert not is_example
|
||||||
target = write_plugin(cm_fh, scope, indent=indent)
|
target = write_plugin(cm_fh, scope, indent=indent)
|
||||||
elif is_lib and "qt_module" not in scope.get("_LOADED"):
|
elif (is_lib and "qt_module" not in scope.get("_LOADED")) or is_plugin:
|
||||||
assert not is_example
|
assert not is_example
|
||||||
target = write_generic_library(cm_fh, scope, indent=indent)
|
target = write_generic_library(cm_fh, scope, indent=indent)
|
||||||
elif is_lib or "qt_module" in scope.get("_LOADED"):
|
elif is_lib or "qt_module" in scope.get("_LOADED"):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user