2013-10-12 69 views

回答

0

一種方法是創建libcpuidprocps

這裏一個的CMakeLists.txt文件爲lipcpuid一個的CMakeLists.txt文件的一個示例:

cmake_minimum_required(VERSION 2.8.12) 
project(libcpuid-0.1.0) 

set_property(GLOBAL PROPERTY USE_FOLDERS ON) 

# Compiler settings 
if (WIN32) 
    # Standard:   /DWIN32 /D_WINDOWS /W3 /Zm1000 /EHsc /GR 
    set(CMAKE_CXX_FLAGS "/DWIN32 /D_WINDOWS /W4 /Zi /EHsc /GR- /MP /openmp") 
endif (WIN32) 

file(GLOB libcpuid_SRC *.c *.h) 

add_definitions(-DVERSION="0.1.0") 

# Create a target for the library 
add_library(libcpuid-0.1.0 
    ${libcpuid_SRC} 
) 

然後在你的CMake的項目,你可以很容易地參考lib通過:

ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/external/libcpuid_0.1.0) 

target_link_libraries( YourProject 
    libcpuid-0.1.0 
) 
+0

將如何定義'libcpuid_SRC'?並且不能''target_link_libraries'只使用'libcpuid'而不指定版本號? –

+0

我假設上面列出的CMakeLists.txt被放置在libcpuid中。 GLOB將收集該目錄中的所有* .c和* .h文件。如果你不想自己編譯庫,你也可以按照這種方法:http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries – Vertexwahn