How to Make cURL works with cmake
How to Make cURL works with cmake
Recently, I want to learn cURL, so downloaded it and compiled it, and use
cmake to manage the project, I wrote a CMakelists.txt as below:
But it did not work, and cmake reported that it can not find cURL, I met
this situation before, so I set the environment variable for cmake like this:
set LIBCURL_ROOT= "cURL's path"
But it did not work neither, and I was confused, what was wrong with me, and
how could I make it works?
So I configured the environment variable CPLUS_INCLUDE_PATH to libcurl's
path, it did not work neither.
Finally, I open the file FindCURL.cmake and check content, I found that the
content didn't point the path of libcurl out, so I modified sentence in
FindCURL.cmake:
to
and the sentece in FindCURL.cmake
to
and run:
cmkae .. -G "MinGW Makefiles", it worked.
The conclution:
1. don't trust the libraries so much.
2. think more.
Recently, I want to learn cURL, so downloaded it and compiled it, and use
cmake to manage the project, I wrote a CMakelists.txt as below:
cmake_minimum_required(VERSION 2.8) project(curlTest) find_package(CURL REQUIRED) include_directories(${CURL_INCLUDE_DIR}) set(sources appMain.cpp) add_executable(curlTest ${sources}) target_link_libraries(curlTest ${CURL_LIBRIRIES})
But it did not work, and cmake reported that it can not find cURL, I met
this situation before, so I set the environment variable for cmake like this:
set LIBCURL_ROOT= "cURL's path"
But it did not work neither, and I was confused, what was wrong with me, and
how could I make it works?
So I configured the environment variable CPLUS_INCLUDE_PATH to libcurl's
path, it did not work neither.
Finally, I open the file FindCURL.cmake and check content, I found that the
content didn't point the path of libcurl out, so I modified sentence in
FindCURL.cmake:
find_path(CURL_INCLUDE_DIR NAMES curl/curl.h)
to
find_path(CURL_INCLUDE_DIR NAMES curl/curl.h PATHS $ENV{LIBCURL_ROOT}/include)
and the sentece in FindCURL.cmake
find_library(CURL_LIBRARY NAMES curl # Windows MSVC prebuilts: curllib libcurl_imp curllib_static # Windows older "Win32 - MSVC" prebuilts (libcurl.lib, e.g. libcurl-7.15.5-win32-msvc.zip): libcurl)
to
and run:
cmkae .. -G "MinGW Makefiles", it worked.
The conclution:
1. don't trust the libraries so much.
2. think more.