From 24f3743fc11c7f0879b1180ca6e2e179d04da91f Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Tue, 17 Nov 2015 16:48:17 -0200 Subject: Start to clean the Main CMakeLists.txt filel CMake is a strange and complex language for buildsystems, and as such we need to let the main CMakeLists.txt be as clear as possible. Moving a bunch of code that deals with finding git via default CMake way or pkg_cofig to a file named 'HandleFindGit' on our cmake/Modules folder. Signed-off-by: Tomaz Canabrava --- cmake/Modules/HandleFindGit2.cmake | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 cmake/Modules/HandleFindGit2.cmake (limited to 'cmake/Modules/HandleFindGit2.cmake') diff --git a/cmake/Modules/HandleFindGit2.cmake b/cmake/Modules/HandleFindGit2.cmake new file mode 100644 index 000000000..e0bb9979f --- /dev/null +++ b/cmake/Modules/HandleFindGit2.cmake @@ -0,0 +1,39 @@ +# more libraries with special handling in case we build them ourselves +if(LIBGIT2_FROM_PKGCONFIG) + pkg_config_library(LIBGIT2 libgit2 REQUIRED) + set(LIBGIT2_LIBRARIES "") + if(USE_LIBGIT23_API) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_LIBGIT23_API") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_LIBGIT23_API") + if(ANDROID) + # for Android we need to force a static link against ssl and crypto + # this is a bit hacky, but it seems to work + set(LIBGIT2_LIBRARIES ${LIBGIT2_LIBRARIES} ${LIBGIT2_LIBRARY_DIRS}/libssl.a ${LIBGIT2_LIBRARY_DIRS}/libcrypto.a) + endif() + if(FORCE_LIBSSH) + pkg_config_library(LIBSSH2 libssh2 REQUIRED) + set(LIBGIT2_LIBRARIES ${LIBGIT2_LIBRARIES} ${LIBSSH2_LIBRARIES}) + endif() + endif() +else() + find_package(LIBGIT2 REQUIRED) + include_directories(${LIBGIT2_INCLUDE_DIR}) + if(USE_LIBGIT23_API) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_LIBGIT23_API") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_LIBGIT23_API") + if(FORCE_LIBSSH) + find_package(Libssh2 QUIET CONFIG) + if ("${LIBSSH2_VERSION}" STRGREATER "1.6.1") + set(LIBSSH2_LIBRARIES Libssh2::libssh2) + endif() + if(!LIBSSH2_FOUND OR "${LIBSSH2_FOUND}" STREQUAL "") + pkg_config_library(LIBSSH2 libssh2 REQUIRED) + endif() + endif() + find_package(libcurl QUIET) + if(!LIBCURL_FOUND OR "${LIBCURL_FOUND}" STREQUAL "") + pkg_config_library(LIBCURL libcurl REQUIRED) + endif() + set(LIBGIT2_LIBRARIES ${LIBGIT2_LIBRARIES} -L${LIBSSH2_LIBRARY_DIRS} ${LIBSSH2_LIBRARIES} ${LIBCURL_LIBRARIES}) + endif() +endif() -- cgit v1.2.3-70-g09d2