未验证 提交 7ec7ab11 编写于 作者: 羽飞's avatar 羽飞 提交者: GitHub

remove common_static and make common be a statis library (#161)

### What problem were solved in this pull request?

Issue Number: close #159 

Problem:
common链接库编译了两次

### What is changed and how it works?
删除common_static,将common直接改成static链接库
上级 a3c336a4
...@@ -20,21 +20,13 @@ ENDFOREACH(F) ...@@ -20,21 +20,13 @@ ENDFOREACH(F)
#SHARED,动态库 #SHARED,动态库
#STATIC,静态库 #STATIC,静态库
ADD_LIBRARY(common SHARED ${ALL_SRC} ) ADD_LIBRARY(common STATIC ${ALL_SRC} )
ADD_LIBRARY(common_static STATIC ${ALL_SRC})
# 没有SET_TARGET_PROPERTIES, 是不能同时build 静态库和动态库, 如果只build 一种库, 就不需要这个功能
SET_TARGET_PROPERTIES(common_static PROPERTIES OUTPUT_NAME "common")
GET_TARGET_PROPERTY(OUTPUT_VALUE common_static OUTPUT_NAME)
MESSAGE(STATUS "This is the func_static OUTPUT_NAME:" ${OUTPUT_VALUE})
# 编译静态库时,自动会把同名的动态库给删除, 因此需要临时设置一下 # 编译静态库时,自动会把同名的动态库给删除, 因此需要临时设置一下
SET_TARGET_PROPERTIES(common PROPERTIES CLEAN_DIRECT_OUTPUT 1) SET_TARGET_PROPERTIES(common PROPERTIES CLEAN_DIRECT_OUTPUT 1)
SET_TARGET_PROPERTIES(common_static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
# 设置版本号 VERSION指代动态库版本,SOVERSION指代API版本 # 设置版本号 VERSION指代动态库版本,SOVERSION指代API版本
SET(MAIJOR_VER 1) SET(MAIJOR_VER 1)
SET(MINOR_VER 0) SET(MINOR_VER 0)
SET(PATCH_VER 0) SET(PATCH_VER 0)
...@@ -47,7 +39,7 @@ SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../../lib) ...@@ -47,7 +39,7 @@ SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../../lib)
# Target 必须在定义 ADD_EXECUTABLE 之后, programs 不受这个限制 # Target 必须在定义 ADD_EXECUTABLE 之后, programs 不受这个限制
# TARGETS和PROGRAMS 的默认权限是OWNER_EXECUTE, GROUP_EXECUTE, 和WORLD_EXECUTE,即755权限, programs 都是处理脚步类 # TARGETS和PROGRAMS 的默认权限是OWNER_EXECUTE, GROUP_EXECUTE, 和WORLD_EXECUTE,即755权限, programs 都是处理脚步类
# 类型分为RUNTIME/LIBRARY/ARCHIVE, prog # 类型分为RUNTIME/LIBRARY/ARCHIVE, prog
INSTALL(TARGETS common common_static INSTALL(TARGETS common
LIBRARY DESTINATION lib LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib) ARCHIVE DESTINATION lib)
...@@ -60,4 +52,4 @@ FOREACH(F ${ALL_HEADER}) ...@@ -60,4 +52,4 @@ FOREACH(F ${ALL_HEADER})
get_filename_component(headDir ${RELAPATH_HEADER} DIRECTORY) get_filename_component(headDir ${RELAPATH_HEADER} DIRECTORY)
MESSAGE("Install " ${RELAPATH_HEADER} " to " ${CMAKE_INSTALL_PREFIX} "/" ${PROJECT_NAME} "/include/" ${headDir}) MESSAGE("Install " ${RELAPATH_HEADER} " to " ${CMAKE_INSTALL_PREFIX} "/" ${PROJECT_NAME} "/include/" ${headDir})
INSTALL(FILES ${RELAPATH_HEADER} DESTINATION include/${headDir}) INSTALL(FILES ${RELAPATH_HEADER} DESTINATION include/${headDir})
ENDFOREACH(F) ENDFOREACH(F)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册