提交 85e42cbe 编写于 作者: L liaogang

ENH: supoort commnad `make target_name`

上级 8b86624b
...@@ -97,15 +97,12 @@ function(merge_static_libs TARGET_NAME) ...@@ -97,15 +97,12 @@ function(merge_static_libs TARGET_NAME)
endforeach() endforeach()
if(APPLE) # Use OSX's libtool to merge archives if(APPLE) # Use OSX's libtool to merge archives
add_custom_target(${TARGET_NAME}_archive set(dummyfile ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}_dummy.c)
COMMAND libtool -static -o "${CMAKE_CURRENT_BINARY_DIR}/lib${TARGET_NAME}.a" ${libfiles} file(WRITE ${dummyfile} "const char * dummy = \"${dummyfile}\";")
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} add_library(${TARGET_NAME} STATIC ${dummyfile})
DEPENDS ${libs} add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
) COMMAND rm "${CMAKE_CURRENT_BINARY_DIR}/lib${TARGET_NAME}.a"
add_library(${TARGET_NAME} STATIC IMPORTED GLOBAL) COMMAND /usr/bin/libtool -static -o "${CMAKE_CURRENT_BINARY_DIR}/lib${TARGET_NAME}.a" ${libfiles})
set_property(TARGET ${TARGET_NAME} PROPERTY
IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/lib${TARGET_NAME}.a")
add_dependencies(${TARGET_NAME} ${TARGET_NAME}_archive)
else() # general UNIX: use "ar" to extract objects and re-add to a common lib else() # general UNIX: use "ar" to extract objects and re-add to a common lib
foreach(lib ${libs}) foreach(lib ${libs})
set(objlistfile ${lib}.objlist) # list of objects in the input library set(objlistfile ${lib}.objlist) # list of objects in the input library
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册