# GNSS-SDR is a Global Navigation Satellite System software-defined receiver. # This file is part of GNSS-SDR. # # SPDX-FileCopyrightText: 2010-2020 C. Fernandez-Prades cfernandez(at)cttc.es # SPDX-License-Identifier: BSD-3-Clause if(USE_CMAKE_TARGET_SOURCES) add_executable(gnss-sdr) target_sources(gnss-sdr PRIVATE main.cc) else() add_executable(gnss-sdr main.cc) endif() add_library(libusb SHARED IMPORTED) set_target_properties(libusb PROPERTIES IMPORTED_LOCATION /home/android/src/gnuradio-android/toolchain/arm64-v8a/lib/libusb1.0.so) add_library(libcrypto SHARED IMPORTED) set_target_properties(libcrypto PROPERTIES IMPORTED_LOCATION /home/android/src/gnuradio-android/toolchain/arm64-v8a/lib/libcrypto.so.3) add_library(libhackrf SHARED IMPORTED) set_target_properties(libhackrf PROPERTIES IMPORTED_LOCATION /home/android/src/gnuradio-android/toolchain/arm64-v8a/lib/libhackrf.so) add_library(librtlsdr SHARED IMPORTED) set_target_properties(librtlsdr PROPERTIES IMPORTED_LOCATION /home/android/src/gnuradio-android/toolchain/arm64-v8a/lib/librtlsdr.so) target_link_libraries(gnss-sdr PUBLIC libusb libcrypto libhackrf librtlsdr PRIVATE algorithms_libs core_receiver Boost::headers Boost::thread Gflags::gflags Glog::glog Threads::Threads log android ) target_compile_definitions(gnss-sdr PRIVATE -DGNSS_SDR_VERSION="${VERSION}") if(ENABLE_CUDA) if(CMAKE_VERSION VERSION_GREATER 3.11) target_include_directories(gnss-sdr PUBLIC ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES} ) else() target_link_libraries(gnss-sdr PUBLIC ${CUDA_LIBRARIES} ) target_include_directories(gnss-sdr PUBLIC ${CUDA_INCLUDE_DIRS} ) endif() set_target_properties(gnss-sdr PROPERTIES CUDA_SEPARABLE_COMPILATION ON POSITION_INDEPENDENT_CODE ON ) target_compile_definitions(gnss-sdr PRIVATE -DCUDA_GPU_ACCEL=1) endif() if(ENABLE_GPERFTOOLS) if(GPERFTOOLS_FOUND) target_link_libraries(gnss-sdr PRIVATE Gperftools::profiler Gperftools::tcmalloc ) endif() endif() if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") target_link_libraries(gnss-sdr PRIVATE "-lc++") endif() endif() if(ENABLE_STRIP) set_target_properties(gnss-sdr PROPERTIES LINK_FLAGS "-s") endif() if(ENABLE_CLANG_TIDY) if(CLANG_TIDY_EXE) set_target_properties(gnss-sdr PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}" ) endif() endif() add_custom_command(TARGET gnss-sdr POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ ${LOCAL_INSTALL_BASE_DIR}/install/$ ) install(TARGETS gnss-sdr RUNTIME DESTINATION bin COMPONENT "gnss-sdr" ) install(DIRECTORY ${CMAKE_SOURCE_DIR}/conf DESTINATION share/gnss-sdr FILES_MATCHING PATTERN "*.conf" ) install(FILES ${CMAKE_SOURCE_DIR}/conf/gnss-sdr.conf DESTINATION share/gnss-sdr/conf RENAME default.conf ) if(NOT VOLKGNSSSDR_FOUND) install(PROGRAMS ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/build/apps/volk_gnsssdr_profile DESTINATION bin COMPONENT "volk_gnsssdr" ) install(PROGRAMS ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/build/apps/volk_gnsssdr-config-info DESTINATION bin COMPONENT "volk_gnsssdr" ) endif() find_program(GZIP gzip /bin /usr/bin /usr/local/bin /opt/local/bin /sbin ) if(NOT GZIP_NOTFOUND) execute_process(COMMAND gzip -9 -c ${CMAKE_SOURCE_DIR}/docs/manpage/gnss-sdr-manpage WORKING_DIRECTORY ${CMAKE_BINARY_DIR} OUTPUT_FILE "${CMAKE_BINARY_DIR}/gnss-sdr.1.gz" ) install(FILES ${CMAKE_BINARY_DIR}/gnss-sdr.1.gz DESTINATION share/man/man1 ) execute_process(COMMAND gzip -9 -c ${CMAKE_SOURCE_DIR}/docs/CHANGELOG.md WORKING_DIRECTORY ${CMAKE_BINARY_DIR} OUTPUT_FILE "${CMAKE_BINARY_DIR}/changelog.gz" ) install(FILES ${CMAKE_BINARY_DIR}/changelog.gz DESTINATION share/doc/gnss-sdr ) if(NOT VOLKGNSSSDR_FOUND) execute_process(COMMAND gzip -9 -c ${CMAKE_SOURCE_DIR}/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr_profile-manpage WORKING_DIRECTORY ${CMAKE_BINARY_DIR} OUTPUT_FILE "${CMAKE_BINARY_DIR}/volk_gnsssdr_profile.1.gz" ) execute_process(COMMAND gzip -9 -c ${CMAKE_SOURCE_DIR}/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr-config-info-manpage WORKING_DIRECTORY ${CMAKE_BINARY_DIR} OUTPUT_FILE "${CMAKE_BINARY_DIR}/volk_gnsssdr-config-info.1.gz" ) install(FILES ${CMAKE_BINARY_DIR}/volk_gnsssdr_profile.1.gz DESTINATION share/man/man1 ) install(FILES ${CMAKE_BINARY_DIR}/volk_gnsssdr-config-info.1.gz DESTINATION share/man/man1 ) endif() endif()