2017-01-15 3 views
1

CMakeLists.txt:CMakeが外部パッケージをダウンロードして使用するにはどうすればいいですか?

cmake_minimum_required(VERSION 3.3) 
project(CMakeTest) 
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake") 
find_package(event-cmake REQUIRED) 

file(GLOB SOURCES "*.cpp") 

add_executable(test ${SOURCES}) 

cmakeの/ Findevent-cmake.cmake:

ExternalProject_Add(event-cmake 
    GIT_REPOSITORY https://github.com/libevent/libevent.git 
    UPDATE_COMMAND "" 
    INSTALL_COMMAND "" 
) 

私はここにCMakeListsが解決パッケージを含めるする機会を持っていないことを知っているが、私はさえにCMakeのを取得することはできません外部レポをダウンロードしてください。それは次のものでエラーになります:

CMake Error at cmake/Findevent-cmake.cmake:3 (ExternalProject_Add): 
    Unknown CMake command "ExternalProject_Add". 
Call Stack (most recent call first): 
    CMakeLists.txt:4 (find_package) 

cmakeがプロジェクトをダウンロードしてリンクするようにする方法はありますか?

+0

経由で使用されています。「UPDATE_COMMAND」エントリと「INSTALL_COMMAND」エントリを削除しようとしましたか? –

+0

ええ、助けてくれませんか(同じエラー – chacham15

+0

実際、コマンド自体は知られていないと言われていますが、バージョン2.xのように 'cmake'ツールがあるかもしれません(http://www.kitware .com/media/html/BuildingExternalProjectsWithCMake2.8.html)3.xの代わりに –

答えて

0

セクションに記載されているCMake関数は、特定のモジュールを必要とします。

機能ExternalProject_Addが "ExternalProject" と題しdocumentation pageに記載されているように、あなたはそれを使用する前に

include(ExternalProject) 

を使用する必要があります。


同じ戦略はFind<name>個を除く他のモジュールでも有効です。これらのモジュールは、

find_package(<name>) 
関連する問題