2015-01-08 18:49:59 +00:00
|
|
|
# Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
2012-12-24 13:29:23 +00:00
|
|
|
#
|
|
|
|
# This file is part of GNSS-SDR.
|
|
|
|
#
|
|
|
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
# the Free Software Foundation, either version 3 of the License, or
|
Improving handling of optional processing blocks and linking libraries.
New options ENABLE_GN3S, ENABLE_RTLSDR, ENABLE_OPENCL, ENABLE_ARRAY and
ENABLE_GPERFTOOLS, all set by default to OFF. Users can enable that
features by 'cmake -DENABLE_XXX=ON ../ '. OpenCL is now not used by
default since it was giving problems in some platforms. Old variables
(RTSDR_DRIVER, GN3S_DRIVER, RAW_ARRAY_DRIVER and DISABLE_OPENCL) are
still honored and can be used in the same way, but the new ENABLE_XXX
are recommended for the sake of more uniform naming. Main CMakeFile.txt
has been rearranged, putting options first, then searching for the
required libraries, and then the optional ones. If Gperftools is enabled
and found, binaries are linked to the tcmalloc and profiler libraries,
and using the adequate flags. Fixed building in Mac OSX if Armadillo and
OpenBLAS were not installed in the system.
2014-08-07 19:04:01 +00:00
|
|
|
# (at your option) any later version.
|
2012-12-24 13:29:23 +00:00
|
|
|
#
|
|
|
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
#
|
|
|
|
|
2017-02-01 18:24:25 +00:00
|
|
|
|
|
|
|
add_subdirectory(unit-tests/signal-processing-blocks/libs)
|
|
|
|
|
2016-11-27 23:18:02 +00:00
|
|
|
################################################################################
|
|
|
|
# Google Test - https://github.com/google/googletest
|
|
|
|
################################################################################
|
2014-05-28 20:02:11 +00:00
|
|
|
if(EXISTS $ENV{GTEST_DIR})
|
|
|
|
set(GTEST_DIR_LOCAL $ENV{GTEST_DIR})
|
|
|
|
endif(EXISTS $ENV{GTEST_DIR})
|
|
|
|
if(GTEST_DIR)
|
|
|
|
set(GTEST_DIR_LOCAL ${GTEST_DIR})
|
|
|
|
endif(GTEST_DIR)
|
2014-04-07 16:20:09 +00:00
|
|
|
if(NOT GTEST_DIR_LOCAL)
|
2014-12-07 19:42:52 +00:00
|
|
|
set(GTEST_DIR_LOCAL false)
|
2014-04-07 16:20:09 +00:00
|
|
|
else()
|
2015-08-24 13:59:49 +00:00
|
|
|
set(GTEST_DIR_LOCAL true)
|
2014-04-07 16:20:09 +00:00
|
|
|
endif(NOT GTEST_DIR_LOCAL)
|
2015-02-15 13:49:17 +00:00
|
|
|
|
2014-12-07 10:16:33 +00:00
|
|
|
if(GTEST_INCLUDE_DIRS)
|
2014-12-07 19:42:52 +00:00
|
|
|
set(GTEST_DIR_LOCAL true)
|
2014-12-07 10:16:33 +00:00
|
|
|
endif(GTEST_INCLUDE_DIRS)
|
2012-12-26 11:19:57 +00:00
|
|
|
|
2016-12-20 20:43:19 +00:00
|
|
|
set(GTEST_COMPILER -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER})
|
|
|
|
set(TOOLCHAIN_ARG "")
|
2017-02-15 21:10:06 +00:00
|
|
|
if(EXISTS $ENV{OECORE_TARGET_SYSROOT})
|
|
|
|
set(GTEST_COMPILER "")
|
|
|
|
set(TOOLCHAIN_ARG "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/Toolchains/oe-sdk_cross.cmake")
|
|
|
|
endif(EXISTS $ENV{OECORE_TARGET_SYSROOT})
|
2016-12-20 20:43:19 +00:00
|
|
|
|
2014-12-07 19:42:52 +00:00
|
|
|
if(NOT ${GTEST_DIR_LOCAL})
|
2012-12-26 11:19:57 +00:00
|
|
|
# if GTEST_DIR is not defined, we download and build it
|
2016-09-23 19:59:00 +00:00
|
|
|
set(gtest_RELEASE 1.8.0)
|
2015-08-24 13:59:49 +00:00
|
|
|
ExternalProject_Add(
|
|
|
|
gtest-${gtest_RELEASE}
|
|
|
|
GIT_REPOSITORY https://github.com/google/googletest
|
|
|
|
GIT_TAG release-${gtest_RELEASE}
|
|
|
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gtest/gtest-${gtest_RELEASE}
|
|
|
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/../../gtest-${gtest_RELEASE}
|
2016-12-20 02:02:43 +00:00
|
|
|
CMAKE_ARGS ${GTEST_COMPILER} -DBUILD_GTEST=ON -DBUILD_GMOCK=OFF ${TOOLCHAIN_ARG}
|
2015-08-24 13:59:49 +00:00
|
|
|
UPDATE_COMMAND ""
|
|
|
|
PATCH_COMMAND ""
|
|
|
|
INSTALL_COMMAND ""
|
|
|
|
)
|
2012-12-26 11:19:57 +00:00
|
|
|
# Set up variables
|
|
|
|
# Set recently downloaded and build Googletest root folder
|
2016-09-23 19:59:00 +00:00
|
|
|
set(GTEST_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gtest/gtest-${gtest_RELEASE}/googletest")
|
2012-12-26 11:19:57 +00:00
|
|
|
# Source code
|
|
|
|
ExternalProject_Get_Property(gtest-${gtest_RELEASE} source_dir)
|
2016-09-23 19:59:00 +00:00
|
|
|
set(GTEST_INCLUDE_DIR ${source_dir}/googletest/include)
|
2012-12-26 11:19:57 +00:00
|
|
|
set(GTEST_INCLUDE_DIRECTORIES ${GTEST_DIR}/include ${GTEST_DIR} ${GTEST_DIR}/src)
|
|
|
|
# Library
|
|
|
|
ExternalProject_Get_Property(gtest-${gtest_RELEASE} binary_dir)
|
2014-10-18 10:39:58 +00:00
|
|
|
if(OS_IS_MACOSX)
|
2013-11-15 17:45:24 +00:00
|
|
|
if(CMAKE_GENERATOR STREQUAL Xcode)
|
|
|
|
set(binary_dir "${binary_dir}/Debug")
|
|
|
|
endif(CMAKE_GENERATOR STREQUAL Xcode)
|
2014-10-18 10:39:58 +00:00
|
|
|
endif(OS_IS_MACOSX)
|
2016-09-23 19:59:00 +00:00
|
|
|
set(GTEST_LIBRARY_PATH "${binary_dir}/googletest/${CMAKE_FIND_LIBRARY_PREFIXES}gtest.a;${binary_dir}/googletest/${CMAKE_FIND_LIBRARY_PREFIXES}gtest_main.a")
|
|
|
|
set(GTEST_LIBRARY gtest-${gtest_RELEASE})
|
|
|
|
set(GTEST_LIBRARIES
|
|
|
|
${binary_dir}/googletest/${CMAKE_FIND_LIBRARY_PREFIXES}gtest.a
|
|
|
|
${binary_dir}/googletest/${CMAKE_FIND_LIBRARY_PREFIXES}gtest_main.a
|
|
|
|
)
|
|
|
|
set(GTEST_LIB_DIR "${CMAKE_CURRENT_BINARY_DIR}/../../gtest-${gtest_RELEASE}/googletest")
|
2014-12-07 19:42:52 +00:00
|
|
|
else(NOT ${GTEST_DIR_LOCAL})
|
2014-12-07 10:16:33 +00:00
|
|
|
if(GTEST_INCLUDE_DIRS)
|
2015-02-15 13:49:17 +00:00
|
|
|
set(GTEST_INCLUDE_DIRECTORIES ${GTEST_INCLUDE_DIRS} ${LIBGTEST_DEV_DIR})
|
|
|
|
add_library(gtest ${LIBGTEST_DEV_DIR}/src/gtest-all.cc ${LIBGTEST_DEV_DIR}/src/gtest_main.cc)
|
2014-12-07 10:16:33 +00:00
|
|
|
set(GTEST_LIBRARIES gtest)
|
|
|
|
else(GTEST_INCLUDE_DIRS)
|
|
|
|
# If the variable GTEST_DIR is defined, we use the existing Googletest
|
|
|
|
set(GTEST_DIR $ENV{GTEST_DIR})
|
|
|
|
set(GTEST_INCLUDE_DIRECTORIES ${GTEST_DIR}/include ${GTEST_DIR} ${GTEST_DIR}/src)
|
|
|
|
add_library(gtest ${GTEST_DIR}/src/gtest-all.cc ${GTEST_DIR}/src/gtest_main.cc)
|
|
|
|
set(GTEST_LIBRARIES gtest)
|
|
|
|
endif(GTEST_INCLUDE_DIRS)
|
2014-12-07 19:42:52 +00:00
|
|
|
endif(NOT ${GTEST_DIR_LOCAL})
|
2013-07-06 02:15:09 +00:00
|
|
|
|
2014-03-15 01:21:17 +00:00
|
|
|
|
2016-11-27 23:18:02 +00:00
|
|
|
|
|
|
|
################################################################################
|
|
|
|
# Optional libraries
|
|
|
|
################################################################################
|
Improving handling of optional processing blocks and linking libraries.
New options ENABLE_GN3S, ENABLE_RTLSDR, ENABLE_OPENCL, ENABLE_ARRAY and
ENABLE_GPERFTOOLS, all set by default to OFF. Users can enable that
features by 'cmake -DENABLE_XXX=ON ../ '. OpenCL is now not used by
default since it was giving problems in some platforms. Old variables
(RTSDR_DRIVER, GN3S_DRIVER, RAW_ARRAY_DRIVER and DISABLE_OPENCL) are
still honored and can be used in the same way, but the new ENABLE_XXX
are recommended for the sake of more uniform naming. Main CMakeFile.txt
has been rearranged, putting options first, then searching for the
required libraries, and then the optional ones. If Gperftools is enabled
and found, binaries are linked to the tcmalloc and profiler libraries,
and using the adequate flags. Fixed building in Mac OSX if Armadillo and
OpenBLAS were not installed in the system.
2014-08-07 19:04:01 +00:00
|
|
|
set(GNSS_SDR_TEST_OPTIONAL_LIBS "")
|
|
|
|
set(GNSS_SDR_TEST_OPTIONAL_HEADERS "")
|
|
|
|
|
2016-06-17 10:48:31 +00:00
|
|
|
if(ENABLE_CUDA)
|
|
|
|
set(GNSS_SDR_TEST_OPTIONAL_HEADERS ${GNSS_SDR_TEST_OPTIONAL_HEADERS} ${CUDA_INCLUDE_DIRS})
|
|
|
|
set(GNSS_SDR_TEST_OPTIONAL_LIBS ${GNSS_SDR_TEST_OPTIONAL_LIBS} ${CUDA_LIBRARIES})
|
|
|
|
endif(ENABLE_CUDA)
|
|
|
|
|
Improving handling of optional processing blocks and linking libraries.
New options ENABLE_GN3S, ENABLE_RTLSDR, ENABLE_OPENCL, ENABLE_ARRAY and
ENABLE_GPERFTOOLS, all set by default to OFF. Users can enable that
features by 'cmake -DENABLE_XXX=ON ../ '. OpenCL is now not used by
default since it was giving problems in some platforms. Old variables
(RTSDR_DRIVER, GN3S_DRIVER, RAW_ARRAY_DRIVER and DISABLE_OPENCL) are
still honored and can be used in the same way, but the new ENABLE_XXX
are recommended for the sake of more uniform naming. Main CMakeFile.txt
has been rearranged, putting options first, then searching for the
required libraries, and then the optional ones. If Gperftools is enabled
and found, binaries are linked to the tcmalloc and profiler libraries,
and using the adequate flags. Fixed building in Mac OSX if Armadillo and
OpenBLAS were not installed in the system.
2014-08-07 19:04:01 +00:00
|
|
|
if(ENABLE_GPERFTOOLS)
|
|
|
|
if(GPERFTOOLS_FOUND)
|
|
|
|
set(GNSS_SDR_TEST_OPTIONAL_LIBS "${GNSS_SDR_TEST_OPTIONAL_LIBS};${GPERFTOOLS_LIBRARIES}")
|
|
|
|
set(GNSS_SDR_TEST_OPTIONAL_HEADERS "${GNSS_SDR_TEST_OPTIONAL_HEADERS};${GPERFTOOLS_INCLUDE_DIR}")
|
|
|
|
endif(GPERFTOOLS_FOUND)
|
|
|
|
endif(ENABLE_GPERFTOOLS)
|
|
|
|
|
2014-12-21 21:46:57 +00:00
|
|
|
if(Boost_VERSION LESS 105000)
|
|
|
|
add_definitions(-DOLD_BOOST=1)
|
|
|
|
endif(Boost_VERSION LESS 105000)
|
2015-10-27 19:18:48 +00:00
|
|
|
|
|
|
|
if(OPENSSL_FOUND)
|
|
|
|
add_definitions( -DUSE_OPENSSL_FALLBACK=1 )
|
|
|
|
endif(OPENSSL_FOUND)
|
2016-09-23 19:59:00 +00:00
|
|
|
|
2016-11-27 23:18:02 +00:00
|
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
|
|
set(CLANG_FLAGS "-stdlib=libc++ -std=c++11 -lc++")
|
|
|
|
endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
|
|
|
|
|
|
if(OPENCL_FOUND)
|
|
|
|
add_definitions(-DOPENCL_BLOCKS_TEST=1)
|
|
|
|
endif(OPENCL_FOUND)
|
|
|
|
|
|
|
|
if (ENABLE_CUDA)
|
|
|
|
add_definitions(-DCUDA_BLOCKS_TEST=1)
|
|
|
|
endif(ENABLE_CUDA)
|
|
|
|
|
2017-02-13 16:20:49 +00:00
|
|
|
if (ENABLE_FPGA)
|
|
|
|
add_definitions(-DFPGA_BLOCKS_TEST=1)
|
|
|
|
endif(ENABLE_FPGA)
|
|
|
|
|
2016-12-20 20:43:19 +00:00
|
|
|
################################################################################
|
|
|
|
# Optional generator
|
|
|
|
################################################################################
|
2017-02-15 21:10:06 +00:00
|
|
|
if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA)
|
|
|
|
if(ENABLE_FPGA)
|
|
|
|
set(CROSS_INSTALL_DIR "-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}")
|
|
|
|
if(EXISTS $ENV{OECORE_TARGET_SYSROOT})
|
|
|
|
set(CROSS_INSTALL_DIR "${CROSS_INSTALL_DIR} -DBOOST_ROOT=$ENV{OECORE_TARGET_SYSROOT}/usr")
|
|
|
|
endif(EXISTS $ENV{OECORE_TARGET_SYSROOT})
|
|
|
|
else(ENABLE_FPGA)
|
|
|
|
set(CROSS_INSTALL_DIR "")
|
|
|
|
endif(ENABLE_FPGA)
|
2016-12-20 20:43:19 +00:00
|
|
|
ExternalProject_Add(
|
|
|
|
gnss-sim
|
|
|
|
GIT_REPOSITORY https://bitbucket.org/jarribas/gnss-simulator
|
|
|
|
GIT_TAG master
|
|
|
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gnss-sim
|
|
|
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/../../gnss-sim
|
2017-02-15 21:10:06 +00:00
|
|
|
CMAKE_ARGS ${GTEST_COMPILER} ${TOOLCHAIN_ARG} ${CROSS_INSTALL_DIR}
|
2016-12-20 20:43:19 +00:00
|
|
|
UPDATE_COMMAND ""
|
|
|
|
PATCH_COMMAND ""
|
|
|
|
INSTALL_COMMAND ""
|
|
|
|
)
|
2017-02-15 21:10:06 +00:00
|
|
|
if(ENABLE_FPGA)
|
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../gnss-sim/gnss_sim DESTINATION bin/gnss_sim)
|
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../../thirdparty/gnss-sim/brdc3540.14n DESTINATION share/gnss-sim/brdc3540.14n)
|
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../../thirdparty/gnss-sim/circle.csv DESTINATION share/gnss-sim/circle.csv)
|
|
|
|
set(SW_GENERATOR_BIN /usr/bin/gnss_sim)
|
|
|
|
add_definitions(-DSW_GENERATOR_BIN="${SW_GENERATOR_BIN}")
|
2017-02-16 17:54:37 +00:00
|
|
|
add_definitions(-DDEFAULT_RINEX_NAV="/usr/share/gnss-sim/brdc3540.14n")
|
|
|
|
add_definitions(-DDEFAULT_POSITION_FILE="/usr/share/gnss-sim/circle.csv")
|
2017-02-15 21:10:06 +00:00
|
|
|
else(ENABLE_FPGA)
|
2017-02-16 18:41:11 +00:00
|
|
|
set(SW_GENERATOR_BIN ${CMAKE_CURRENT_BINARY_DIR}/../../gnss-sim/gnss_sim)
|
|
|
|
add_definitions(-DSW_GENERATOR_BIN="${SW_GENERATOR_BIN}")
|
|
|
|
add_definitions(-DDEFAULT_RINEX_NAV="${CMAKE_CURRENT_BINARY_DIR}/../../../thirdparty/gnss-sim/brdc3540.14n")
|
|
|
|
add_definitions(-DDEFAULT_POSITION_FILE="${CMAKE_CURRENT_BINARY_DIR}/../../../thirdparty/gnss-sim/circle.csv")
|
2017-02-15 21:10:06 +00:00
|
|
|
endif(ENABLE_FPGA)
|
2017-02-01 15:17:58 +00:00
|
|
|
|
2016-12-22 00:35:31 +00:00
|
|
|
################################################################################
|
|
|
|
# Local installation of GPSTk http://www.gpstk.org/
|
|
|
|
################################################################################
|
2016-12-30 13:36:41 +00:00
|
|
|
find_package(GPSTK)
|
|
|
|
if(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK)
|
2017-02-15 21:10:06 +00:00
|
|
|
if(NOT ENABLE_FPGA)
|
|
|
|
set(gpstk_RELEASE "2.9")
|
|
|
|
ExternalProject_Add(
|
|
|
|
gpstk-${gpstk_RELEASE}
|
|
|
|
GIT_REPOSITORY https://github.com/SGL-UT/GPSTk
|
|
|
|
GIT_TAG v${gpstk_RELEASE}
|
|
|
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk-${gpstk_RELEASE}
|
|
|
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/../../gpstk-${gpstk_RELEASE}
|
|
|
|
CMAKE_ARGS ${GTEST_COMPILER} ${TOOLCHAIN_ARG} -DCMAKE_INSTALL_PREFIX=${CMAKE_SOURCE_DIR}/thirdparty/gpstk-${gpstk_RELEASE}/install -DBUILD_EXT=OFF -DBUILD_PYTHON=OFF
|
|
|
|
UPDATE_COMMAND ""
|
|
|
|
PATCH_COMMAND ""
|
|
|
|
)
|
|
|
|
set(GPSTK_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk-${gpstk_RELEASE}/install/include CACHE PATH "Local GPSTK headers")
|
|
|
|
add_library(gpstk UNKNOWN IMPORTED)
|
|
|
|
set_property(TARGET gpstk PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk-${gpstk_RELEASE}/install/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gpstk${CMAKE_SHARED_LIBRARY_SUFFIX})
|
|
|
|
add_dependencies(gpstk gpstk-${gpstk_RELEASE})
|
|
|
|
set(GPSTK_BINDIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk-${gpstk_RELEASE}/install/bin/ )
|
|
|
|
add_definitions(-DGPSTK_BINDIR="${GPSTK_BINDIR}")
|
|
|
|
set(gpstk_libs gpstk)
|
|
|
|
endif(NOT ENABLE_FPGA)
|
2016-12-30 13:36:41 +00:00
|
|
|
else(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK)
|
|
|
|
set(gpstk_libs ${GPSTK_LIBRARIES})
|
|
|
|
set(GPSTK_INCLUDE_DIRS ${GPSTK_INCLUDE_DIR})
|
|
|
|
set(GPSTK_BINDIR ${GPSTK_LIBRARY}/../bin/ )
|
|
|
|
add_definitions(-DGPSTK_BINDIR="${GPSTK_BINDIR}")
|
|
|
|
endif(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK)
|
2017-02-15 21:10:06 +00:00
|
|
|
endif(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA)
|
2016-12-20 20:43:19 +00:00
|
|
|
|
2016-12-30 13:36:41 +00:00
|
|
|
|
2017-01-28 15:49:46 +00:00
|
|
|
if(ENABLE_UNIT_TESTING_EXTRA)
|
|
|
|
add_definitions(-DEXTRA_TESTS)
|
|
|
|
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/thirdparty/signal_samples/gps_l2c_m_prn7_5msps.dat)
|
|
|
|
message(STATUS "Downloading some data files for testing...")
|
|
|
|
file(DOWNLOAD https://sourceforge.net/projects/gnss-sdr/files/data/gps_l2c_m_prn7_5msps.dat ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/signal_samples/gps_l2c_m_prn7_5msps.dat
|
|
|
|
SHOW_PROGRESS
|
|
|
|
EXPECTED_HASH MD5=a6fcbefe155137945d3c33c5ef7bd0f9 )
|
2017-02-16 18:41:11 +00:00
|
|
|
if(ENABLE_FPGA)
|
|
|
|
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/signal_samples/gps_l2c_m_prn7_5msps.dat DESTINATION share/gnss-sdr/signal_samples)
|
|
|
|
endif(ENABLE_FPGA)
|
2017-01-28 15:49:46 +00:00
|
|
|
endif(NOT EXISTS ${CMAKE_SOURCE_DIR}/thirdparty/signal_samples/gps_l2c_m_prn7_5msps.dat)
|
|
|
|
endif(ENABLE_UNIT_TESTING_EXTRA)
|
|
|
|
|
2017-02-16 18:41:11 +00:00
|
|
|
if(ENABLE_FPGA)
|
|
|
|
install(FILES ${CMAKE_SOURCE_DIR}/src/tests/signal_samples/GSoC_CTTC_capture_2012_07_26_4Msps_4ms.dat DESTINATION share/gnss-sdr/signal_samples)
|
|
|
|
install(FILES ${CMAKE_SOURCE_DIR}/src/tests/signal_samples/Galileo_E1_ID_1_Fs_4Msps_8ms.dat DESTINATION share/gnss-sdr/signal_samples)
|
|
|
|
install(FILES ${CMAKE_SOURCE_DIR}/src/tests/signal_samples/GPS_L1_CA_ID_1_Fs_4Msps_2ms.dat DESTINATION share/gnss-sdr/signal_samples)
|
|
|
|
add_definitions(-DTEST_PATH="${CMAKE_INSTALL_PREFIX}/share/gnss-sdr/")
|
|
|
|
else(ENABLE_FPGA)
|
|
|
|
file(COPY ${CMAKE_SOURCE_DIR}/src/tests/signal_samples/GSoC_CTTC_capture_2012_07_26_4Msps_4ms.dat DESTINATION ${CMAKE_SOURCE_DIR}/thirdparty/signal_samples)
|
|
|
|
file(COPY ${CMAKE_SOURCE_DIR}/src/tests/signal_samples/Galileo_E1_ID_1_Fs_4Msps_8ms.dat DESTINATION ${CMAKE_SOURCE_DIR}/thirdparty/signal_samples)
|
|
|
|
file(COPY ${CMAKE_SOURCE_DIR}/src/tests/signal_samples/GPS_L1_CA_ID_1_Fs_4Msps_2ms.dat DESTINATION ${CMAKE_SOURCE_DIR}/thirdparty/signal_samples)
|
|
|
|
add_definitions(-DTEST_PATH="${CMAKE_SOURCE_DIR}/thirdparty/")
|
|
|
|
endif(ENABLE_FPGA)
|
2016-11-27 23:18:02 +00:00
|
|
|
|
2012-12-26 11:19:57 +00:00
|
|
|
include_directories(
|
|
|
|
${GTEST_INCLUDE_DIRECTORIES}
|
|
|
|
${CMAKE_SOURCE_DIR}/src/core/system_parameters
|
|
|
|
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
|
|
|
${CMAKE_SOURCE_DIR}/src/core/receiver
|
2016-09-23 19:59:00 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/core/libs
|
2013-03-15 18:05:37 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/core/libs/supl
|
|
|
|
${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-rrlp
|
2013-07-04 13:47:40 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-supl
|
2012-12-26 11:19:57 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
2015-02-06 00:09:53 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/data_type_adapter/adapters
|
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/data_type_adapter/gnuradio_blocks
|
2012-12-26 11:19:57 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/resampler/gnuradio_blocks
|
2013-02-17 09:54:41 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/channel/adapters
|
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/channel/libs
|
2012-12-26 11:19:57 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/tracking/libs
|
2013-02-17 09:54:41 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/tracking/adapters
|
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/tracking/gnuradio_blocks
|
2014-09-05 16:51:08 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/adapters
|
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/gnuradio_blocks
|
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/libs
|
2012-12-26 11:19:57 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/adapters
|
2015-10-01 19:55:33 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/gnuradio_blocks
|
2013-08-28 17:17:57 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/signal_generator/adapters
|
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/signal_generator/gnuradio_blocks
|
2012-12-26 11:19:57 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/input_filter/adapters
|
2015-02-02 23:58:21 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/input_filter/gnuradio_blocks
|
2012-12-26 11:19:57 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/adapters
|
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/gnuradio_blocks
|
2014-03-28 17:52:51 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs
|
2017-02-01 18:24:25 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/tests/unit-tests/signal-processing-blocks/libs
|
2017-02-02 19:07:36 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/tests/common-files
|
2012-12-26 11:19:57 +00:00
|
|
|
${GLOG_INCLUDE_DIRS}
|
|
|
|
${GFlags_INCLUDE_DIRS}
|
2013-10-18 18:26:06 +00:00
|
|
|
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
2012-12-26 11:19:57 +00:00
|
|
|
${Boost_INCLUDE_DIRS}
|
2014-03-23 09:45:03 +00:00
|
|
|
${ARMADILLO_INCLUDE_DIRS}
|
2014-03-28 17:52:51 +00:00
|
|
|
${VOLK_INCLUDE_DIRS}
|
2014-11-07 17:23:59 +00:00
|
|
|
${VOLK_GNSSSDR_INCLUDE_DIRS}
|
Improving handling of optional processing blocks and linking libraries.
New options ENABLE_GN3S, ENABLE_RTLSDR, ENABLE_OPENCL, ENABLE_ARRAY and
ENABLE_GPERFTOOLS, all set by default to OFF. Users can enable that
features by 'cmake -DENABLE_XXX=ON ../ '. OpenCL is now not used by
default since it was giving problems in some platforms. Old variables
(RTSDR_DRIVER, GN3S_DRIVER, RAW_ARRAY_DRIVER and DISABLE_OPENCL) are
still honored and can be used in the same way, but the new ENABLE_XXX
are recommended for the sake of more uniform naming. Main CMakeFile.txt
has been rearranged, putting options first, then searching for the
required libraries, and then the optional ones. If Gperftools is enabled
and found, binaries are linked to the tcmalloc and profiler libraries,
and using the adequate flags. Fixed building in Mac OSX if Armadillo and
OpenBLAS were not installed in the system.
2014-08-07 19:04:01 +00:00
|
|
|
${GNSS_SDR_TEST_OPTIONAL_HEADERS}
|
2015-02-15 13:49:17 +00:00
|
|
|
${GNSS_SDR_TEST_OPTIONAL_HEADERS}
|
2012-12-26 11:19:57 +00:00
|
|
|
)
|
|
|
|
|
2013-11-13 21:07:33 +00:00
|
|
|
|
2014-03-23 09:45:03 +00:00
|
|
|
|
2016-11-27 23:18:02 +00:00
|
|
|
################################################################################
|
|
|
|
# Unit testing
|
|
|
|
################################################################################
|
2016-10-01 23:59:12 +00:00
|
|
|
if(ENABLE_UNIT_TESTING)
|
2017-02-03 11:04:15 +00:00
|
|
|
if( ${ARMADILLO_VERSION_STRING} STRGREATER "5.300") # make sure interp1 is present
|
|
|
|
add_definitions(-DMODERN_ARMADILLO)
|
2017-02-15 21:10:06 +00:00
|
|
|
endif( ${ARMADILLO_VERSION_STRING} STRGREATER "5.300")
|
2016-10-01 23:59:12 +00:00
|
|
|
add_executable(run_tests ${CMAKE_CURRENT_SOURCE_DIR}/test_main.cc)
|
2014-03-23 09:45:03 +00:00
|
|
|
|
2016-10-01 23:59:12 +00:00
|
|
|
add_custom_command(TARGET run_tests POST_BUILD
|
2016-11-27 23:18:02 +00:00
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:run_tests>
|
2014-11-04 20:28:01 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:run_tests>)
|
|
|
|
|
2016-10-01 23:59:12 +00:00
|
|
|
target_link_libraries(run_tests ${CLANG_FLAGS}
|
2016-09-23 19:59:00 +00:00
|
|
|
${Boost_LIBRARIES}
|
2016-10-27 06:23:25 +00:00
|
|
|
${GFlags_LIBS}
|
2016-09-23 19:59:00 +00:00
|
|
|
${GLOG_LIBRARIES}
|
|
|
|
${GTEST_LIBRARIES}
|
|
|
|
${GNURADIO_RUNTIME_LIBRARIES}
|
|
|
|
${GNURADIO_BLOCKS_LIBRARIES}
|
|
|
|
${GNURADIO_FILTER_LIBRARIES}
|
|
|
|
${GNURADIO_ANALOG_LIBRARIES}
|
2014-03-23 09:45:03 +00:00
|
|
|
${ARMADILLO_LIBRARIES}
|
2014-03-28 17:52:51 +00:00
|
|
|
${VOLK_LIBRARIES}
|
2016-04-21 16:54:08 +00:00
|
|
|
channel_fsm
|
2016-09-23 19:59:00 +00:00
|
|
|
gnss_sp_libs
|
2015-07-16 12:55:52 +00:00
|
|
|
gnss_rx
|
2016-09-23 19:59:00 +00:00
|
|
|
gnss_system_parameters
|
2013-11-13 21:07:33 +00:00
|
|
|
signal_generator_blocks
|
2013-11-15 17:45:24 +00:00
|
|
|
signal_generator_adapters
|
2014-03-15 01:21:17 +00:00
|
|
|
pvt_gr_blocks
|
2017-02-05 19:07:34 +00:00
|
|
|
signal_processing_testing_lib
|
2016-10-27 06:23:25 +00:00
|
|
|
${VOLK_GNSSSDR_LIBRARIES}
|
Improving handling of optional processing blocks and linking libraries.
New options ENABLE_GN3S, ENABLE_RTLSDR, ENABLE_OPENCL, ENABLE_ARRAY and
ENABLE_GPERFTOOLS, all set by default to OFF. Users can enable that
features by 'cmake -DENABLE_XXX=ON ../ '. OpenCL is now not used by
default since it was giving problems in some platforms. Old variables
(RTSDR_DRIVER, GN3S_DRIVER, RAW_ARRAY_DRIVER and DISABLE_OPENCL) are
still honored and can be used in the same way, but the new ENABLE_XXX
are recommended for the sake of more uniform naming. Main CMakeFile.txt
has been rearranged, putting options first, then searching for the
required libraries, and then the optional ones. If Gperftools is enabled
and found, binaries are linked to the tcmalloc and profiler libraries,
and using the adequate flags. Fixed building in Mac OSX if Armadillo and
OpenBLAS were not installed in the system.
2014-08-07 19:04:01 +00:00
|
|
|
${GNSS_SDR_TEST_OPTIONAL_LIBS}
|
2016-10-01 23:59:12 +00:00
|
|
|
)
|
2016-11-27 12:44:43 +00:00
|
|
|
if(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(run_tests gtest-${gtest_RELEASE})
|
|
|
|
endif(NOT ${GTEST_DIR_LOCAL})
|
2017-02-16 18:41:11 +00:00
|
|
|
if(ENABLE_FPGA)
|
|
|
|
install(TARGETS run_tests RUNTIME DESTINATION bin COMPONENT "run_tests")
|
|
|
|
endif(ENABLE_FPGA)
|
2016-10-01 23:59:12 +00:00
|
|
|
endif(ENABLE_UNIT_TESTING)
|
2012-12-28 15:40:03 +00:00
|
|
|
|
2017-02-15 21:10:06 +00:00
|
|
|
if(ENABLE_FPGA)
|
|
|
|
add_executable(gps_l1_ca_dll_pll_tracking_test_fpga
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/tracking/gps_l1_ca_dll_pll_tracking_test_fpga.cc )
|
|
|
|
target_link_libraries(gps_l1_ca_dll_pll_tracking_test_fpga
|
|
|
|
${Boost_LIBRARIES}
|
|
|
|
${GFlags_LIBS}
|
|
|
|
${GLOG_LIBRARIES}
|
|
|
|
${GTEST_LIBRARIES}
|
|
|
|
${GNURADIO_RUNTIME_LIBRARIES}
|
|
|
|
${GNURADIO_BLOCKS_LIBRARIES}
|
|
|
|
${ARMADILLO_LIBRARIES}
|
|
|
|
${VOLK_LIBRARIES}
|
|
|
|
channel_fsm
|
|
|
|
gnss_sp_libs
|
|
|
|
gnss_rx
|
|
|
|
gnss_system_parameters
|
|
|
|
signal_processing_testing_lib
|
|
|
|
)
|
|
|
|
install(TARGETS gps_l1_ca_dll_pll_tracking_test_fpga
|
|
|
|
RUNTIME DESTINATION bin
|
|
|
|
COMPONENT "fpga-test"
|
|
|
|
)
|
|
|
|
endif(ENABLE_FPGA)
|
|
|
|
|
2016-11-27 23:18:02 +00:00
|
|
|
|
|
|
|
|
2012-12-28 15:40:03 +00:00
|
|
|
#########################################################
|
|
|
|
# Adding Tests to Ctest
|
|
|
|
#########################################################
|
2014-12-19 22:19:50 +00:00
|
|
|
set(CMAKE_CTEST_COMMAND ctest -V)
|
|
|
|
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND})
|
|
|
|
|
2014-12-24 10:26:36 +00:00
|
|
|
add_executable(control_thread_test
|
2016-09-23 19:59:00 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
|
2016-09-29 10:26:48 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/control-plane/control_message_factory_test.cc
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/control-plane/control_thread_test.cc
|
2012-12-28 15:40:03 +00:00
|
|
|
)
|
2014-12-24 10:26:36 +00:00
|
|
|
if(NOT ${ENABLE_PACKAGING})
|
|
|
|
set_property(TARGET control_thread_test PROPERTY EXCLUDE_FROM_ALL TRUE)
|
|
|
|
endif(NOT ${ENABLE_PACKAGING})
|
2014-11-04 20:28:01 +00:00
|
|
|
|
2016-09-23 19:59:00 +00:00
|
|
|
target_link_libraries(control_thread_test ${Boost_LIBRARIES}
|
2016-10-27 06:23:25 +00:00
|
|
|
${GFlags_LIBS}
|
2016-09-23 19:59:00 +00:00
|
|
|
${GLOG_LIBRARIES}
|
|
|
|
${GTEST_LIBRARIES}
|
2015-07-16 13:46:01 +00:00
|
|
|
gnss_sp_libs
|
|
|
|
gnss_system_parameters
|
2013-11-13 21:07:33 +00:00
|
|
|
gnss_rx
|
2016-10-27 06:23:25 +00:00
|
|
|
${VOLK_GNSSSDR_LIBRARIES}
|
2013-11-13 21:07:33 +00:00
|
|
|
)
|
2016-09-23 19:59:00 +00:00
|
|
|
|
2013-08-28 17:17:57 +00:00
|
|
|
add_test(control_thread_test control_thread_test)
|
2014-12-24 10:26:36 +00:00
|
|
|
if(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(control_thread_test gtest-${gtest_RELEASE})
|
|
|
|
else(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(control_thread_test gtest)
|
2016-09-23 19:59:00 +00:00
|
|
|
endif(NOT ${GTEST_DIR_LOCAL})
|
2015-01-08 18:49:59 +00:00
|
|
|
set_property(TEST control_thread_test PROPERTY TIMEOUT 30)
|
2012-12-26 11:19:57 +00:00
|
|
|
|
2016-09-23 19:59:00 +00:00
|
|
|
add_executable(flowgraph_test
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
|
2016-09-29 10:26:48 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/control-plane/gnss_flowgraph_test.cc
|
2014-12-21 21:46:57 +00:00
|
|
|
)
|
2014-12-24 10:26:36 +00:00
|
|
|
if(NOT ${ENABLE_PACKAGING})
|
|
|
|
set_property(TARGET flowgraph_test PROPERTY EXCLUDE_FROM_ALL TRUE)
|
|
|
|
endif(NOT ${ENABLE_PACKAGING})
|
2014-12-21 21:46:57 +00:00
|
|
|
|
2016-09-23 19:59:00 +00:00
|
|
|
target_link_libraries(flowgraph_test ${Boost_LIBRARIES}
|
2016-10-27 06:23:25 +00:00
|
|
|
${GFlags_LIBS}
|
2016-09-23 19:59:00 +00:00
|
|
|
${GLOG_LIBRARIES}
|
|
|
|
${GTEST_LIBRARIES}
|
|
|
|
gnss_sp_libs
|
2014-12-21 21:46:57 +00:00
|
|
|
gnss_rx
|
2015-07-16 13:46:01 +00:00
|
|
|
gnss_system_parameters
|
2016-10-27 06:23:25 +00:00
|
|
|
${VOLK_GNSSSDR_LIBRARIES}
|
2014-12-21 21:46:57 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
add_test(flowgraph_test flowgraph_test)
|
2014-12-24 10:26:36 +00:00
|
|
|
if(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(flowgraph_test gtest-${gtest_RELEASE})
|
|
|
|
else(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(flowgraph_test gtest)
|
2016-09-23 19:59:00 +00:00
|
|
|
endif(NOT ${GTEST_DIR_LOCAL})
|
2015-01-08 18:49:59 +00:00
|
|
|
set_property(TEST flowgraph_test PROPERTY TIMEOUT 30)
|
2014-12-19 22:19:50 +00:00
|
|
|
|
2014-12-24 10:26:36 +00:00
|
|
|
add_executable(gnss_block_test
|
2016-09-23 19:59:00 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
|
2016-10-10 17:36:41 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/sources/file_signal_source_test.cc
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/filter/fir_filter_test.cc
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/adapter/pass_through_test.cc
|
2016-09-29 10:26:48 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/control-plane/gnss_block_factory_test.cc
|
2012-12-28 15:40:03 +00:00
|
|
|
)
|
2014-12-24 10:26:36 +00:00
|
|
|
if(NOT ${ENABLE_PACKAGING})
|
|
|
|
set_property(TARGET gnss_block_test PROPERTY EXCLUDE_FROM_ALL TRUE)
|
|
|
|
endif(NOT ${ENABLE_PACKAGING})
|
|
|
|
|
2013-11-13 21:07:33 +00:00
|
|
|
target_link_libraries(gnss_block_test ${Boost_LIBRARIES}
|
2016-10-27 06:23:25 +00:00
|
|
|
${GFlags_LIBS}
|
2016-09-23 19:59:00 +00:00
|
|
|
${GLOG_LIBRARIES}
|
2014-12-19 22:19:50 +00:00
|
|
|
${GTEST_LIBRARIES}
|
2016-09-23 19:59:00 +00:00
|
|
|
${GNURADIO_RUNTIME_LIBRARIES}
|
|
|
|
${GNURADIO_BLOCKS_LIBRARIES}
|
|
|
|
${GNURADIO_FILTER_LIBRARIES}
|
|
|
|
${GNURADIO_ANALOG_LIBRARIES}
|
|
|
|
gnss_sp_libs
|
2014-12-19 22:19:50 +00:00
|
|
|
gnss_rx
|
|
|
|
gnss_system_parameters
|
2014-12-21 21:46:57 +00:00
|
|
|
# signal_generator_blocks
|
2016-10-27 06:23:25 +00:00
|
|
|
${VOLK_GNSSSDR_LIBRARIES}
|
2013-11-13 21:07:33 +00:00
|
|
|
)
|
2015-10-01 19:55:33 +00:00
|
|
|
|
2013-08-28 17:17:57 +00:00
|
|
|
add_test(gnss_block_test gnss_block_test)
|
2014-12-24 10:26:36 +00:00
|
|
|
if(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(gnss_block_test gtest-${gtest_RELEASE})
|
|
|
|
else(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(gnss_block_test gtest)
|
2016-09-23 19:59:00 +00:00
|
|
|
endif(NOT ${GTEST_DIR_LOCAL})
|
2014-12-21 21:46:57 +00:00
|
|
|
|
2015-10-01 19:55:33 +00:00
|
|
|
add_executable(gnuradio_block_test
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
|
2016-10-10 17:36:41 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/sources/unpack_2bit_samples_test.cc
|
2015-10-01 19:55:33 +00:00
|
|
|
)
|
|
|
|
if(NOT ${ENABLE_PACKAGING})
|
|
|
|
set_property(TARGET gnuradio_block_test PROPERTY EXCLUDE_FROM_ALL TRUE)
|
|
|
|
endif(NOT ${ENABLE_PACKAGING})
|
|
|
|
|
|
|
|
target_link_libraries(gnuradio_block_test ${Boost_LIBRARIES}
|
2016-10-27 06:23:25 +00:00
|
|
|
${GFlags_LIBS}
|
2015-10-01 19:55:33 +00:00
|
|
|
${GLOG_LIBRARIES}
|
|
|
|
${GTEST_LIBRARIES}
|
|
|
|
${GNURADIO_RUNTIME_LIBRARIES}
|
|
|
|
${GNURADIO_BLOCKS_LIBRARIES}
|
|
|
|
${GNURADIO_FILTER_LIBRARIES}
|
|
|
|
${GNURADIO_ANALOG_LIBRARIES}
|
|
|
|
gnss_sp_libs
|
|
|
|
gnss_rx
|
|
|
|
gnss_system_parameters
|
|
|
|
# signal_generator_blocks
|
2016-10-27 06:23:25 +00:00
|
|
|
${VOLK_GNSSSDR_LIBRARIES}
|
2015-10-01 19:55:33 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
add_test(gnuradio_block_test gnuradio_block_test)
|
|
|
|
if(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(gnuradio_block_test gtest-${gtest_RELEASE})
|
|
|
|
else(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(gnuradio_block_test gtest)
|
|
|
|
endif(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
|
2014-12-24 10:26:36 +00:00
|
|
|
# add_executable(acq_test ${EXCLUDE}
|
2016-09-23 19:59:00 +00:00
|
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
|
2014-12-21 21:46:57 +00:00
|
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/gnss_block/gps_l1_ca_pcps_acquisition_test.cc
|
|
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/gnss_block/galileo_e1_pcps_ambiguous_acquisition_test.cc
|
|
|
|
# )
|
|
|
|
# target_link_libraries(acq_test ${Boost_LIBRARIES}
|
2016-10-27 06:23:25 +00:00
|
|
|
# ${GFlags_LIBS}
|
2016-09-23 19:59:00 +00:00
|
|
|
# ${GLOG_LIBRARIES}
|
2014-12-21 21:46:57 +00:00
|
|
|
# ${GTEST_LIBRARIES}
|
2016-09-23 19:59:00 +00:00
|
|
|
# ${GNURADIO_RUNTIME_LIBRARIES}
|
|
|
|
# ${GNURADIO_BLOCKS_LIBRARIES}
|
|
|
|
# ${GNURADIO_FILTER_LIBRARIES}
|
|
|
|
# ${GNURADIO_ANALOG_LIBRARIES}
|
|
|
|
# gnss_sp_libs
|
2014-12-21 21:46:57 +00:00
|
|
|
# gnss_rx
|
|
|
|
# gnss_system_parameters
|
|
|
|
# signal_generator_blocks
|
2016-10-27 06:23:25 +00:00
|
|
|
# ${VOLK_GNSSSDR_LIBRARIES}
|
2016-09-23 19:59:00 +00:00
|
|
|
# )
|
2014-12-21 21:46:57 +00:00
|
|
|
# add_test(acq_test acq_test)
|
|
|
|
|
2014-12-24 10:26:36 +00:00
|
|
|
add_executable(trk_test
|
2016-11-27 23:18:02 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/tracking/galileo_e1_dll_pll_veml_tracking_test.cc
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/tracking/tracking_loop_filter_test.cc
|
|
|
|
)
|
|
|
|
|
2014-12-24 10:26:36 +00:00
|
|
|
if(NOT ${ENABLE_PACKAGING})
|
2016-11-27 23:18:02 +00:00
|
|
|
set_property(TARGET trk_test PROPERTY EXCLUDE_FROM_ALL TRUE)
|
2014-12-24 10:26:36 +00:00
|
|
|
endif(NOT ${ENABLE_PACKAGING})
|
|
|
|
|
2014-12-21 21:46:57 +00:00
|
|
|
target_link_libraries(trk_test ${Boost_LIBRARIES}
|
2016-10-27 06:23:25 +00:00
|
|
|
${GFlags_LIBS}
|
2016-09-23 19:59:00 +00:00
|
|
|
${GLOG_LIBRARIES}
|
2014-12-21 21:46:57 +00:00
|
|
|
${GTEST_LIBRARIES}
|
2016-09-23 19:59:00 +00:00
|
|
|
${GNURADIO_RUNTIME_LIBRARIES}
|
|
|
|
${GNURADIO_BLOCKS_LIBRARIES}
|
|
|
|
${GNURADIO_FILTER_LIBRARIES}
|
|
|
|
${GNURADIO_ANALOG_LIBRARIES}
|
|
|
|
gnss_sp_libs
|
2014-12-21 21:46:57 +00:00
|
|
|
gnss_rx
|
|
|
|
gnss_system_parameters
|
|
|
|
signal_generator_blocks
|
2016-10-27 06:23:25 +00:00
|
|
|
${VOLK_GNSSSDR_LIBRARIES}
|
2014-12-21 21:46:57 +00:00
|
|
|
)
|
|
|
|
add_test(trk_test trk_test)
|
2014-12-24 10:26:36 +00:00
|
|
|
if(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(trk_test gtest-${gtest_RELEASE})
|
|
|
|
else(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(trk_test gtest)
|
2016-09-23 19:59:00 +00:00
|
|
|
endif(NOT ${GTEST_DIR_LOCAL})
|
2014-12-21 21:46:57 +00:00
|
|
|
|
2016-09-23 19:59:00 +00:00
|
|
|
add_dependencies(check control_thread_test flowgraph_test gnss_block_test
|
2016-11-27 23:18:02 +00:00
|
|
|
gnuradio_block_test trk_test)
|
|
|
|
|
2016-09-29 16:31:22 +00:00
|
|
|
|
|
|
|
|
2016-11-27 23:18:02 +00:00
|
|
|
################################################################################
|
|
|
|
# System testing
|
|
|
|
################################################################################
|
2016-10-01 23:59:12 +00:00
|
|
|
if(ENABLE_SYSTEM_TESTING)
|
2016-10-02 19:14:58 +00:00
|
|
|
set(HOST_SYSTEM "Unknown")
|
|
|
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
2016-10-02 21:32:45 +00:00
|
|
|
set(HOST_SYSTEM "GNU/Linux ${LINUX_DISTRIBUTION} ${LINUX_VER} ${ARCH_}")
|
2016-10-02 19:14:58 +00:00
|
|
|
endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
|
|
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|
|
|
set(HOST_SYSTEM "MacOS")
|
|
|
|
endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|
|
|
add_definitions(-DHOST_SYSTEM="${HOST_SYSTEM}")
|
2016-10-01 23:59:12 +00:00
|
|
|
add_executable(ttff
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/system-tests/ttff_gps_l1.cc )
|
|
|
|
if(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(ttff gtest-${gtest_RELEASE})
|
|
|
|
else(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(ttff gtest)
|
|
|
|
endif(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
target_link_libraries(ttff
|
|
|
|
${Boost_LIBRARIES}
|
2016-10-27 06:23:25 +00:00
|
|
|
${GFlags_LIBS}
|
2016-10-01 23:59:12 +00:00
|
|
|
${GLOG_LIBRARIES}
|
|
|
|
${GTEST_LIBRARIES}
|
|
|
|
${GNURADIO_RUNTIME_LIBRARIES}
|
|
|
|
${GNURADIO_BLOCKS_LIBRARIES}
|
|
|
|
${GNURADIO_FILTER_LIBRARIES}
|
|
|
|
${GNURADIO_ANALOG_LIBRARIES}
|
2016-10-27 06:23:25 +00:00
|
|
|
${VOLK_GNSSSDR_LIBRARIES}
|
2016-10-01 23:59:12 +00:00
|
|
|
gnss_sp_libs
|
|
|
|
gnss_rx
|
|
|
|
gnss_system_parameters
|
|
|
|
)
|
|
|
|
add_custom_command(TARGET ttff POST_BUILD
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:ttff>
|
|
|
|
${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:ttff>
|
|
|
|
)
|
2016-12-20 20:43:19 +00:00
|
|
|
|
2017-01-10 17:57:38 +00:00
|
|
|
if(ENABLE_SYSTEM_TESTING_EXTRA)
|
2017-02-02 19:07:36 +00:00
|
|
|
add_executable(obs_gps_l1_system_test ${CMAKE_CURRENT_SOURCE_DIR}/system-tests/obs_gps_l1_system_test.cc)
|
2016-12-30 13:36:41 +00:00
|
|
|
if(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(obs_gps_l1_system_test gtest-${gtest_RELEASE} )
|
|
|
|
else(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
add_dependencies(obs_gps_l1_system_test gtest)
|
|
|
|
endif(NOT ${GTEST_DIR_LOCAL})
|
|
|
|
include_directories(${GPSTK_INCLUDE_DIRS})
|
|
|
|
target_link_libraries(obs_gps_l1_system_test ${GFlags_LIBS}
|
|
|
|
${GLOG_LIBRARIES}
|
|
|
|
${GTEST_LIBRARIES}
|
|
|
|
gnss_sp_libs
|
|
|
|
gnss_rx
|
|
|
|
${gpstk_libs})
|
|
|
|
add_custom_command(TARGET obs_gps_l1_system_test POST_BUILD
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:obs_gps_l1_system_test>
|
|
|
|
${CMAKE_SOURCE_DIR}/install/$<TARGET_FILE_NAME:obs_gps_l1_system_test>
|
|
|
|
)
|
2017-01-10 17:57:38 +00:00
|
|
|
endif(ENABLE_SYSTEM_TESTING_EXTRA)
|
2016-11-27 23:18:02 +00:00
|
|
|
endif(ENABLE_SYSTEM_TESTING)
|