diff options
author | Moritz Fischer <moritz.fischer@ettus.com> | 2015-04-16 16:12:40 -0500 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2015-07-29 18:13:45 -0700 |
commit | 1cac345b5c7b6d576da87dc321af4223d515df51 (patch) | |
tree | 0da09b7bde4e215674c8c31c4b5a0c4830811034 /host/cmake | |
parent | 463fc8985e29d12e2edba25008e7c0def5ce60cd (diff) | |
download | uhd-1cac345b5c7b6d576da87dc321af4223d515df51.tar.gz uhd-1cac345b5c7b6d576da87dc321af4223d515df51.tar.bz2 uhd-1cac345b5c7b6d576da87dc321af4223d515df51.zip |
gps: gpsd: Adding gpsd_iface to interface with gpsd.
The gpsd_iface class might be useful for more than just e3x0,
it therefore belongs into lib/usrp instead of lib/usrp/e300.
A new UHD component is being registered, to cope with the additional
dependency. If libgps is not found, UHD and E300 will be compiled
without GPS support.
This has several consequences:
- The E310 GPSDO should now work transparently over network
- Users can use the GPS through gpsd for other applications
*while* running UHD applications
- We now have a dependency on libgps
We need currently at least version 3.11 (while running 3.14),
on the device. Older versions do work if 3.10 runs on both
sides e.g
Reviewed-by: Martin Braun <martin.braun@ettus.com>
Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
Diffstat (limited to 'host/cmake')
-rw-r--r-- | host/cmake/Modules/FindGPSD.cmake | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/host/cmake/Modules/FindGPSD.cmake b/host/cmake/Modules/FindGPSD.cmake new file mode 100644 index 000000000..0d56a5380 --- /dev/null +++ b/host/cmake/Modules/FindGPSD.cmake @@ -0,0 +1,62 @@ +# +# Copyright 2015 Ettus Research LLC +# +# This program 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 +# (at your option) any later version. +# +# This program 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 this program. If not, see <http://www.gnu.org/licenses/>. +# +# - Find libgps +# Find the Gpsd includes and client library +# This module defines +# LIBGPS_INCLUDE_DIR, where to find gps.h +# LIBGPS_LIBRARIES, the libraries needed by a GPSD client. +# LIBGPS_FOUND, If false, do not try to use GPSD. +# also defined, but not for general use are +# LIBGPS_LIBRARY, where to find the GPSD library. + +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(PC_GPSD "libgps") +PKG_CHECK_MODULES(PC_GPSD_V3_11 "libgps > 3.11") + +IF(PC_GPSD_FOUND AND NOT PC_GPSD_V3_11_FOUND) + MESSAGE(WARNING "GPSD version found is too old") +ENDIF(PC_GPSD_FOUND AND NOT PC_GPSD_V3_11_FOUND) + +IF(PC_GPSD_V3_11_FOUND) + FIND_PATH( + LIBGPS_INCLUDE_DIR + NAMES gps.h + HINTS ${PC_GPSD_INCLUDE_DIR} + ) + + SET( + LIBGPS_NAMES + ${LIBGPS_NAMES} gps + ) + + FIND_LIBRARY( + LIBGPS_LIBRARY + NAMES ${LIBGPS_NAMES} + HINTS ${PC_GPSD_LIBDIR} + ) +ENDIF(PC_GPSD_V3_11_FOUND) + +# handle the QUIETLY and REQUIRED arguments and set LIBGPS_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBGPS DEFAULT_MSG LIBGPS_LIBRARY LIBGPS_INCLUDE_DIR) + +IF(LIBGPS_FOUND) + SET(LIBGPS_LIBRARIES ${LIBGPS_LIBRARY}) +ENDIF(LIBGPS_FOUND) + +MARK_AS_ADVANCED(LIBGPS_LIBRARY LIBGPS_INCLUDE_DIR) |