I currently have this bit of code in one of my projects:
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})
One of the main priorities of the project is to simplify the installation for the end user when compiling from scratch. One error that I encountered with this bit of code is the following error is generated when CMake starts:
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)
This error occurs because libcurl4-openssl-dev not installed on the system where CMake is running. I was wondering how I can set this dependency using CMake. Any suggestions?
source share