参考:https://github.com/Liuyvjin/notebook/blob/master/Cmake/Cmake%E9%9D%99%E6%80%81%E5%BA%93%E5%92%8C%E5%8A%A8%E6%80%81%E5%BA%93.md
SET(LIBHELLO_SRC
crypto.cc
easylog.cc
args.cc
)
ADD_LIBRARY(crypt_static STATIC ${LIBHELLO_SRC})
ADD_LIBRARY(crypt_shared SHARED ${LIBHELLO_SRC})
#SET_TARGET_PROPERTIES(crypt_static crypt_shared PROPERTIES libcrypt.a libcrypt.so)
SET_TARGET_PROPERTIES(crypt_static PROPERTIES OUTPUT_NAME "crypt")
SET_TARGET_PROPERTIES(crypt_shared PROPERTIES OUTPUT_NAME "crypt")
SET_TARGET_PROPERTIES(crypt_shared PROPERTIES CLEAN_DIRECT_OUTPUT 1)
SET_TARGET_PROPERTIES(crypt_static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
TARGET_LINK_LIBRARIES (crypt_static crypto)
TARGET_LINK_LIBRARIES (crypt_shared crypto)
-
ADD_LIBRARY
的时候,改target名字-->改target的输出文件名-->阻止清理同名target -
更改OUTPUT_NAME属性,
SET_TARGET_PROPERTIES
(hello_static PROPERTIES OUTPUT_NAME "hello") -
再次使用
SET_TARGET_PROPERTIES
定义CLEAN_DIRECT_OUTPUT
属性,阻止清理。