cmake_c_flags用來設置編譯選項 如 -g -wall(不展示警告)
add_definitions
添加編譯參數,比如add_definitions(-DDEBUG)將在gcc命令行添加DEBUG宏定義
ADD_LIBRARY (hello SHARED ${LIBHELLO_SRC})
# 添加靜態庫,關鍵詞為static,
# ADD_LIBRARY (hello STATIC ${LIBHELLO_SRC})
# 仍然用hello作為target名時,是不能成功創建所需的靜態庫的,
# 因為hello作為一個target是不能重名的, 故把上面的hello修改為hello_static
# 同理,你不需要寫全libhello_static.a
# 只需要填寫hello即可,cmake系統會自動為你生成 libhello_static.X
ADD_LIBRARY (hello_static STATIC ${LIBHELLO_SRC})
# 按照一般的習慣,靜態庫名字跟動態庫名字應該是一致的,只是擴展名不同;
# 即:靜態庫名為 libhello.a; 動態庫名為libhello.so ;
# 所以,希望 "hello_static" 在輸出時,不是"hello_static",而是以"hello"的名字顯示,故設置如下:
SET_TARGET_PROPERTIES (hello_static PROPERTIES OUTPUT_NAME "hello")
GET_TARGET_PROPERTY (OUTPUT_VALUE hello_static OUTPUT_NAME)