mirror of https://github.com/gnss-sdr/gnss-sdr
Compare commits
4 Commits
7e79945529
...
f1fb4abec0
Author | SHA1 | Date |
---|---|---|
Carles Fernandez | f1fb4abec0 | |
Carles Fernandez | fd5174e7ec | |
Carles Fernandez | fc695cb6f6 | |
Carles Fernandez | 6fc04b34f2 |
|
@ -16,7 +16,7 @@ endif()
|
|||
# Build type can still be overridden by setting -DCMAKE_BUILD_TYPE=
|
||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "")
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.12...3.28)
|
||||
cmake_minimum_required(VERSION 2.8.12...3.29)
|
||||
project(gnss-sdr CXX C)
|
||||
|
||||
set(GNSSSDR_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) # Allows to be a sub-project
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2024 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
if(DEFINED __INCLUDED_XCODE_REMOVE_WARNING_DUPLICATES_CMAKE)
|
||||
return()
|
||||
endif()
|
||||
set(__INCLUDED_XCODE_REMOVE_WARNING_DUPLICATES_CMAKE TRUE)
|
||||
|
||||
function(xcode_remove_warning_duplicates target)
|
||||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "15.0.0")
|
||||
# A bug in Xcode 15 adds duplicate flags to the linker. In addition, the
|
||||
# `-warn_duplicate_libraries` is now enabled by default which may result
|
||||
# in several 'duplicate libraries warning'.
|
||||
# - https://gitlab.kitware.com/cmake/cmake/-/issues/25297 and
|
||||
# - https://indiestack.com/2023/10/xcode-15-duplicate-library-linker-warnings/
|
||||
target_link_options(${target} PUBLIC "LINKER:-no_warn_duplicate_libraries")
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
|
@ -8,7 +8,7 @@
|
|||
########################################################################
|
||||
# Project setup
|
||||
########################################################################
|
||||
cmake_minimum_required(VERSION 2.8.12...3.28)
|
||||
cmake_minimum_required(VERSION 2.8.12...3.29)
|
||||
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "Choose build type: None Debug Release RelWithDebInfo MinSizeRel")
|
||||
project(volk_gnsssdr)
|
||||
enable_language(CXX)
|
||||
|
|
|
@ -77,6 +77,9 @@ if(UNIX)
|
|||
)
|
||||
endif()
|
||||
|
||||
include(XcodeRemoveWarningDuplicates)
|
||||
xcode_remove_warning_duplicates(volk_gnsssdr_profile)
|
||||
|
||||
if(ENABLE_STRIP)
|
||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND NOT WIN32)
|
||||
set_target_properties(volk_gnsssdr_profile
|
||||
|
@ -106,6 +109,8 @@ if(UNIX)
|
|||
)
|
||||
endif()
|
||||
|
||||
xcode_remove_warning_duplicates(volk_gnsssdr-config-info)
|
||||
|
||||
if(ENABLE_STRIP)
|
||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND NOT WIN32)
|
||||
set_target_properties(volk_gnsssdr-config-info
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2024 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
if(DEFINED __INCLUDED_XCODE_REMOVE_WARNING_DUPLICATES_CMAKE)
|
||||
return()
|
||||
endif()
|
||||
set(__INCLUDED_XCODE_REMOVE_WARNING_DUPLICATES_CMAKE TRUE)
|
||||
|
||||
function(xcode_remove_warning_duplicates target)
|
||||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "15.0.0")
|
||||
# A bug in Xcode 15 adds duplicate flags to the linker. In addition, the
|
||||
# `-warn_duplicate_libraries` is now enabled by default which may result
|
||||
# in several 'duplicate libraries warning'.
|
||||
# - https://gitlab.kitware.com/cmake/cmake/-/issues/25297 and
|
||||
# - https://indiestack.com/2023/10/xcode-15-duplicate-library-linker-warnings/
|
||||
target_link_options(${target} PUBLIC "LINKER:-no_warn_duplicate_libraries")
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
|
@ -4,6 +4,7 @@
|
|||
# SPDX-FileCopyrightText: 2010-2021 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
include(XcodeRemoveWarningDuplicates)
|
||||
|
||||
########################################################################
|
||||
# header file detection
|
||||
|
@ -595,6 +596,9 @@ if(NOT (ENABLE_STATIC_LIBS AND (CMAKE_GENERATOR STREQUAL Xcode)))
|
|||
else()
|
||||
target_link_libraries(volk_gnsssdr PUBLIC ${volk_gnsssdr_libraries})
|
||||
endif()
|
||||
|
||||
xcode_remove_warning_duplicates(volk_gnsssdr)
|
||||
|
||||
target_include_directories(volk_gnsssdr
|
||||
PUBLIC $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>
|
||||
PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
|
||||
|
@ -676,6 +680,8 @@ if(ENABLE_STATIC_LIBS)
|
|||
)
|
||||
set_target_properties(volk_gnsssdr_static PROPERTIES OUTPUT_NAME volk_gnsssdr)
|
||||
|
||||
xcode_remove_warning_duplicates(volk_gnsssdr_static)
|
||||
|
||||
install(TARGETS volk_gnsssdr_static
|
||||
EXPORT VOLK_GNSSSDR-export
|
||||
ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT "volk_gnsssdr_devel"
|
||||
|
@ -702,6 +708,9 @@ if(ENABLE_TESTING)
|
|||
TARGET_DEPS volk_gnsssdr
|
||||
)
|
||||
endif()
|
||||
|
||||
xcode_remove_warning_duplicates(volk_gnsssdr_test_all)
|
||||
|
||||
foreach(kernel ${h_files})
|
||||
get_filename_component(kernel ${kernel} NAME)
|
||||
string(REPLACE ".h" "" kernel ${kernel})
|
||||
|
|
|
@ -65,6 +65,9 @@ if(ENABLE_STRIP)
|
|||
set_target_properties(gnss-sdr PROPERTIES LINK_FLAGS "-s")
|
||||
endif()
|
||||
|
||||
include(XcodeRemoveWarningDuplicates)
|
||||
xcode_remove_warning_duplicates(gnss-sdr)
|
||||
|
||||
if(ENABLE_CLANG_TIDY)
|
||||
if(CLANG_TIDY_EXE)
|
||||
set_target_properties(gnss-sdr
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
add_subdirectory(unit-tests/signal-processing-blocks/libs)
|
||||
add_subdirectory(system-tests/libs)
|
||||
|
||||
include(XcodeRemoveWarningDuplicates)
|
||||
|
||||
################################################################################
|
||||
# Google Test - https://github.com/google/googletest
|
||||
################################################################################
|
||||
|
@ -645,6 +647,7 @@ if(ENABLE_UNIT_TESTING)
|
|||
target_compile_definitions(run_tests PRIVATE -DGNSSTK_OLDER_THAN_9=1)
|
||||
endif()
|
||||
endif()
|
||||
xcode_remove_warning_duplicates(run_tests)
|
||||
if(ENABLE_STRIP)
|
||||
set_target_properties(run_tests PROPERTIES LINK_FLAGS "-s")
|
||||
endif()
|
||||
|
@ -823,6 +826,9 @@ function(add_system_test executable)
|
|||
${LOCAL_INSTALL_BASE_DIR}/install/$<TARGET_FILE_NAME:${executable}>
|
||||
)
|
||||
endif()
|
||||
|
||||
xcode_remove_warning_duplicates(${executable})
|
||||
|
||||
if(ENABLE_CLANG_TIDY)
|
||||
if(CLANG_TIDY_EXE)
|
||||
set_target_properties(${executable}
|
||||
|
@ -937,6 +943,9 @@ if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
|
|||
PRIVATE
|
||||
${GNSSSDR_SOURCE_DIR}/src/algorithms/libs
|
||||
)
|
||||
|
||||
xcode_remove_warning_duplicates(flowgraph_test)
|
||||
|
||||
add_test(flowgraph_test flowgraph_test)
|
||||
|
||||
set_property(TEST flowgraph_test PROPERTY TIMEOUT 30)
|
||||
|
@ -992,6 +1001,8 @@ if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
|
|||
target_compile_definitions(gnss_block_test PRIVATE -DENABLE_FPGA=1)
|
||||
endif()
|
||||
|
||||
xcode_remove_warning_duplicates(gnss_block_test)
|
||||
|
||||
add_test(gnss_block_test gnss_block_test)
|
||||
|
||||
set_property(TEST gnss_block_test PROPERTY TIMEOUT 60)
|
||||
|
@ -1029,6 +1040,8 @@ if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
|
|||
algorithms_libs
|
||||
)
|
||||
|
||||
xcode_remove_warning_duplicates(gnuradio_block_test)
|
||||
|
||||
add_test(gnuradio_block_test gnuradio_block_test)
|
||||
|
||||
set_property(TEST gnuradio_block_test PROPERTY TIMEOUT 30)
|
||||
|
@ -1063,6 +1076,8 @@ target_include_directories(matio_test
|
|||
${GNSSSDR_SOURCE_DIR}/src/tests/common-files
|
||||
)
|
||||
|
||||
xcode_remove_warning_duplicates(matio_test)
|
||||
|
||||
add_test(matio_test matio_test)
|
||||
|
||||
set_property(TEST matio_test PROPERTY TIMEOUT 30)
|
||||
|
@ -1112,6 +1127,8 @@ if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
|
|||
)
|
||||
endif()
|
||||
|
||||
xcode_remove_warning_duplicates(acq_test)
|
||||
|
||||
add_test(acq_test acq_test)
|
||||
|
||||
if(USE_GENERIC_LAMBDAS)
|
||||
|
@ -1208,6 +1225,8 @@ if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
|
|||
)
|
||||
endif()
|
||||
|
||||
xcode_remove_warning_duplicates(trk_test)
|
||||
|
||||
add_test(trk_test trk_test)
|
||||
|
||||
set_property(TEST trk_test PROPERTY TIMEOUT 30)
|
||||
|
@ -1239,6 +1258,8 @@ if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
|
|||
core_receiver
|
||||
)
|
||||
|
||||
xcode_remove_warning_duplicates(control_thread_test)
|
||||
|
||||
add_test(control_thread_test control_thread_test)
|
||||
|
||||
set_property(TEST control_thread_test PROPERTY TIMEOUT 30)
|
||||
|
|
|
@ -102,6 +102,9 @@ if(PMT_USES_BOOST_ANY)
|
|||
)
|
||||
endif()
|
||||
|
||||
include(XcodeRemoveWarningDuplicates)
|
||||
xcode_remove_warning_duplicates(front-end-cal)
|
||||
|
||||
if(ENABLE_STRIP)
|
||||
set_target_properties(front-end-cal PROPERTIES LINK_FLAGS "-s")
|
||||
endif()
|
||||
|
|
|
@ -110,6 +110,9 @@ if("${ARMADILLO_VERSION_STRING}" VERSION_GREATER "9.800" OR (NOT ARMADILLO_FOUND
|
|||
set_target_properties(obsdiff PROPERTIES LINK_FLAGS "-s")
|
||||
endif()
|
||||
|
||||
include(XcodeRemoveWarningDuplicates)
|
||||
xcode_remove_warning_duplicates(obsdiff)
|
||||
|
||||
add_custom_command(TARGET obsdiff POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:obsdiff>
|
||||
${LOCAL_INSTALL_BASE_DIR}/install/$<TARGET_FILE_NAME:obsdiff>
|
||||
|
|
Loading…
Reference in New Issue