diff --git a/target_link_static_libraries.cmake b/target_link_static_libraries.cmake index 2aa2875..d52912b 100644 --- a/target_link_static_libraries.cmake +++ b/target_link_static_libraries.cmake @@ -16,17 +16,13 @@ function(target_link_static_libraries target_name) if (${entry} STREQUAL "PRIVATE" OR ${entry} STREQUAL "PUBLIC" OR ${entry} STREQUAL "INTERFACE") set(writing_now ${entry}) else() - find_library(static_lib_${entry} lib${entry}.a) - set(full_path "${static_lib_${entry}}") - if (${full_path} STREQUAL static_lib_${entry}-NOTFOUND) - message(FATAL_ERROR "Could not find static library lib${entry}.a") - endif() + set(link_option "-Wl,--push-state,-Bstatic,-l${entry},--pop-state") if ("${writing_now}" STREQUAL "PRIVATE") - list(APPEND private_libs ${full_path}) + list(APPEND private_libs ${link_option}) elseif ("${writing_now}" STREQUAL "PUBLIC") - list(APPEND public_libs ${full_path}) + list(APPEND public_libs ${link_option}) elseif ("${writing_now}" STREQUAL "INTERFACE") - list(APPEND interface_libs ${full_path}) + list(APPEND interface_libs ${link_option}) else() message(FATAL_ERROR "Unknown frameworks scope for target ${target_name}") endif()