cmake: rosetta_wrap_library now handles target prefix and soname configuration

This commit is contained in:
2026-05-31 17:29:53 +01:00
parent 616ad0d0cc
commit 000cb5c35d
2 changed files with 8 additions and 3 deletions
+6 -2
View File
@@ -133,7 +133,7 @@ endfunction(rosetta_add_object_library)
function(rosetta_wrap_library)
set(options)
set(one_value_args NAME)
set(one_value_args NAME SONAME PREFIX)
set(multi_value_args
PUBLIC_INCLUDE_DIRS)
cmake_parse_arguments(PARSE_ARGV 0 arg
@@ -151,10 +151,14 @@ function(rosetta_wrap_library)
PATH ${arg_PUBLIC_INCLUDE_DIRS})
endif ()
if (arg_SONAME)
target_link_options(${lib_name} PRIVATE -Wl,--soname,${arg_SONAME}.so)
endif ()
set_target_properties(${lib_name} PROPERTIES
POSITION_INDEPENDENT_CODE ON
src_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/include
PREFIX "")
PREFIX "${arg_PREFIX}")
endfunction(rosetta_wrap_library)
function(rosetta_add_object_library)
+2 -1
View File
@@ -31,9 +31,10 @@ endforeach (item)
foreach (assembly ${fx_assemblies})
target_link_libraries(${assembly} libc libpthread)
target_link_options(${assembly} PRIVATE -Wl,--soname,lib${assembly}.so)
# target_link_options(${assembly} PRIVATE -Wl,--soname,lib${assembly}.so)
rosetta_wrap_library(
NAME ${assembly}
SONAME lib${assembly}
PUBLIC_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/libfx/${module}/include)
set_target_properties(${assembly} PROPERTIES
PREFIX "lib")