
Add option `CMAKE_AIX_SHARED_LIBRARY_ARCHIVE`. There will no versions for the shared objects when this option is used. Closes: #26033
21 lines
759 B
CMake
21 lines
759 B
CMake
cmake_minimum_required(VERSION 3.30)
|
|
project(SharedLibraryArchive C)
|
|
|
|
set(CMAKE_AIX_SHARED_LIBRARY_ARCHIVE 1)
|
|
|
|
add_library(sla SHARED sla.c)
|
|
get_property(aix_sla TARGET sla PROPERTY AIX_SHARED_LIBRARY_ARCHIVE)
|
|
if(NOT aix_sla)
|
|
message(FATAL_ERROR "AIX_SHARED_LIBRARY_ARCHIVE not initialized on SHARED library")
|
|
endif()
|
|
add_custom_command(TARGET sla POST_BUILD VERBATIM
|
|
COMMAND ${CMAKE_COMMAND} -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME} -Dsla=$<TARGET_FILE:sla> -P${CMAKE_CURRENT_SOURCE_DIR}/sla-check.cmake
|
|
)
|
|
|
|
add_executable(UseSLA use_sla.c)
|
|
get_property(aix_sla TARGET UseSLA PROPERTY AIX_SHARED_LIBRARY_ARCHIVE)
|
|
if(aix_sla)
|
|
message(FATAL_ERROR "AIX_SHARED_LIBRARY_ARCHIVE initialized on EXECUTABLE")
|
|
endif()
|
|
target_link_libraries(UseSLA PRIVATE sla)
|