mirror of https://github.com/gnss-sdr/gnss-sdr
Fixes automatic building of GFlags and Glog when clang is used (e.g.
MacOS X)
This commit is contained in:
parent
1518e5ac5d
commit
ca4b8e232c
|
@ -306,6 +306,28 @@ if (NOT GFlags_FOUND OR LOCAL_GLOG)
|
||||||
message (STATUS " when doing 'make'. ")
|
message (STATUS " when doing 'make'. ")
|
||||||
set(gflags_RELEASE 2.0 CACHE STRING "Local gflags release")
|
set(gflags_RELEASE 2.0 CACHE STRING "Local gflags release")
|
||||||
set(gflags_MD5 "5fd4554d2ba84bf222a2fec0870d28df")
|
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(
|
ExternalProject_Add(
|
||||||
gflags-${gflags_RELEASE}
|
gflags-${gflags_RELEASE}
|
||||||
|
@ -315,7 +337,7 @@ if (NOT GFlags_FOUND OR LOCAL_GLOG)
|
||||||
URL_MD5 ${gflags_MD5}
|
URL_MD5 ${gflags_MD5}
|
||||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/gflags/gflags-${gflags_RELEASE}
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/gflags/gflags-${gflags_RELEASE}
|
||||||
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}
|
||||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}
|
CONFIGURE_COMMAND ${CONF_SCRIPT} --prefix=${CMAKE_CURRENT_BINARY_DIR}/gflags-${gflags_RELEASE}
|
||||||
BUILD_COMMAND make
|
BUILD_COMMAND make
|
||||||
UPDATE_COMMAND ""
|
UPDATE_COMMAND ""
|
||||||
PATCH_COMMAND ""
|
PATCH_COMMAND ""
|
||||||
|
@ -357,7 +379,22 @@ if (NOT GLOG_FOUND OR LOCAL_GFLAGS)
|
||||||
set(glog_RELEASE 0.3.3)
|
set(glog_RELEASE 0.3.3)
|
||||||
set(glog_MD5 "a6fd2c22f8996846e34c763422717c18")
|
set(glog_MD5 "a6fd2c22f8996846e34c763422717c18")
|
||||||
if(LOCAL_GFLAGS)
|
if(LOCAL_GFLAGS)
|
||||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}/tmp/configure_with_gflags
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
|
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 LIBS=${GFlags_SHARED_LIBS}
|
||||||
|
export CXXFLAGS=\"-stdlib=libc++\"
|
||||||
|
export CC=clang
|
||||||
|
export CXX=clang++
|
||||||
|
../../thirdparty/glog/glog-${glog_RELEASE}/configure")
|
||||||
|
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}/tmp/configure_with_gflags
|
||||||
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}
|
||||||
|
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
|
||||||
|
GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
||||||
|
else("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
|
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}/tmp/configure_with_gflags
|
||||||
"#!/bin/sh
|
"#!/bin/sh
|
||||||
export CPPFLAGS=-I${GFlags_INCLUDE_DIRS}
|
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}/.libs
|
||||||
|
@ -367,6 +404,7 @@ export LIBS=${GFlags_SHARED_LIBS}
|
||||||
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}
|
||||||
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
|
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
|
||||||
GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
||||||
|
endif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
else(LOCAL_GFLAGS)
|
else(LOCAL_GFLAGS)
|
||||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}/tmp/configure_with_gflags
|
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}/tmp/configure_with_gflags
|
||||||
"#!/bin/sh
|
"#!/bin/sh
|
||||||
|
@ -381,21 +419,39 @@ export LIBS=${GFlags_SHARED_LIBS}
|
||||||
endif(LOCAL_GFLAGS)
|
endif(LOCAL_GFLAGS)
|
||||||
|
|
||||||
set(GLOG_CONFIGURE ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}/configure_with_gflags)
|
set(GLOG_CONFIGURE ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}/configure_with_gflags)
|
||||||
ExternalProject_Add(
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
glog-${glog_RELEASE}
|
ExternalProject_Add(
|
||||||
DEPENDS gflags-${gflags_RELEASE}
|
glog-${glog_RELEASE}
|
||||||
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}
|
DEPENDS gflags-${gflags_RELEASE}
|
||||||
URL http://google-glog.googlecode.com/files/glog-${glog_RELEASE}.tar.gz
|
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}
|
||||||
DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/download/glog-${glog_RELEASE}
|
SVN_REPOSITORY http://google-glog.googlecode.com/svn/trunk
|
||||||
URL_MD5 ${glog_MD5}
|
SVN_REVISION -r "142"
|
||||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${glog_RELEASE}
|
DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/download/glog-${glog_RELEASE}
|
||||||
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${glog_RELEASE}
|
||||||
CONFIGURE_COMMAND ${GLOG_CONFIGURE} --prefix=<INSTALL_DIR>
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}
|
||||||
BUILD_COMMAND make
|
CONFIGURE_COMMAND ${GLOG_CONFIGURE} --prefix=<INSTALL_DIR>
|
||||||
UPDATE_COMMAND ""
|
BUILD_COMMAND make
|
||||||
PATCH_COMMAND ""
|
UPDATE_COMMAND ""
|
||||||
INSTALL_COMMAND ""
|
PATCH_COMMAND ""
|
||||||
)
|
INSTALL_COMMAND ""
|
||||||
|
)
|
||||||
|
else("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
|
ExternalProject_Add(
|
||||||
|
glog-${glog_RELEASE}
|
||||||
|
DEPENDS gflags-${gflags_RELEASE}
|
||||||
|
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}
|
||||||
|
URL http://google-glog.googlecode.com/files/glog-${glog_RELEASE}.tar.gz
|
||||||
|
DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/download/glog-${glog_RELEASE}
|
||||||
|
URL_MD5 ${glog_MD5}
|
||||||
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${glog_RELEASE}
|
||||||
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/glog-${glog_RELEASE}
|
||||||
|
CONFIGURE_COMMAND ${GLOG_CONFIGURE} --prefix=<INSTALL_DIR>
|
||||||
|
BUILD_COMMAND make
|
||||||
|
UPDATE_COMMAND ""
|
||||||
|
PATCH_COMMAND ""
|
||||||
|
INSTALL_COMMAND ""
|
||||||
|
)
|
||||||
|
endif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
# Set up variables
|
# Set up variables
|
||||||
set(GLOG_INCLUDE_DIRS
|
set(GLOG_INCLUDE_DIRS
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${glog_RELEASE}/src/
|
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${glog_RELEASE}/src/
|
||||||
|
@ -409,6 +465,7 @@ endif(NOT GLOG_FOUND OR LOCAL_GFLAGS)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# GPerftools - http://code.google.com/p/gperftools/
|
# GPerftools - http://code.google.com/p/gperftools/
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
Loading…
Reference in New Issue