Merge topic 'aix-archive-shared-libraries-export'

cd6fb63093 AIX: Propagate AIX_SHARED_LIBRARY_ARCHIVE through exports

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10027
This commit is contained in:
Brad King
2024-11-23 20:12:26 +00:00
committed by Kitware Robot
10 changed files with 41 additions and 18 deletions
+6 -4
View File
@@ -5,6 +5,8 @@ if(POLICY CMP0129)
endif()
project(Export C CXX)
set(CMAKE_AIX_SHARED_LIBRARY_ARCHIVE 1)
find_package(Foo REQUIRED CONFIG NO_DEFAULT_PATH)
# Pretend that RelWithDebInfo should link to debug libraries to test
@@ -482,8 +484,8 @@ add_library(testMod1 MODULE empty.cpp)
add_library(testMod2 MODULE empty.cpp)
set_property(TARGET testMod2 PROPERTY BUNDLE 1)
add_library(testSharedLibArchiveAIX SHARED testSharedLibArchiveAIX.c)
set_property(TARGET testSharedLibArchiveAIX PROPERTY AIX_SHARED_LIBRARY_ARCHIVE 1)
add_library(testSharedObjectAIX SHARED testSharedObjectAIX.c)
set_property(TARGET testSharedObjectAIX PROPERTY AIX_SHARED_LIBRARY_ARCHIVE 0)
install(TARGETS testLibRequired
EXPORT RequiredExp DESTINATION lib
@@ -625,7 +627,7 @@ install(
systemlib
testInterfaceIncludeUser
testInterfaceIncludeUser2
testSharedLibArchiveAIX
testSharedObjectAIX
EXPORT exp
RUNTIME DESTINATION $<1:bin>$<0:/wrong>
LIBRARY DESTINATION $<1:lib>$<0:/wrong> NAMELINK_SKIP
@@ -703,7 +705,7 @@ export(TARGETS testExe2 testLib4 testLib5 testLib6 testLib7 testExe3 testExe4 te
testExeWithPluginHelper testExePluginHelperObj
testMod1 testMod2
testLibPerConfigDest
testSharedLibArchiveAIX
testSharedObjectAIX
NAMESPACE bld_
APPEND FILE ExportBuildTree.cmake
)
@@ -4,7 +4,7 @@
# define EXPORT
#endif
EXPORT int testSharedLibArchiveAIX(void)
EXPORT int testSharedObjectAIX(void)
{
return 0;
}
+2 -2
View File
@@ -68,7 +68,7 @@ target_link_libraries(imp_testExe1
exp_testLib7
exp_testLibCycleA
exp_testLibPerConfigDest
exp_testSharedLibArchiveAIX
exp_testSharedObjectAIX
exp_testStaticLibWithPlugin
)
@@ -124,7 +124,7 @@ target_link_libraries(imp_testExe1b
bld_testLib7
bld_testLibCycleA
bld_testLibPerConfigDest
bld_testSharedLibArchiveAIX
bld_testSharedObjectAIX
bld_testStaticLibWithPlugin
)
+2 -2
View File
@@ -11,7 +11,7 @@ extern int testLib7(void);
extern int testLibCycleA1(void);
extern int testLibPerConfigDest(void);
extern int testStaticLibPlugin(void);
extern int testSharedLibArchiveAIX(void);
extern int testSharedObjectAIX(void);
/* Switch a symbol between debug and optimized builds to make sure the
proper library is found from the testLib4 link interface. */
@@ -27,6 +27,6 @@ int main(void)
return (testLib2() + generated_by_testExe1() + testLib3() + testLib4() +
testLib5() + testLib6() + testLib7() + testLibCycleA1() +
testLibPerConfigDest() + testStaticLibPlugin() +
testSharedLibArchiveAIX() + generated_by_testExe3() +
testSharedObjectAIX() + generated_by_testExe3() +
generated_by_testExe4() + testLib4lib() + testLib4libcfg());
}
@@ -36,3 +36,9 @@ if(aix_sla_versioned)
message(FATAL_ERROR "AIX_SHARED_LIBRARY_ARCHIVE initialized on EXECUTABLE")
endif()
target_link_libraries(UseSLA_versioned PRIVATE sla_versioned)
add_library(imported SHARED IMPORTED)
get_property(aix_sla TARGET imported PROPERTY AIX_SHARED_LIBRARY_ARCHIVE)
if(aix_sla)
message(FATAL_ERROR "AIX_SHARED_LIBRARY_ARCHIVE initialized on imported target")
endif()