2014-09-21 52 views
0

我有一個CMake的結構:CMake的FindPackage在從父顯示目錄cmake的文件夾add_subdirectory

  • mainproject/
  • mainproject/cmake/FindMyPackage.cmake
  • mainproject/CMakeLists.txt
  • plugin/
  • plugin/CMakeLists.txt

和上述CMakeLists.txt我打電話

add_subdirectory(${LOOP_SUBDIR}/${subdir} examples/${subdir}) 

其中添加上述定義的目錄外plugin/CMakeLists.txt子目錄。

在這第二CMakeLists.txt我打電話FindPackage(MyPackage REQUIRED)

這給錯誤消息:

CMake Error at [...]/plugin/CMakeLists.txt:9 (find_package): 
    By not providing "FindMyPackage.cmake" in CMAKE_MODULE_PATH this project has 
    asked CMake to find a package configuration file provided by "MyPackage", but 
    CMake did not find one. 

有沒有什麼辦法讓它用在mainproject文件夾中的文件的CMake?

回答

0

只要按照給定的錯誤信息,即它必須幫助:

# CMakeLists.txt 
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/mainproject/cmake") 
add_subdirectory(plugin)