2013-04-02 12 views
12

CUpewnij wersja 2.8.4siła CUpewnij FIND_LIBRARY patrzeć w niestandardowym katalogu

Mam następujące apache przenośnych bibliotek runtime, że mam skompilowane siebie i mają mój wniosek, aby połączyć przeciwko.

My Directory Project gdzie moi kwi biblioteki są:

gw_proj/tools/apr/libs 

W moim CMakeLists.txt Mam następujący:

FIND_LIBRARY(APRUTIL NAMES "aprutil-1" 
    PATHS ${PROJECT_SOURCE_DIR}/tools/apr/libs) 

Mój problem polega na komputerze, który ma już apache przenośny czas pracy jest już zainstalowany, będzie go szukać w tym folderze:

/usr/lib 

Tak zawsze będzie ignorować moja niestandardowa ścieżka.

Jak mogę zmusić FIND_LIBRARY aby zawsze wyglądać w moim niestandardowym katalogu:

gw_proj/tools/apr/libs 

Wielkie dzięki za wszelkie sugestie

Odpowiedz

11

Można określić kolejność wyszukiwania przy użyciu jednego lub więcej NO_DEFAULT_PATH, NO_CMAKE_ENVIRONMENT_PATH , NO_CMAKE_PATH, NO_SYSTEM_ENVIRONMENT_PATH, NO_CMAKE_SYSTEM_PATH, CMAKE_FIND_ROOT_PATH_BOTH, ONLY_CMAKE_FIND_ROOT_PATH lub NO_CMAKE_FIND_ROOT_PATH.

Od docs dla find_library:

Domyślna kolejność wyszukiwania ma być najbardziej do najmniej specyficzne specyficzne dla typowych przypadków użycia. Projekty mogą zastąpić kolejność po prostu dzwoniąc komenda wielokrotnie i za pomocą NO_ opcje *:

find_library(<VAR> NAMES name PATHS paths... NO_DEFAULT_PATH) 
find_library(<VAR> NAMES name) 

Po jednym z połączeń powiedzie zmienna wynik zostanie ustawiony i przechowywane w pamięci cache tak, że żadne połączenie nie będzie szukał ponownie .

Więc w twoim przypadku można zrobić

FIND_LIBRARY(APRUTIL NAMES "aprutil-1" 
    PATHS ${PROJECT_SOURCE_DIR}/tools/apr/libs NO_DEFAULT_PATH) 
+0

Dzięki, działa jak czar. – ant2009