mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-11-10 12:00:04 +00:00
CMake now launches GNU Radio installation script if gnuradio-core is not detected.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@323 64b25241-fba3-4117-9849-534c7e92360d
This commit is contained in:
parent
67246d9efe
commit
c8db6f10b3
119
CMakeLists.txt
119
CMakeLists.txt
@ -39,13 +39,13 @@ list(APPEND CMAKE_MODULE_PATH ${gnss-sdr_project_SOURCE_DIR}/cmake/Modules)
|
|||||||
|
|
||||||
# Set the version information here
|
# Set the version information here
|
||||||
set(VERSION_INFO_MAJOR_VERSION 0)
|
set(VERSION_INFO_MAJOR_VERSION 0)
|
||||||
#set(VERSION_INFO_API_COMPAT 1)
|
set(VERSION_INFO_API_COMPAT 0)
|
||||||
set(VERSION_INFO_MINOR_VERSION 1)
|
set(VERSION_INFO_MINOR_VERSION 1)
|
||||||
|
set(VERSION ${VERSION_INFO_MAJOR_VERSION}.${VERSION_INFO_API_COMPAT}.${VERSION_INFO_MINOR_VERSION})
|
||||||
|
|
||||||
# Append -O2 optimization flag for Debug builds
|
# Append -O2 optimization flag for Debug builds
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O2")
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O2")
|
||||||
#SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O2")
|
|
||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
@ -53,6 +53,16 @@ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O2")
|
|||||||
########################################################################
|
########################################################################
|
||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
|
|
||||||
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||||
|
set(OperatingSystem "Linux")
|
||||||
|
endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||||
|
|
||||||
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||||
|
set(OperatingSystem "Mac OS X")
|
||||||
|
endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Googletest - http://code.google.com/p/googletest/
|
# Googletest - http://code.google.com/p/googletest/
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -68,6 +78,63 @@ else()
|
|||||||
endif(GTEST_DIR)
|
endif(GTEST_DIR)
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# GNURadio - http://gnuradio.org/redmine/projects/gnuradio/wiki
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
find_package(GnuradioCore)
|
||||||
|
if(NOT GNURADIO_CORE_FOUND)
|
||||||
|
message(WARNING "GNU Radio is required to build gnss-sdr")
|
||||||
|
if(OperatingSystem MATCHES "Linux")
|
||||||
|
set(GNURADIO_RELEASE "3.6.3")
|
||||||
|
set(UHD_RELEASE "003_005_000")
|
||||||
|
file(DOWNLOAD http://www.sbrac.org/files/build-gnuradio
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/download/build-gnuradio
|
||||||
|
)
|
||||||
|
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/download/build-gnuradio
|
||||||
|
DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty
|
||||||
|
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/build-gnuradio -l ${CMAKE_CURRENT_BINARY_DIR}/build-gnuradio.log
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty
|
||||||
|
)
|
||||||
|
endif(OperatingSystem MATCHES "Linux")
|
||||||
|
# -gt v${GNURADIO_RELEASE} -ut release_${UHD_RELEASE} does not work :-(
|
||||||
|
endif(NOT GNURADIO_CORE_FOUND)
|
||||||
|
if(GNURADIO_RELEASE)
|
||||||
|
find_package(GnuradioCore)
|
||||||
|
endif(GNURADIO_RELEASE)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
find_package(Gruel)
|
||||||
|
if(NOT GRUEL_FOUND)
|
||||||
|
message(FATAL_ERROR "Gruel required to build gnss-sdr")
|
||||||
|
|
||||||
|
endif()
|
||||||
|
link_libraries(gruel)
|
||||||
|
include_directories(${GRUEL_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
find_package(UHD)
|
||||||
|
if(NOT UHD_FOUND)
|
||||||
|
message(FATAL_ERROR "UHD required to build gnss-sdr")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_package(GnuradioUHD)
|
||||||
|
if(NOT GNURADIO_UHD_FOUND)
|
||||||
|
message(FATAL_ERROR "Gnuradio UHD required to build gnss-sdr")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_package(Volk)
|
||||||
|
if(NOT VOLK_FOUND)
|
||||||
|
message(FATAL_ERROR "Volk required to build gnss-sdr")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Boost - http://www.boost.org
|
# Boost - http://www.boost.org
|
||||||
@ -77,18 +144,18 @@ if(UNIX AND EXISTS "/usr/lib64")
|
|||||||
list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
|
list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
|
||||||
endif(UNIX AND EXISTS "/usr/lib64")
|
endif(UNIX AND EXISTS "/usr/lib64")
|
||||||
set(Boost_ADDITIONAL_VERSIONS
|
set(Boost_ADDITIONAL_VERSIONS
|
||||||
|
"1.42.0" "1.42" "1.43.0" "1.43" "1.44.0" "1.44"
|
||||||
"1.45.0" "1.45" "1.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.49.0" "1.49"
|
"1.45.0" "1.45" "1.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.49.0" "1.49"
|
||||||
"1.50.0" "1.50" "1.51.0" "1.51" "1.52.0" "1.52" "1.53.0" "1.53" "1.54.0" "1.54"
|
"1.50.0" "1.50" "1.51.0" "1.51" "1.53.0" "1.53" "1.54.0" "1.54"
|
||||||
"1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59"
|
"1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59"
|
||||||
"1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64"
|
"1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64"
|
||||||
"1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69"
|
"1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69"
|
||||||
)
|
)
|
||||||
set(Boost_MIN_VERSION "1.45.0")
|
|
||||||
set(Boost_USE_MULTITHREAD ON)
|
set(Boost_USE_MULTITHREAD ON)
|
||||||
set(Boost_USE_STATIC_LIBS OFF)
|
set(Boost_USE_STATIC_LIBS OFF)
|
||||||
find_package(Boost ${Boost_MIN_VERSION} COMPONENTS date_time system filesystem thread REQUIRED)
|
find_package(Boost COMPONENTS date_time system filesystem thread REQUIRED)
|
||||||
if(NOT Boost_FOUND)
|
if(NOT Boost_FOUND)
|
||||||
message(FATAL_ERROR "Fatal error: Boost (version >=1.45.0) required.")
|
message(FATAL_ERROR "Fatal error: Boost (version >=1.42.0) required.")
|
||||||
endif(NOT Boost_FOUND)
|
endif(NOT Boost_FOUND)
|
||||||
include_directories(${Boost_INCLUDE_DIRS})
|
include_directories(${Boost_INCLUDE_DIRS})
|
||||||
|
|
||||||
@ -272,40 +339,6 @@ endif(DOXYGEN_FOUND)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# GNURadio - http://gnuradio.org/redmine/projects/gnuradio/wiki
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
find_package(Gruel)
|
|
||||||
if(NOT GRUEL_FOUND)
|
|
||||||
message(FATAL_ERROR "Gruel required to build gnss-sdr")
|
|
||||||
endif()
|
|
||||||
link_libraries(gruel)
|
|
||||||
include_directories(${GRUEL_INCLUDE_DIRS})
|
|
||||||
|
|
||||||
|
|
||||||
find_package(GnuradioCore)
|
|
||||||
if(NOT GNURADIO_CORE_FOUND)
|
|
||||||
message(FATAL_ERROR "GnuRadio Core required to build gnss-sdr")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
find_package(UHD)
|
|
||||||
if(NOT UHD_FOUND)
|
|
||||||
message(FATAL_ERROR "UHD required to build gnss-sdr")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_package(GnuradioUHD)
|
|
||||||
if(NOT GNURADIO_UHD_FOUND)
|
|
||||||
message(FATAL_ERROR "Gnuradio UHD required to build gnss-sdr")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_package(Volk)
|
|
||||||
if(NOT VOLK_FOUND)
|
|
||||||
message(FATAL_ERROR "Volk required to build gnss-sdr")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Armadillo - http://arma.sourceforge.net/
|
# Armadillo - http://arma.sourceforge.net/
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -353,6 +386,10 @@ if(NOT ARMADILLO_FOUND)
|
|||||||
find_library(blas NAMES blas HINTS /usr/lib /usr/local/lib /usr/lib64)
|
find_library(blas NAMES blas HINTS /usr/lib /usr/local/lib /usr/lib64)
|
||||||
set(ARMADILLO_LIBRARIES ${binary_dir}/${CMAKE_FIND_LIBRARY_PREFIXES}armadillo.a ${lapack} ${blas} gfortran)
|
set(ARMADILLO_LIBRARIES ${binary_dir}/${CMAKE_FIND_LIBRARY_PREFIXES}armadillo.a ${lapack} ${blas} gfortran)
|
||||||
set(LOCAL_ARMADILLO true)
|
set(LOCAL_ARMADILLO true)
|
||||||
|
# Save a copy at the thirdparty folder
|
||||||
|
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/armadillo-${armadillo_RELEASE}
|
||||||
|
DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/armadillo
|
||||||
|
)
|
||||||
endif(NOT ARMADILLO_FOUND)
|
endif(NOT ARMADILLO_FOUND)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user