diff --git a/cmake/generic.cmake b/cmake/generic.cmake
index 61353a4a2622257eddb05578c5085c44c1719b98..f2e3934c27f75ff2767f212929ff211d7481ee61 100644
--- a/cmake/generic.cmake
+++ b/cmake/generic.cmake
@@ -146,9 +146,9 @@ function(merge_static_libs TARGET_NAME)
     set(outlibfile "$<TARGET_FILE:${TARGET_NAME}>")
 
     foreach(lib ${libs})
-    add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
-      COMMAND ${CMAKE_AR} ru ${outlibfile} @"../${objlistfile}"
-      WORKING_DIRECTORY ${objdir})
+      add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
+      COMMAND ${CMAKE_AR} ru ${outlibfile} @"../${lib}.objlist"
+      WORKING_DIRECTORY ${lib}.objdir)
     endforeach()
 
     add_custom_command(TARGET ${TARGET_NAME} POST_BUILD