From 4d345a03bee7950661c0d58e04fc3dc8b4e84c0b Mon Sep 17 00:00:00 2001 From: Rashad Kanavath <rashad.kanavath@c-s.fr> Date: Thu, 2 Jul 2015 17:07:45 +0200 Subject: [PATCH] SuperBuild: use curl from superbuild config --- SuperBuild/CMake/External_gdal.cmake | 42 ++++++++++++++-------------- SuperBuild/CMake/Package_Macro.cmake | 26 ++++++++++++----- 2 files changed, 40 insertions(+), 28 deletions(-) diff --git a/SuperBuild/CMake/External_gdal.cmake b/SuperBuild/CMake/External_gdal.cmake index c9bf44b223..b858a4ef85 100644 --- a/SuperBuild/CMake/External_gdal.cmake +++ b/SuperBuild/CMake/External_gdal.cmake @@ -12,13 +12,13 @@ if(USE_SYSTEM_GDAL) else() SETUP_SUPERBUILD(PROJECT ${proj}) message(STATUS " Using GDAL SuperBuild version") - + # declare dependencies set(${proj}_DEPENDENCIES TIFF GEOTIFF PNG JPEG OPENJPEG SQLITE GEOS ZLIB EXPAT LIBKML CURL) INCLUDE_SUPERBUILD_DEPENDENCIES(${${proj}_DEPENDENCIES}) # set proj back to its original value set(proj GDAL) - + ADD_SUPERBUILD_CONFIGURE_VAR(TIFF_ROOT --with-libtiff) ADD_SUPERBUILD_CONFIGURE_VAR(GEOTIFF_ROOT --with-geotiff) ADD_SUPERBUILD_CONFIGURE_VAR(PNG_ROOT --with-png) @@ -28,13 +28,13 @@ else() ADD_SUPERBUILD_CONFIGURE_VAR(ZLIB_ROOT --with-libz) ADD_SUPERBUILD_CONFIGURE_VAR(EXPAT_ROOT --with-expat) ADD_SUPERBUILD_CONFIGURE_VAR(LIBKML_ROOT --with-libkml) - ADD_SUPERBUILD_CONFIGURE_VAR(CURL_ROOT --with-curl) - if(MSVC) - ADD_SUPERBUILD_CONFIGURE_VAR(GEOS_ROOT --with-geos) - else() + if(NOT USE_SYSTEM_CURL) + ADD_SUPERBUILD_CONFIGURE_VAR(CURL_ROOT --with-curl "/bin/curl-config") + endif() + if(NOT USE_SYSTEM_GEOS) ADD_SUPERBUILD_CONFIGURE_VAR(GEOS_ROOT --with-geos "/bin/geos-config") endif() - + #if(USE_SYSTEM_TIFF) # if(NOT SYSTEM_TIFF_PREFIX STREQUAL "") # list(APPEND GDAL_SB_CONFIG --with-libtiff=${SYSTEM_TIFF_PREFIX}) @@ -42,11 +42,11 @@ else() #else() # list(APPEND GDAL_SB_CONFIG --with-libtiff=${SB_INSTALL_PREFIX}) #endif() - + if(UNIX) set(GDAL_SB_EXTRA_OPTIONS "" CACHE STRING "Extra options to be passed to GDAL configure script") mark_as_advanced(GDAL_SB_EXTRA_OPTIONS) - + ExternalProject_Add(${proj} PREFIX ${proj} URL "http://download.osgeo.org/gdal/1.11.2/gdal-1.11.2.tar.gz" @@ -55,12 +55,12 @@ else() INSTALL_DIR ${SB_INSTALL_PREFIX} DOWNLOAD_DIR ${DOWNLOAD_LOCATION} DEPENDS ${${proj}_DEPENDENCIES} - UPDATE_COMMAND ${CMAKE_COMMAND} -E copy_directory ${GDAL_SB_SRC} ${GDAL_SB_BUILD_DIR} - PATCH_COMMAND ${CMAKE_COMMAND} -E touch ${GDAL_SB_SRC}/config.rpath - CONFIGURE_COMMAND + UPDATE_COMMAND ${CMAKE_COMMAND} -E copy_directory ${GDAL_SB_SRC} ${GDAL_SB_BUILD_DIR} + PATCH_COMMAND ${CMAKE_COMMAND} -E touch ${GDAL_SB_SRC}/config.rpath + CONFIGURE_COMMAND # use 'env' because CTest launcher doesn't perform shell interpretation ${SB_ENV_CONFIGURE_CMD} - ${GDAL_SB_BUILD_DIR}/configure + ${GDAL_SB_BUILD_DIR}/configure --prefix=${SB_INSTALL_PREFIX} --enable-static=no --without-ogdi @@ -73,14 +73,14 @@ else() else(MSVC) ##add libkml - ##https://trac.osgeo.org/gdal/ticket/5725 - ##is needed for SQLITE driver + ##https://trac.osgeo.org/gdal/ticket/5725 + ##is needed for SQLITE driver list(REMOVE_ITEM ${proj}_DEPENDENCIES LIBKML) - STRING(REGEX REPLACE "/$" "" CMAKE_WIN_INSTALL_PREFIX ${SB_INSTALL_PREFIX}) + STRING(REGEX REPLACE "/$" "" CMAKE_WIN_INSTALL_PREFIX ${SB_INSTALL_PREFIX}) STRING(REGEX REPLACE "/" "\\\\" CMAKE_WIN_INSTALL_PREFIX ${CMAKE_WIN_INSTALL_PREFIX}) configure_file(${CMAKE_SOURCE_DIR}/patches/${proj}/nmake_gdal_extra.opt.in ${CMAKE_BINARY_DIR}/nmake_gdal_extra.opt) - + ExternalProject_Add(${proj} PREFIX ${proj} URL "http://download.osgeo.org/gdal/1.11.2/gdal-1.11.2.tar.gz" @@ -96,15 +96,15 @@ else() BUILD_COMMAND nmake /f ${GDAL_SB_BUILD_DIR}/makefile.vc MSVC_VER=${MSVC_VERSION} EXT_NMAKE_OPT=${CMAKE_BINARY_DIR}/nmake_gdal_extra.opt INSTALL_COMMAND nmake /f ${GDAL_SB_BUILD_DIR}/makefile.vc devinstall MSVC_VER=${MSVC_VERSION} EXT_NMAKE_OPT=${CMAKE_BINARY_DIR}/nmake_gdal_extra.opt ) - + endif() - + set(_SB_${proj}_INCLUDE_DIR ${SB_INSTALL_PREFIX}/include) if(WIN32) set(_SB_${proj}_LIBRARY ${SB_INSTALL_PREFIX}/lib/gdal_i.lib) elseif(UNIX) set(_SB_${proj}_LIBRARY ${SB_INSTALL_PREFIX}/lib/libgdal${CMAKE_SHARED_LIBRARY_SUFFIX}) - endif() - + endif() + endif() endif() diff --git a/SuperBuild/CMake/Package_Macro.cmake b/SuperBuild/CMake/Package_Macro.cmake index 859788f941..2ec53d58b4 100644 --- a/SuperBuild/CMake/Package_Macro.cmake +++ b/SuperBuild/CMake/Package_Macro.cmake @@ -8,12 +8,12 @@ macro(superbuild_package) list(APPEND PACKAGE_SEARCHDIRS "${PACKAGE_INSTALLDIR}/lib") #so list(APPEND PACKAGE_SEARCHDIRS "${PACKAGE_INSTALLDIR}/lib/otb/applications") #otb apps - install_common() +# install_common() execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory "${PACKAGE_INSTALLDIR}/${PACKAGE_OUTDIR}") file(GLOB otbapps_list ${PACKAGE_INSTALLDIR}/lib/otb/applications/otbapp_*so) # /lib/otb - list(APPEND PACKAGE_PEFILES ${otbapps_list}) +# list(APPEND PACKAGE_PEFILES ${otbapps_list}) set(alldlls) set(notfound_dlls) @@ -74,16 +74,27 @@ function(process_deps infile) if(EXISTS ${SEARCHDIR}/${infile}) set(DLL_FOUND TRUE) message(STATUS "Processing ${SEARCHDIR}/${infile}") - add_custom_target(RPATH_${bn} - INSTALL - POST_BUILD - COMMAND ${PATCHELF_PROGRAM} "--set-rpath" "../lib" "${PACKAGE_OUTDIR}/lib/${infile}") + #get_filename_component(file_ext ${infile} EXT) + # if("${file_ext}" STREQUAL "${CMAKE_SHARED_LIBRARY_SUFFIX}") + # install(FILES "${SEARCHDIR}/${infile}" + # DESTINATION ${PACKAGE_OUTDIR}/lib) - file(GLOB sofiles "${SEARCHDIR}/${bn}*") + + add_custom_target(RPATH_${bn} + INSTALL + POST_BUILD + COMMAND ${PATCHELF_PROGRAM} "--set-rpath" "../lib" "${PACKAGE_OUTDIR}/lib/${infile}") + + #else() #we assume it is executable + # install(FILES "${SEARCHDIR}/${infile}" + # DESTINATION ${PACKAGE_OUTDIR}/bin) + + file(GLOB sofiles "${SEARCHDIR}/${bn}*") foreach(sofile ${sofiles}) install(FILES "${sofile}" DESTINATION ${PACKAGE_OUTDIR}/bin) endforeach() + #endif() if(NOT EXISTS ${OBJDUMP_PROGRAM}) message(FATAL_ERROR "objdump executable not found. please check OBJDUMP_PROGRAM is set to correct cross compiled executable") @@ -91,6 +102,7 @@ function(process_deps infile) execute_process(COMMAND ${OBJDUMP_PROGRAM} "-p" "${SEARCHDIR}/${infile}" OUTPUT_VARIABLE dump_out) string(REGEX MATCHALL "NEEDED\\ *[A-Za-z(0-9\\.0-9)+_\\-]*" needed_dlls "${dump_out}") string(REGEX REPLACE "NEEDED" "" needed_dlls "${needed_dlls}") + foreach(needed_dll ${needed_dlls}) string(STRIP ${needed_dll} needed_dll) process_deps(${needed_dll}) -- GitLab