@@ -152,28 +152,41 @@ add_library(amdhip64 SHARED
152152 $<TARGET_OBJECTS :hip64 >
153153 )
154154
155- add_library (amdhip64_static STATIC
155+ add_library (amdhip64_static_base STATIC
156156 $<TARGET_OBJECTS :hip64 >
157157 )
158158
159159add_library (host INTERFACE )
160160target_link_libraries (host INTERFACE amdhip64 )
161+ target_link_libraries (host INTERFACE amdhip64_static_base )
161162add_library (device INTERFACE )
162163target_link_libraries (device INTERFACE host )
163164
164- target_link_libraries (amdhip64_static PRIVATE amdvdi_static pthread dl )
165+ target_link_libraries (amdhip64_static_base PRIVATE amdvdi_static pthread dl )
165166target_link_libraries (amdhip64 PRIVATE amdvdi_static pthread dl )
166167
168+ set (STATICLIBNAME "${hip_BINARY_DIR } /lib/libamdhip64_static.a" )
169+
170+ add_custom_command (
171+ OUTPUT ${STATICLIBNAME}
172+ COMMAND rm -f ${STATICLIBNAME}
173+ COMMAND ${CMAKE_AR } -rcsT ${STATICLIBNAME} $<TARGET_FILE :amdhip64_static_base > $<TARGET_FILE :amdvdi_static >
174+ DEPENDS amdhip64_static_base amdvdi_static
175+ COMMENT "Combining static libs into ${STATICLIBNAME} "
176+ )
177+
178+ add_custom_target (amdhip64_static ALL
179+ DEPENDS ${STATICLIBNAME}
180+ )
167181
168- INSTALL (PROGRAMS $<TARGET_FILE :amdhip64_static > DESTINATION lib COMPONENT MAIN)
169- INSTALL (PROGRAMS $<TARGET_FILE :amdhip64 > DESTINATION lib COMPONENT MAIN)
170182INSTALL (CODE "execute_process( COMMAND ${CMAKE_COMMAND } -E create_symlink libamdhip64.so lib/libhip_hcc.so )" DESTINATION lib COMPONENT MAIN)
171183
172184INSTALL (CODE "execute_process( COMMAND ${CMAKE_COMMAND } -E create_symlink libamdhip64.so lib/libhiprtc.so )" DESTINATION lib COMPONENT MAIN)
173185INSTALL (FILES ${CMAKE_BINARY_DIR } /lib/libhip_hcc.so DESTINATION lib COMPONENT MAIN)
174186
175187INSTALL (FILES ${CMAKE_BINARY_DIR } /lib/libhiprtc.so DESTINATION lib COMPONENT MAIN)
176188
177- INSTALL (TARGETS amdhip64_static amdhip64 host device EXPORT hip-targets DESTINATION ${LIB_INSTALL_DIR} )
189+ INSTALL (PROGRAMS ${STATICLIBNAME} DESTINATION ${LIB_INSTALL_DIR} )
190+ INSTALL (TARGETS amdhip64_static_base amdhip64 host device EXPORT hip-targets DESTINATION ${LIB_INSTALL_DIR} )
178191INSTALL (EXPORT hip-targets DESTINATION ${CONFIG_PACKAGE_INSTALL_DIR} NAMESPACE hip::)
179192
0 commit comments