2012-09-18 68 views
3

我有一個簡單的CMakeLists.txt文件:CMake的忽略library_output_name

cmake_minimum_required(VERSION 2.8.9) project (sample) 

add_library(Shared SHARED foo.c) 
set_target_properties(Shared PROPERTIES library_output_name libdemo.so.1.2.3) 

我想我的圖書館被稱爲libdemo.so.1.2.3但它被稱爲libShared.so。我怎樣才能得到這個文件來命名圖書館?因爲我想添加同一個庫的靜態版本,所以我不只是想更改add_library()指令,因爲靜態庫只有一個不同的擴展名纔會有相同的名稱。

回答

2

更改set_target_properties()線爲:

set_target_properties(共享屬性LIBRARY_OUTPUT_NAME demo.so.1.2.3)

解決了這個問題。

以前的方法沒有生成錯誤,但它靜靜地忽略該行。