在Cmake模塊中,我試圖找到不同的路徑。在某些情況下,我想「設置」後,可變我最初叫「find_path」使用同一個變量:調用「find_path」後,Cmake「set」在同一變量上不起作用
# general search for this include dir
find_path(LIBRARY_INCLUDE_DIR
NAMES LibraryName/LibraryHeader.h
)
# specific option enabled by user
if(USE_OTHER_LIB)
find_path(OTHER_LIB_ROOT_DIR
NAMES OtherLib/OtherLib.h
)
set(LIBRARY_INCLUDE_DIR ${OTHER_LIB_ROOT_DIR}/database/include)
endif(USE_OTHER_LIB)
這種方法確實在Windows XP下工作正常(CMake的2.8.1)。但是,它在Mac OS 10.6(CMake 2.8.3)下無法使用。有人知道mac/windows版本之間是否存在差異以及如何解決此問題?
非常感謝!
您是否在放置集之前和之後放置了消息(STATUS)行以驗證是否定義了USE_OTHER_LIB?如果是這樣,你可以發佈輸出? – RobertJMaynard 2011-02-15 16:26:43