2012-09-18 36 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)

解决了这个问题。

以前的方法没有生成错误,但它静静地忽略该行。