Tests: Fix ExportImport on AIX with GCC
The iface_test_bld gets the excludedFromAll include directory with "-isystem" because it is added indirectly through an imported target. On AIX with GCC the -isystem flag causes sources to be preprocessed as: # 3 "/.../excludedFromAll.h" 2 3 4 The flags after the file name are documented here: https://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html and the "4" flag says that following content is extern "C". This causes the excludedFromAll function to be declared as a C symbol and not mangled for C++, which fails to link later because the symbol is really provided as C++. Work around this by setting the NO_SYSTEM_FROM_IMPORTED target property on iface_test_bld. Somehow iface_test_exp does not end up with -isystem so we do not need this workaround for that target.
This commit is contained in:
parent
ebb54e02c4
commit
4fc4742477
|
@ -255,6 +255,7 @@ add_subdirectory(excludedFromAll)
|
|||
|
||||
add_executable(iface_test_bld iface_test.cpp)
|
||||
target_link_libraries(iface_test_bld bld_testSharedLibDepends)
|
||||
set_property(TARGET iface_test_bld PROPERTY NO_SYSTEM_FROM_IMPORTED 1)
|
||||
|
||||
set_property(TARGET bld_testSharedLibRequired APPEND PROPERTY
|
||||
LINK_INTERFACE_LIBRARIES
|
||||
|
|
Loading…
Reference in New Issue