2015-04-03 53 views
0

我在本地構建依賴項並安裝在本地目錄中。現在我想告訴CMake除了所有的標準位置之外,還要查看包含和庫的本地目錄。CMake:如何從命令行指定在哪裏查找本地安裝的庫

我嘗試這樣做:

cmake -D CMAKE_LIBRARY_PATH=`realpath ../target`/lib CMAKE_INCLUDE_PATH=`realpath ../target`/include . 

但沒有奏效。任何想法?

+0

您需要在CMAKE_INCLUDE_PATH = ...前加上-D。 – sakra 2015-04-04 14:37:05

回答

0

可以使用

find_library() 

命令來搜索庫。

隨着

include_directories() 

你告訴cmake的地方,尋找包括文件

+0

但是這意味着要更改我想編譯的項目的CMake文件。我不想這樣做,我想指定一個參數作爲CMake的參數,我已經安裝了它正在尋找的依賴關係的目錄 – 2015-04-04 12:45:30

0

您可以將文件夾先加你的PC的系統環境,例如稱爲PersonalLib_DIR指向該文件夾。然後你就可以通過CMake的訪問$ENV{PersonalLib_DIR}庫添加它包括和:

  1. 對於包括:

    include_directories($ENV{PersonalLib_DIR}) 
    
  2. 對於庫(假設你想要的文件夾下的aLib.lib鏈接):

    target_link_libraries(youProject $ENV{PersonalLib_DIR}/aLib) 
    
+0

是的,但同樣意味着需要更改我正在使用的項目的CMakeLists.txt文件。如果可能,我想避免這種情況。我正在尋找標準方法來指定額外的目錄來搜索庫 – 2015-04-06 09:20:12