Zur Zeit habe ich dieses Stück Code in einem meiner Projekte:Installieren libcurl4-openssl-dev mit CMake des externen Projekt
find_package(CURL REQUIRED)
if(${CURL_FOUND})
else(${CURL_FOUND})
message(STATUS "Could not find libcURL. This dependency will be downloaded.")
ExternalProject_Add(
libcurl
GIT_REPOSITORY "git://github.com/bagder/curl.git"
GIT_TAG "1b6bc02fb926403f04061721f9159e9887202a96"
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/curl
PATCH_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/cURL/buildconf
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/cURL/configure --prefix=<INSTALL_DIR>
BUILD_COMMAND ${MAKE}
UPDATE_COMMAND ""
INSTALL_COMMAND ""
LOG_DOWNLOAD ON
LOG_UPDATE ON
LOG_CONFIGURE ON
LOG_BUILD ON
LOG_TEST ON
LOG_INSTALL ON
)
ExternalProject_Get_Property(libcurl source_dir)
ExternalProject_Get_Property(libcurl binary_dir)
set(CURL_SOURCE_DIR ${source_dir})
set(CURL_BINARY_DIR ${binary_dir})
set(CURL_LIBRARIES ${CURL_BINARY_DIR}/lib/.libs/libcurl.dylib)
include_directories(${CURL_SOURCE_DIR})
set(DEPENDENCIES ${DEPENDENCIES} libcurl)
endif(${CURL_FOUND})
Eine der wichtigsten Prioritäten des Projekts so einfach wie möglich sein, zu installieren für einen Endbenutzer während des Kompilierens von Grund auf. Ein Fehler Ich laufe in diesem Stück Code ist der folgende Fehler generiert wird, wenn CMake ausgeführt wird:
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97 (MESSAGE):
Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:288 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-2.8/Modules/FindCURL.cmake:52 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:29 (find_package)
Dieser Fehler tritt auf, weil libcurl4-openssl-dev
nicht auf dem System installiert ist, wo CMake läuft. Ich habe mich gefragt, wie ich diese Abhängigkeit mit CMake installieren könnte. Irgendwelche Vorschläge?