From 892295dd3a2736ffb06d7d045a74ed7a61b2e958 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Tue, 24 Mar 2015 19:53:10 +0100 Subject: [PATCH] A new home and version for Gflags --- CMakeLists.txt | 49 +++++++++++++------------------------------------ README.md | 11 +++++------ 2 files changed, 18 insertions(+), 42 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1994b7213..52840eadb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -431,48 +431,25 @@ endif(NOT VOLK_GNSSSDR_FOUND) ################################################################################ -# gflags - http://code.google.com/p/gflags/ +# gflags - https://github.com/gflags/gflags ################################################################################ set(LOCAL_GFLAGS false) -set(gflags_RELEASE 2.0) +set(gflags_RELEASE 2.1.2) find_package(GFlags) if (NOT GFlags_FOUND) message (STATUS " gflags library has not been found.") message (STATUS " gflags will be downloaded and built automatically ") message (STATUS " when doing 'make'. ") - set(gflags_MD5 "5fd4554d2ba84bf222a2fec0870d28df") - if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/tmp/configure_osx -"#!/bin/sh -export CXXFLAGS=\"-stdlib=libc++\" -export CC=clang -export CXX=clang++ -${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/gflags/gflags-${gflags_RELEASE}/configure") - file(COPY ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/tmp/configure_osx - DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE} - FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ - GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) - set(CONF_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/configure_osx) - else("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/tmp/configure_linux -"#!/bin/sh -${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/gflags/gflags-${gflags_RELEASE}/configure") - file(COPY ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/tmp/configure_linux - DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE} - FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ - GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) - set(CONF_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/configure_linux) - endif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - + ExternalProject_Add( gflags-${gflags_RELEASE} PREFIX ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE} - URL http://gflags.googlecode.com/files/gflags-${gflags_RELEASE}.zip + GIT_REPOSITORY git://github.com/gflags/gflags.git + GIT_TAG v${gflags_RELEASE} DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/download/gflags-${gflags_RELEASE} - URL_MD5 ${gflags_MD5} SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/gflags/gflags-${gflags_RELEASE} BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE} - CONFIGURE_COMMAND ${CONF_SCRIPT} --prefix=${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE} + CMAKE_ARGS -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DBUILD_gflags_nothreads_LIB=OFF -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} BUILD_COMMAND make UPDATE_COMMAND "" PATCH_COMMAND "" @@ -480,16 +457,16 @@ ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/gflags/gflags-${gflags_RELEASE}/configure ) set(GFlags_INCLUDE_DIRS - ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/src CACHE PATH "Local Gflags headers" + ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/include CACHE PATH "Local Gflags headers" ) add_library(gflags UNKNOWN IMPORTED) - set_property(TARGET gflags PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/.libs/${CMAKE_FIND_LIBRARY_PREFIXES}gflags.a) + set_property(TARGET gflags PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gflags.a) add_dependencies(gflags gflags-${gflags_RELEASE}) set(GFlags_LIBS gflags) - file(GLOB GFlags_SHARED_LIBS "${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/.libs/${CMAKE_FIND_LIBRARY_PREFIXES}gflags${CMAKE_SHARED_LIBRARY_SUFFIX}*") + file(GLOB GFlags_SHARED_LIBS "${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gflags${CMAKE_SHARED_LIBRARY_SUFFIX}*") set(GFlags_LIBRARY gflags-${gflags_RELEASE}) - set(GFlags_LIBRARY_PATH ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/.libs ) + set(GFlags_LIBRARY_PATH ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/lib ) link_directories(${GFlags_LIBRARY_PATH}) set(GFlags_lib ${GFlags_LIBS} CACHE FILEPATH "Local Gflags library") set(GFlags_LIBRARY_PATH ${GFlags_LIBS}) @@ -527,7 +504,7 @@ if (NOT GLOG_FOUND OR ${LOCAL_GFLAGS}) file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}/tmp/configure_with_gflags "#!/bin/sh export CPPFLAGS=-I${GFlags_INCLUDE_DIRS} -export LDFLAGS=-L${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/.libs +export LDFLAGS=-L${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/lib export LIBS=${GFlags_SHARED_LIBS} export CXXFLAGS=\"-stdlib=libc++\" export CC=clang @@ -541,7 +518,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${glog_RELEASE}/configure") file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}/tmp/configure_with_gflags "#!/bin/sh export CPPFLAGS=-I${GFlags_INCLUDE_DIRS} -export LDFLAGS=-L${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/.libs +export LDFLAGS=-L${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/lib export LIBS=${GFlags_SHARED_LIBS} ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${glog_RELEASE}/configure") file(COPY ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}/tmp/configure_with_gflags @@ -570,7 +547,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${glog_RELEASE}/configure") file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}/tmp/configure_with_gflags "#!/bin/sh export CPPFLAGS=-I${GFlags_INCLUDE_DIRS} -export LDFLAGS=-L${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/.libs +export LDFLAGS=-L${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}/lib export LIBS=${GFlags_SHARED_LIBS} ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${glog_RELEASE}/configure") file(COPY ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}/tmp/configure_with_gflags diff --git a/README.md b/README.md index 039e590fc..4bd84c793 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,6 @@ In case you do not want to use PyBOMBS and prefer to build and install GNU Radio $ sudo apt-get install libopenblas-dev liblapack-dev gfortran # For Debian/Ubuntu/LinuxMint $ sudo yum install lapack-devel blas-devel gcc-fortran # For Fedora/CentOS/RHEL $ sudo zypper install lapack-devel blas-devel gcc-fortran # For OpenSUSE - $ wget http://sourceforge.net/projects/arma/files/armadillo-4.650.4.tar.gz $ tar xvfz armadillo-4.650.4.tar.gz $ cd armadillo-4.650.4 @@ -107,13 +106,13 @@ The full stop separated from ```cmake``` by a space is important. [CMake](http:/ -#### Install [Gflags](http://code.google.com/p/gflags/ "Gflags' Homepage"), a commandline flags processing module for C++: +#### Install [Gflags](https://gflags.github.io/gflags/ "Gflags' Homepage"), a commandline flags processing module for C++: ~~~~~~ -$ wget http://gflags.googlecode.com/files/gflags-2.0.zip -$ unzip gflags-2.0.zip -$ cd gflags-2.0 -$ ./configure +$ wget https://github.com/gflags/gflags/archive/v2.1.2.tar.gz +$ tar xvfz v2.1.2.tar.gz +$ cd gflags-2.1.2 +$ cmake -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF -DBUILD_gflags_nothreads_LIB=OFF . $ make $ sudo make install $ sudo ldconfig