mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-04-07 19:26:46 +00:00
Release 0.0.20
This commit is contained in:
commit
4ba5c3505b
252
.clang-format
252
.clang-format
@ -1,99 +1,289 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# SPDX-FileCopyrightText: 2018-2020 Carles Fernandez-Prades <carles.fernandez@cttc.es>
|
||||
# SPDX-FileCopyrightText: 2018-2024 Carles Fernandez-Prades <carles.fernandez@cttc.es>
|
||||
---
|
||||
Language: Cpp
|
||||
# BasedOnStyle: Google
|
||||
# More info: https://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
||||
AccessModifierOffset: -4
|
||||
AlignAfterOpenBracket: DontAlign
|
||||
AlignConsecutiveAssignments: false
|
||||
AlignConsecutiveDeclarations: false
|
||||
AlignEscapedNewlinesLeft: true
|
||||
AlignOperands: true
|
||||
AlignTrailingComments: true
|
||||
AlignArrayOfStructures: None
|
||||
AlignConsecutiveAssignments:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: true
|
||||
AlignConsecutiveBitFields:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: false
|
||||
AlignConsecutiveDeclarations:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: true
|
||||
AlignConsecutiveMacros:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: false
|
||||
AlignConsecutiveShortCaseStatements:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCaseArrows: false
|
||||
AlignCaseColons: false
|
||||
AlignConsecutiveTableGenBreakingDAGArgColons:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: false
|
||||
AlignConsecutiveTableGenCondOperatorColons:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: false
|
||||
AlignConsecutiveTableGenDefinitionColons:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: false
|
||||
AlignEscapedNewlines: Left
|
||||
AlignOperands: Align
|
||||
AlignTrailingComments:
|
||||
Kind: Always
|
||||
OverEmptyLines: 0
|
||||
AllowAllArgumentsOnNextLine: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
AllowShortBlocksOnASingleLine: false
|
||||
AllowBreakBeforeNoexceptSpecifier: Never
|
||||
AllowShortBlocksOnASingleLine: Never
|
||||
AllowShortCaseExpressionOnASingleLine: true
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortCompoundRequirementOnASingleLine: true
|
||||
AllowShortEnumsOnASingleLine: true
|
||||
AllowShortFunctionsOnASingleLine: All
|
||||
AllowShortIfStatementsOnASingleLine: true
|
||||
AllowShortIfStatementsOnASingleLine: WithoutElse
|
||||
AllowShortLambdasOnASingleLine: All
|
||||
AllowShortLoopsOnASingleLine: true
|
||||
AlwaysBreakAfterDefinitionReturnType: None
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: true
|
||||
AlwaysBreakTemplateDeclarations: false
|
||||
AttributeMacros:
|
||||
- __capability
|
||||
BinPackArguments: true
|
||||
BinPackParameters: true
|
||||
BitFieldColonSpacing: Both
|
||||
BraceWrapping:
|
||||
AfterClass: false
|
||||
AfterControlStatement: false
|
||||
AfterEnum: false
|
||||
AfterFunction: false
|
||||
AfterNamespace: false
|
||||
AfterObjCDeclaration: false
|
||||
AfterStruct: false
|
||||
AfterUnion: false
|
||||
BeforeCatch: false
|
||||
BeforeElse: false
|
||||
IndentBraces: false
|
||||
AfterCaseLabel: true
|
||||
AfterClass: true
|
||||
AfterControlStatement: Always
|
||||
AfterEnum: true
|
||||
AfterExternBlock: true
|
||||
AfterFunction: true
|
||||
AfterNamespace: true
|
||||
AfterObjCDeclaration: true
|
||||
AfterStruct: true
|
||||
AfterUnion: true
|
||||
BeforeCatch: true
|
||||
BeforeElse: true
|
||||
BeforeLambdaBody: false
|
||||
BeforeWhile: true
|
||||
IndentBraces: true
|
||||
SplitEmptyFunction: true
|
||||
SplitEmptyRecord: true
|
||||
SplitEmptyNamespace: true
|
||||
BreakAdjacentStringLiterals: true
|
||||
BreakAfterAttributes: Leave
|
||||
BreakAfterJavaFieldAnnotations: false
|
||||
BreakAfterReturnType: None
|
||||
BreakArrays: true
|
||||
BreakBeforeBinaryOperators: None
|
||||
BreakBeforeConceptDeclarations: Always
|
||||
BreakBeforeBraces: GNU
|
||||
BreakBeforeInlineASMColon: OnlyMultiline
|
||||
BreakBeforeTernaryOperators: true
|
||||
BreakConstructorInitializersBeforeComma: false
|
||||
BreakConstructorInitializers: BeforeColon
|
||||
BreakFunctionDefinitionParameters: false
|
||||
BreakInheritanceList: BeforeColon
|
||||
BreakStringLiterals: true
|
||||
BreakTemplateDeclarations: MultiLine
|
||||
ColumnLimit: 0
|
||||
CommentPragmas: '^ IWYU pragma:'
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
||||
CompactNamespaces: false
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
ContinuationIndentWidth: 4
|
||||
Cpp11BracedListStyle: true
|
||||
DerivePointerAlignment: true
|
||||
DisableFormat: false
|
||||
EmptyLineAfterAccessModifier: Never
|
||||
EmptyLineBeforeAccessModifier: LogicalBlock
|
||||
ExperimentalAutoDetectBinPacking: false
|
||||
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
|
||||
IncludeBlocks: Merge
|
||||
FixNamespaceComments: true
|
||||
ForEachMacros:
|
||||
- foreach
|
||||
- Q_FOREACH
|
||||
- BOOST_FOREACH
|
||||
IfMacros:
|
||||
- KJ_IF_MAYBE
|
||||
IncludeBlocks: Merge
|
||||
IncludeCategories:
|
||||
- Regex: '^.*.h"'
|
||||
Priority: 1
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
- Regex: '^.*(benchmark|boost|gflags|glog|gnsssdr|gnuradio|gnsstk|gsl|gtest|pmt|uhd|volk)/'
|
||||
Priority: 2
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
- Regex: '^.*(armadillo|iio|matio|pugixml)'
|
||||
Priority: 2
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
- Regex: '.*'
|
||||
Priority: 3
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
- Regex: '^<.*\.h>'
|
||||
Priority: 4
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
- Regex: '^<.*'
|
||||
Priority: 5
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
IncludeIsMainRegex: '(Test)?$'
|
||||
IncludeIsMainSourceRegex: ''
|
||||
IndentAccessModifiers: false
|
||||
IndentCaseBlocks: false
|
||||
IndentCaseLabels: false
|
||||
IndentExternBlock: AfterExternBlock
|
||||
IndentGotoLabels: true
|
||||
IndentPPDirectives: None
|
||||
IndentRequiresClause: true
|
||||
IndentWidth: 4
|
||||
IndentWrappedFunctionNames: false
|
||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||
InsertBraces: false
|
||||
InsertNewlineAtEOF: false
|
||||
InsertTrailingCommas: None
|
||||
IntegerLiteralSeparator:
|
||||
Binary: 0
|
||||
BinaryMinDigits: 0
|
||||
Decimal: 0
|
||||
DecimalMinDigits: 0
|
||||
Hex: 0
|
||||
HexMinDigits: 0
|
||||
JavaScriptQuotes: Leave
|
||||
JavaScriptWrapImports: true
|
||||
KeepEmptyLines:
|
||||
AtEndOfFile: false
|
||||
AtStartOfBlock: false
|
||||
AtStartOfFile: true
|
||||
LambdaBodyIndentation: Signature
|
||||
LineEnding: DeriveLF
|
||||
MacroBlockBegin: ''
|
||||
MacroBlockEnd: ''
|
||||
MainIncludeChar: Quote
|
||||
MaxEmptyLinesToKeep: 2
|
||||
NamespaceIndentation: None
|
||||
ObjCBinPackProtocolList: Auto
|
||||
ObjCBlockIndentWidth: 2
|
||||
ObjCBreakBeforeNestedBlockParam: true
|
||||
ObjCSpaceAfterProperty: false
|
||||
ObjCSpaceBeforeProtocolList: false
|
||||
PackConstructorInitializers: NextLine
|
||||
PenaltyBreakAssignment: 2
|
||||
PenaltyBreakBeforeFirstCallParameter: 1
|
||||
PenaltyBreakComment: 300
|
||||
PenaltyBreakFirstLessLess: 120
|
||||
PenaltyBreakOpenParenthesis: 0
|
||||
PenaltyBreakScopeResolution: 500
|
||||
PenaltyBreakString: 1000
|
||||
PenaltyBreakTemplateDeclaration: 10
|
||||
PenaltyExcessCharacter: 1000000
|
||||
PenaltyIndentedWhitespace: 0
|
||||
PenaltyReturnTypeOnItsOwnLine: 200
|
||||
PointerAlignment: Left
|
||||
PPIndentWidth: -1
|
||||
QualifierAlignment: Leave
|
||||
ReferenceAlignment: Pointer
|
||||
ReflowComments: true
|
||||
SortIncludes: true
|
||||
RemoveBracesLLVM: false
|
||||
RemoveParentheses: Leave
|
||||
RemoveSemicolon: false
|
||||
RequiresClausePosition: OwnLine
|
||||
RequiresExpressionIndentation: OuterScope
|
||||
SeparateDefinitionBlocks: Leave
|
||||
ShortNamespaceLines: 1
|
||||
SkipMacroDefinitionBody: false
|
||||
SortIncludes: CaseSensitive
|
||||
SortJavaStaticImport: Before
|
||||
SortUsingDeclarations: LexicographicNumeric
|
||||
SpaceAfterCStyleCast: false
|
||||
SpaceAfterLogicalNot: false
|
||||
SpaceAfterTemplateKeyword: true
|
||||
SpaceAroundPointerQualifiers: Default
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeCaseColon: false
|
||||
SpaceBeforeCpp11BracedList: false
|
||||
SpaceBeforeCtorInitializerColon: true
|
||||
SpaceBeforeInheritanceColon: true
|
||||
SpaceBeforeJsonColon: false
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceInEmptyParentheses: false
|
||||
SpaceBeforeParensOptions:
|
||||
AfterControlStatements: true
|
||||
AfterForeachMacros: true
|
||||
AfterFunctionDefinitionName: false
|
||||
AfterFunctionDeclarationName: false
|
||||
AfterIfMacros: true
|
||||
AfterOverloadedOperator: false
|
||||
AfterPlacementOperator: true
|
||||
AfterRequiresInClause: false
|
||||
AfterRequiresInExpression: false
|
||||
BeforeNonEmptyParentheses: false
|
||||
SpaceBeforeRangeBasedForLoopColon: true
|
||||
SpaceBeforeSquareBrackets: false
|
||||
SpaceInEmptyBlock: false
|
||||
SpacesBeforeTrailingComments: 2
|
||||
SpacesInAngles: false
|
||||
SpacesInAngles: Never
|
||||
SpacesInContainerLiterals: true
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInParentheses: false
|
||||
SpacesInLineCommentPrefix:
|
||||
Minimum: 1
|
||||
Maximum: -1
|
||||
SpacesInParens: Never
|
||||
SpacesInParensOptions:
|
||||
ExceptDoubleParentheses: false
|
||||
InCStyleCasts: false
|
||||
InConditionalStatements: false
|
||||
InEmptyParentheses: false
|
||||
Other: false
|
||||
SpacesInSquareBrackets: false
|
||||
Standard: Auto
|
||||
StatementAttributeLikeMacros:
|
||||
- Q_EMIT
|
||||
StatementMacros:
|
||||
- Q_UNUSED
|
||||
- QT_REQUIRE_VERSION
|
||||
TableGenBreakInsideDAGArg: DontBreak
|
||||
TabWidth: 8
|
||||
UseTab: Never
|
||||
VerilogBreakBetweenInstancePorts: true
|
||||
WhitespaceSensitiveMacros:
|
||||
- BOOST_PP_STRINGIZE
|
||||
- CF_SWIFT_NAME
|
||||
- NS_SWIFT_NAME
|
||||
- PP_STRINGIZE
|
||||
- STRINGIZE
|
||||
...
|
||||
|
@ -120,7 +120,6 @@ Checks: '-*,
|
||||
readability-uppercase-literal-suffix'
|
||||
WarningsAsErrors: ''
|
||||
HeaderFilterRegex: ''
|
||||
AnalyzeTemporaryDtors: false
|
||||
FormatStyle: 'file'
|
||||
CheckOptions:
|
||||
- key: performance-unnecessary-copy-initialization.ExcludedContainerTypes
|
||||
|
4
.github/workflows/gnss-sdr_archs.yml
vendored
4
.github/workflows/gnss-sdr_archs.yml
vendored
@ -58,8 +58,8 @@ jobs:
|
||||
CXX: ${{ matrix.compiler.cxx }}
|
||||
shell: /bin/sh
|
||||
install: |
|
||||
apt-get update -q -y
|
||||
apt-get install -q -y ${{ matrix.compiler.name }} git ninja-build cmake \
|
||||
apt update
|
||||
apt install -y ${{ matrix.compiler.name }} git ninja-build cmake \
|
||||
libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev \
|
||||
libboost-thread-dev libboost-chrono-dev libboost-serialization-dev \
|
||||
liblog4cpp5-dev gnuradio-dev gr-osmosdr libpugixml-dev libpcap-dev libblas-dev \
|
||||
|
150
.github/workflows/main.yml
vendored
150
.github/workflows/main.yml
vendored
@ -1,5 +1,5 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# SPDX-FileCopyrightText: 2020-2022 Carles Fernandez-Prades <carles.fernandez@cttc.es>
|
||||
# SPDX-FileCopyrightText: 2020-2024 Carles Fernandez-Prades <carles.fernandez@cttc.es>
|
||||
name: Simple CI
|
||||
|
||||
on:
|
||||
@ -18,9 +18,9 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- name: install dependencies
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt update
|
||||
sudo apt install -y libunwind-dev
|
||||
sudo apt-get install -y --no-install-recommends ninja-build cmake \
|
||||
sudo apt install -y --no-install-recommends ninja-build cmake \
|
||||
libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev \
|
||||
libboost-thread-dev libboost-chrono-dev libboost-serialization-dev \
|
||||
liblog4cpp5-dev gnuradio-dev gr-osmosdr libpugixml-dev libpcap-dev libblas-dev \
|
||||
@ -28,18 +28,23 @@ jobs:
|
||||
libgnutls-openssl-dev libmatio-dev googletest protobuf-compiler libprotobuf-dev \
|
||||
python3-mako liborc-0.4-dev
|
||||
- name: configure
|
||||
run: cd build && cmake -GNinja ..
|
||||
run: cmake -S . -B build -GNinja
|
||||
- name: build
|
||||
run: cd build && ninja
|
||||
run: cmake --build build
|
||||
- name: check
|
||||
run: cd build && ninja check && ../install/volk_gnsssdr_profile && ../install/run_tests
|
||||
run: cmake --build build --target check && ./install/volk_gnsssdr_profile && ./install/run_tests
|
||||
- name: default position_test
|
||||
run: cd build && cmake -DENABLE_SYSTEM_TESTING_EXTRA=ON .. && ninja && ../install/position_test
|
||||
run: |
|
||||
cmake -S . -B build -DENABLE_SYSTEM_TESTING_EXTRA=ON -DENABLE_UNIT_TESTING_EXTRA=OFF && \
|
||||
cmake --build build && ./install/position_test && ./install/run_tests --gtest_filter=Osnma*
|
||||
|
||||
build-macos:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
- name: install dependencies
|
||||
run: |
|
||||
brew update
|
||||
@ -53,21 +58,27 @@ jobs:
|
||||
rm /usr/local/bin/pydoc3.1* || true
|
||||
rm /usr/local/bin/python3.1* || true
|
||||
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
||||
brew install ninja hdf5 automake armadillo lapack libmatio \
|
||||
gflags glog gnuradio log4cpp openssl pugixml protobuf python-mako
|
||||
brew link --overwrite python@3.12
|
||||
brew install ninja hdf5 automake armadillo lapack libmatio gnuradio openssl pugixml protobuf boost
|
||||
pip3 install mako
|
||||
- name: configure
|
||||
run: cd build && cmake -GNinja ..
|
||||
run: cmake -S . -B build -GNinja
|
||||
- name: build
|
||||
run: cd build && ninja
|
||||
run: cmake --build build
|
||||
- name: check
|
||||
run: cd build && ninja check && ../install/volk_gnsssdr_profile && ../install/run_tests
|
||||
run: cmake --build build --target check && ./install/volk_gnsssdr_profile && ./install/run_tests
|
||||
- name: default position_test
|
||||
run: cd build && cmake -DENABLE_SYSTEM_TESTING_EXTRA=ON .. && ninja && ../install/position_test
|
||||
run: |
|
||||
cmake -S . -B build -DENABLE_SYSTEM_TESTING_EXTRA=ON -DENABLE_UNIT_TESTING_EXTRA=OFF && \
|
||||
cmake --build build && ./install/position_test && ./install/run_tests --gtest_filter=Osnma*
|
||||
|
||||
build-macos-xcode:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
- name: install dependencies
|
||||
run: |
|
||||
brew update
|
||||
@ -81,40 +92,49 @@ jobs:
|
||||
rm /usr/local/bin/pydoc3.1* || true
|
||||
rm /usr/local/bin/python3.1* || true
|
||||
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
||||
brew install ninja pkg-config hdf5 automake armadillo lapack libmatio \
|
||||
gflags glog gnuradio log4cpp openssl pugixml protobuf python-mako
|
||||
brew link --overwrite python@3.12
|
||||
brew install ninja pkg-config hdf5 automake armadillo lapack libmatio gnuradio openssl pugixml protobuf boost
|
||||
pip3 install mako
|
||||
- name: configure
|
||||
run: cd build && cmake -GXcode ..
|
||||
run: cmake -S . -B build -GXcode
|
||||
- name: build
|
||||
run: cd build && xcodebuild -configuration Release
|
||||
run: cmake --build build --config Release
|
||||
- name: check
|
||||
run: |
|
||||
cd build
|
||||
xcodebuild -configuration Release -target check
|
||||
../install/volk_gnsssdr_profile
|
||||
../install/run_tests
|
||||
cmake --build build --config Release --target check
|
||||
./install/volk_gnsssdr_profile
|
||||
./install/run_tests
|
||||
- name: default position_test
|
||||
run: |
|
||||
cd build
|
||||
cmake -DENABLE_SYSTEM_TESTING_EXTRA=ON ..
|
||||
xcodebuild -configuration Release -target position_test
|
||||
../install/position_test
|
||||
cmake -S . -B build -DENABLE_SYSTEM_TESTING_EXTRA=ON -DENABLE_UNIT_TESTING_EXTRA=OFF
|
||||
cmake --build build --config Release --target position_test
|
||||
./install/position_test
|
||||
./install/run_tests --gtest_filter=Osnma*
|
||||
|
||||
clang-format:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
path:
|
||||
- 'src'
|
||||
- 'tests'
|
||||
- 'utils'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: run clang-format
|
||||
uses: jidicula/clang-format-action@v4.11.0
|
||||
uses: jidicula/clang-format-action@v4.14.0
|
||||
with:
|
||||
clang-format-version: "15"
|
||||
check-path: "src"
|
||||
exclude-regex: '(libs\/gsl\/)|^.*\.(cu|proto)$'
|
||||
clang-format-version: "19"
|
||||
check-path: ${{ matrix.path }}
|
||||
exclude-regex: '(libs\/gsl\/)|(tmpl)|(cpu_features)|^.*\.(cu|proto)$'
|
||||
|
||||
clang-tidy:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
- name: install dependencies
|
||||
run: |
|
||||
brew update
|
||||
@ -128,15 +148,16 @@ jobs:
|
||||
rm /usr/local/bin/pydoc3.1* || true
|
||||
rm /usr/local/bin/python3.1* || true
|
||||
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
||||
brew install llvm pkg-config hdf5 armadillo lapack gflags glog gnuradio libmatio \
|
||||
log4cpp openssl pugixml protobuf python-mako
|
||||
brew link --overwrite python@3.12
|
||||
brew install ninja pkg-config hdf5 automake armadillo lapack libmatio gnuradio openssl pugixml protobuf llvm boost
|
||||
pip3 install mako
|
||||
ln -s $(brew --prefix llvm)/bin/clang-tidy /usr/local/bin
|
||||
ln -s $(brew --prefix llvm)/bin/clang-apply-replacements /usr/local/bin
|
||||
ln -s $(brew --prefix llvm)/bin/run-clang-tidy /usr/local/bin
|
||||
ln -s $(brew --prefix llvm)/bin/run-clang-tidy.py /usr/local/bin
|
||||
- name: Prepare run
|
||||
run: cd build && cmake .. && make volk_gnsssdr_module gtest-1.13.0 core_monitor core_libs pvt_libs
|
||||
run: cmake -S . -B build && cmake --build build --target volk_gnsssdr_module gtest-1.16.0 core_monitor core_libs pvt_libs
|
||||
- name: run clang-tidy
|
||||
run: cd build && run-clang-tidy -fix
|
||||
run: cd build && /opt/homebrew/opt/llvm/bin/run-clang-tidy -fix
|
||||
- name: check
|
||||
run: |
|
||||
git diff > clang_tidy.patch
|
||||
@ -149,11 +170,11 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: install dependencies
|
||||
run: sudo apt-get install python3-pip && sudo pip3 install cpplint
|
||||
run: sudo apt install python3-pip && sudo pip3 install cpplint
|
||||
- name: run checks
|
||||
run: "find ./src/ -iname *.h -o -iname *.cc | xargs cpplint
|
||||
--filter=-,+build/class,+build/c++14,+build/deprecated,+build/explicit_make_pair,\
|
||||
+build/include_what_you_use,+build/printf_format,+build/storage_class,\
|
||||
run: "find ./src/ ./utils ./tests -iname *.h -o -iname *.cc | xargs cpplint
|
||||
--filter=-,+build/class,+build/deprecated,+build/explicit_make_pair,\
|
||||
+build/forward_decl,+build/printf_format,+build/storage_class,\
|
||||
+readability/constructors,+readability/namespace,+readability/newline,\
|
||||
+readability/utf8,+runtime/casting,+runtime/explicit,\
|
||||
+runtime/indentation_namespace,+runtime/init,+runtime/invalid_increment,\
|
||||
@ -163,7 +184,7 @@ jobs:
|
||||
+whitespace/end-of-line,+whitespace/ending-newline,+whitespace/semicolon,\
|
||||
+whitespace/tab --exclude=./src/core/interfaces/gnss_block_interface.h
|
||||
--exclude=./src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cpu_features/test/hwcaps_for_testing.*
|
||||
--exclude=./src/utils/nav-listener/build/nav_message.pb.h"
|
||||
--exclude=./utils/nav-listener/build/nav_message.pb.h"
|
||||
|
||||
prettier-markdown:
|
||||
runs-on: ubuntu-latest
|
||||
@ -180,7 +201,6 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- name: install dependencies
|
||||
run: |
|
||||
sudo python -m pip install --upgrade pip
|
||||
sudo pip install cmakelint
|
||||
- name: check CMake scripts
|
||||
run: find . -iname "CMakeLists.txt" -o -iname "*.cmake" | xargs cmakelint --filter=-linelength,-readability/wonkycase
|
||||
@ -189,21 +209,21 @@ jobs:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
python-version: '3.13'
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install mako
|
||||
- name: configure
|
||||
shell: powershell
|
||||
run: cd build; cmake -G "Visual Studio 17 2022" ..\src\algorithms\libs\volk_gnsssdr_module\volk_gnsssdr
|
||||
run: cmake -S src\algorithms\libs\volk_gnsssdr_module\volk_gnsssdr -B build -G "Visual Studio 17 2022"
|
||||
- name: build
|
||||
run: cmake --build build --config Release
|
||||
- name: test
|
||||
shell: powershell
|
||||
run: cd build; ctest -C Release
|
||||
run: ctest -C Release --test-dir build
|
||||
- name: install
|
||||
run: cmake --install build
|
||||
- name: run profile
|
||||
@ -216,11 +236,11 @@ jobs:
|
||||
- name: install dependencies
|
||||
run: sudo apt install python3-mako liborc-dev
|
||||
- name: configure
|
||||
run: cd build && cmake ../src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
|
||||
run: cmake -S src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr -B build
|
||||
- name: build
|
||||
run: cd build && make -j2
|
||||
run: cmake --build build
|
||||
- name: install
|
||||
run: cd build && sudo make install && sudo ldconfig
|
||||
run: sudo cmake --install build && sudo ldconfig
|
||||
- name: test
|
||||
run: volk_gnsssdr_profile
|
||||
|
||||
@ -228,29 +248,39 @@ jobs:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: install dependencies
|
||||
run: pip3 install mako
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.13'
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install mako
|
||||
- name: configure
|
||||
run: cd build && cmake ../src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
|
||||
run: cmake -S src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr -B build
|
||||
- name: build
|
||||
run: cd build && make -j2 && sudo make install
|
||||
run: cmake --build build && sudo cmake --install build
|
||||
- name: test
|
||||
run: cd build && ctest -C Release --exclude-regex volk_gnsssdr_32fc_32f_rotator_dotprodxnpuppet_32fc
|
||||
run: ctest -C Release --test-dir build --exclude-regex volk_gnsssdr_32fc_32f_rotator_dotprodxnpuppet_32fc
|
||||
|
||||
volk-gnsssdr-macos-xcode:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: install dependencies
|
||||
run: pip3 install mako
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.13'
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install mako
|
||||
- name: configure
|
||||
run: cd build && cmake -GXcode ../src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
|
||||
run: cmake -S src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr -B build -GXcode
|
||||
- name: build
|
||||
run: cd build && xcodebuild -configuration Release
|
||||
run: cmake --build build --config Release
|
||||
- name: install
|
||||
run: cd build && sudo xcodebuild -configuration Release -target install
|
||||
run: sudo cmake --install build
|
||||
- name: test
|
||||
run: cd build && ctest -C Release --exclude-regex volk_gnsssdr_32fc_32f_rotator_dotprodxnpuppet_32fc
|
||||
run: ctest -C Release --test-dir build --exclude-regex --exclude-regex volk_gnsssdr_32fc_32f_rotator_dotprodxnpuppet_32fc
|
||||
|
||||
shellcheck:
|
||||
runs-on: ubuntu-latest
|
||||
@ -259,7 +289,7 @@ jobs:
|
||||
- name: install dependencies
|
||||
run: sudo apt install shellcheck
|
||||
- name: check scripts
|
||||
run: shellcheck src/utils/scripts/*
|
||||
run: shellcheck utils/scripts/*
|
||||
|
||||
REUSE-compliance:
|
||||
runs-on: ubuntu-latest
|
||||
@ -268,4 +298,4 @@ jobs:
|
||||
- name: Check REUSE compliance
|
||||
uses: docker://fsfe/reuse
|
||||
with:
|
||||
args: lint
|
||||
args: lint
|
29
.github/workflows/volk_gnsssdr_android.yml
vendored
29
.github/workflows/volk_gnsssdr_android.yml
vendored
@ -32,29 +32,32 @@ jobs:
|
||||
- name: Update repositories
|
||||
run: sudo apt update
|
||||
- name: Install dependencies
|
||||
run: sudo apt install -y cmake openjdk-11-jre-headless wget unzip make python3-mako
|
||||
run: sudo apt install -y cmake python3-mako
|
||||
|
||||
# Setup Java
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: '17'
|
||||
|
||||
# Setup Android SDK, and auto-accept licenses
|
||||
- name: Install Android SDK
|
||||
run: |
|
||||
wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip
|
||||
mkdir android-sdk-linux
|
||||
unzip -qq android-sdk.zip -d android-sdk-linux
|
||||
export ANDROID_HOME=./android-sdk-linux
|
||||
echo y | $ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=android-sdk-linux --update
|
||||
wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip && \
|
||||
mkdir android-sdk-linux && unzip -qq android-sdk.zip -d android-sdk-linux && export ANDROID_HOME=./android-sdk-linux && echo y | $ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=android-sdk-linux --update && \
|
||||
(echo y; echo y; echo y; echo y; echo y; echo y; echo y; echo y) | $ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=android-sdk-linux --licenses
|
||||
|
||||
# Call SDKManager to install the Android NDK
|
||||
- name: Install Android NDK
|
||||
run: $GITHUB_WORKSPACE/android-sdk-linux/cmdline-tools/bin/sdkmanager --sdk_root=$GITHUB_WORKSPACE/android-sdk-linux --install "ndk;24.0.8215888" --channel=3
|
||||
run: $GITHUB_WORKSPACE/android-sdk-linux/cmdline-tools/bin/sdkmanager --sdk_root=$GITHUB_WORKSPACE/android-sdk-linux --install "ndk;27.2.12479018" --channel=3
|
||||
|
||||
# Setup build directory
|
||||
- name: Setup ${{ matrix.arch.name }}
|
||||
shell: bash
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/
|
||||
cd build
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/android-sdk-linux/ndk/24.0.8215888/build/cmake/android.toolchain.cmake \
|
||||
-DANDROID_ABI=${{ matrix.arch.name }} \
|
||||
-DANDROID_PLATFORM=android-24 \
|
||||
../src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
|
||||
cd $GITHUB_WORKSPACE/ && mkdir -p build && cd build && \
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/android-sdk-linux/ndk/27.2.12479018/build/cmake/android.toolchain.cmake -DANDROID_ABI=${{ matrix.arch.name }} -DANDROID_PLATFORM=android-34 ../src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
|
||||
|
||||
# Build
|
||||
- name: Build ${{ matrix.arch.name }}
|
||||
shell: bash
|
||||
|
60
.github/workflows/volk_gnsssdr_archs.yml
vendored
60
.github/workflows/volk_gnsssdr_archs.yml
vendored
@ -1,21 +1,17 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# SPDX-FileCopyrightText: 2023 Carles Fernandez-Prades <carles.fernandez@cttc.es>
|
||||
|
||||
name: Run volk_gnsssdr tests
|
||||
name: Run gnss-sdr in non-x86 archs
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- "src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/**"
|
||||
- "CMakeLists.txt"
|
||||
pull_request:
|
||||
paths:
|
||||
- "src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/**"
|
||||
- "CMakeLists.txt"
|
||||
branches:
|
||||
- "**-archs"
|
||||
- main
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-ubuntu-non-x86:
|
||||
gnss-sdr-non-x86:
|
||||
runs-on: ubuntu-latest
|
||||
name: ${{ matrix.distro }} ${{ matrix.arch }} ${{ matrix.compiler.name }}
|
||||
|
||||
@ -33,22 +29,22 @@ jobs:
|
||||
- arch: armv7
|
||||
distro: ubuntu22.04
|
||||
compiler: { name: g++-12, cc: gcc-12, cxx: g++-12 }
|
||||
- arch: ppc64le
|
||||
distro: ubuntu22.04
|
||||
compiler: { name: g++-12, cc: gcc-12, cxx: g++-12 }
|
||||
- arch: s390x
|
||||
distro: ubuntu22.04
|
||||
compiler: { name: g++-12, cc: gcc-12, cxx: g++-12 }
|
||||
- arch: riscv64
|
||||
distro: ubuntu22.04
|
||||
compiler: { name: g++-12, cc: gcc-12, cxx: g++-12 }
|
||||
# - arch: ppc64le
|
||||
# distro: ubuntu22.04
|
||||
# compiler: { name: g++-12, cc: gcc-12, cxx: g++-12 }
|
||||
# - arch: s390x
|
||||
# distro: ubuntu22.04
|
||||
# compiler: { name: g++-12, cc: gcc-12, cxx: g++-12 }
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: uraimo/run-on-arch-action@v2.7.1
|
||||
name: Build in non-x86 container
|
||||
# continue-on-error: ${{ contains(fromJson('["ppc64le", "s390x"]'), matrix.arch) }}
|
||||
id: build
|
||||
name: Test in non-x86 container
|
||||
continue-on-error: ${{ contains(fromJson('["ppc64le", "s390x"]'), matrix.arch) }}
|
||||
id: test
|
||||
with:
|
||||
arch: ${{ matrix.arch }}
|
||||
distro: ${{ matrix.distro }}
|
||||
@ -56,24 +52,28 @@ jobs:
|
||||
setup: |
|
||||
mkdir -p "${PWD}/testing"
|
||||
dockerRunArgs: |
|
||||
--volume "${PWD}:/volk_gnsssdr"
|
||||
--volume "${PWD}:/gnss-sdr"
|
||||
env: |
|
||||
CC: ${{ matrix.compiler.cc }}
|
||||
CXX: ${{ matrix.compiler.cxx }}
|
||||
shell: /bin/sh
|
||||
install: |
|
||||
apt-get update -q -y
|
||||
apt-get install -q -y git cmake python3-mako liborc-dev ${{ matrix.compiler.name }}
|
||||
apt update
|
||||
apt install -y ${{ matrix.compiler.name }} git ninja-build cmake \
|
||||
libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev \
|
||||
libboost-thread-dev libboost-chrono-dev libboost-serialization-dev \
|
||||
liblog4cpp5-dev gnuradio-dev gr-osmosdr libpugixml-dev libpcap-dev libblas-dev \
|
||||
liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev \
|
||||
libgnutls-openssl-dev libmatio-dev googletest protobuf-compiler libprotobuf-dev \
|
||||
python3-mako liborc-0.4-dev
|
||||
run: |
|
||||
git config --global --add safe.directory /volk_gnsssdr
|
||||
cd /volk_gnsssdr
|
||||
git config --global --add safe.directory /gnss-sdr
|
||||
cd /gnss-sdr
|
||||
cd testing
|
||||
cmake ../src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/
|
||||
mkdir install
|
||||
cmake -DENABLE_SYSTEM_TESTING_EXTRA=ON -DCMAKE_INSTALL_PREFIX=/gnss-sdr/testing/install -DENABLE_INSTALL_TESTS=ON ..
|
||||
echo "Build with $(nproc) thread(s)"
|
||||
make -j$(nproc)
|
||||
./apps/volk_gnsssdr-config-info --alignment
|
||||
./apps/volk_gnsssdr-config-info --avail-machines
|
||||
./apps/volk_gnsssdr-config-info --all-machines
|
||||
./apps/volk_gnsssdr-config-info --malloc
|
||||
./apps/volk_gnsssdr-config-info --cc
|
||||
ctest -V
|
||||
make install
|
||||
cd install/bin
|
||||
./position_test
|
38
.gitignore
vendored
38
.gitignore
vendored
@ -1,22 +1,30 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# SPDX-FileCopyrightText: 2011 Carles Fernandez-Prades <carles.fernandez(at)cttc.es>
|
||||
# SPDX-FileCopyrightText: 2011-2024 Carles Fernandez-Prades <carles.fernandez(at)cttc.es>
|
||||
*~
|
||||
.*.swp
|
||||
docs/doxygen/Doxyfile
|
||||
docs/html
|
||||
docs/latex
|
||||
docs/GNSS-SDR_manual.pdf
|
||||
src/tests/data/output.dat
|
||||
thirdparty/
|
||||
src/utils/nav-listener/build
|
||||
.settings
|
||||
.project
|
||||
.cproject
|
||||
.idea
|
||||
cmake-build-debug/
|
||||
/build/
|
||||
/build*/
|
||||
/cmake-build-debug/
|
||||
/data/
|
||||
/docs/doxygen/Doxyfile
|
||||
/docs/html/
|
||||
/docs/latex/
|
||||
/docs/GNSS-SDR_manual.pdf
|
||||
/gnss_sdr_pvt.nmea
|
||||
/GSDR*
|
||||
/HAS_*
|
||||
/PVT_*
|
||||
/Testing/
|
||||
/tests/data/output.dat
|
||||
/thirdparty/
|
||||
/utils/nav-listener/build/
|
||||
/utils/nav-listener/build*/
|
||||
/install
|
||||
.cproject
|
||||
.DS_Store
|
||||
.idea
|
||||
.project
|
||||
.pydevproject
|
||||
.vscode/
|
||||
.settings
|
||||
.vs/
|
||||
Testing/
|
||||
.vscode/
|
||||
|
71
AUTHORS
71
AUTHORS
@ -33,39 +33,44 @@ Contact Information
|
||||
|
||||
List of authors
|
||||
--------------------------------------------------------------------------------
|
||||
Carles Fernández-Prades carles.fernandez@cttc.cat Project manager
|
||||
Javier Arribas javier.arribas@cttc.es Developer
|
||||
Luis Esteve Elfau luis@epsilon-formacion.com Developer
|
||||
Marc Majoral marc.majoral@cttc.cat Developer
|
||||
Jordi Vilà-Valls jordi.vila-valls@isae-supaero.fr Consultant
|
||||
Pau Closas pau.closas@northeastern.edu Consultant
|
||||
Álvaro Cebrián Juan acebrianjuan@gmail.com Contributor
|
||||
Andres Cecilia Luque a.cecilia.luque@gmail.com Contributor
|
||||
Anthony Arnold anthony.arnold@uqconnect.edu.au Contributor
|
||||
Antonio Ramos antonio.ramosdet@gmail.com Contributor
|
||||
Carlos Avilés carlos.avilesr@googlemail.com Contributor
|
||||
Cillian O'Driscoll cillian.odriscoll@gmail.com Contributor
|
||||
Damian Miralles dmiralles2009@gmail.com Contributor
|
||||
Daniel Fehr daniel.co@bluewin.ch Contributor
|
||||
David Pubill david.pubill@cttc.cat Contributor
|
||||
En Shin seanstone5923@gmail.com Contributor
|
||||
Fran Fabra fabra@ice.csic.es Contributor
|
||||
Gabriel Araujo gabriel.araujo.5000@gmail.com Contributor
|
||||
Gerald LaMountain gerald@gece.neu.edu Contributor
|
||||
Into Pääkkönen into.paakkonen@aalto.fi Contributor
|
||||
Irene Pérez Riega iperrie@inta.es Contributor
|
||||
Jim Melton jim.melton@sncorp.com Contributor
|
||||
Josh Schindehette jschindehette@geontech.com Contributor
|
||||
Leonardo Tonetto tonetto.dev@gmail.com Contributor
|
||||
Malte Lenhart malte.lenhart@mailbox.org Contributor
|
||||
Mara Branzanti mara.branzanti@gmail.com Contributor
|
||||
Marc Molina marc.molina.pena@gmail.com Contributor
|
||||
Marc Sales marcsales92@gmail.com Contributor
|
||||
Piyush Gupta piyush04111999@gmail.com Contributor
|
||||
Rodrigo Muñoz rodrigo.munoz@proteinlab.cl Contributor
|
||||
Stefan van der Linden spvdlinden@gmail.com Contributor
|
||||
Will Silberman wsilberm@google.com Contributor
|
||||
Carlos Paniego carpanie@hotmail.com Artwork
|
||||
|
||||
Carles Fernández-Prades carles.fernandez@cttc.cat Project manager
|
||||
Javier Arribas javier.arribas@cttc.es Developer
|
||||
Luis Esteve Elfau luis@epsilon-formacion.com Developer
|
||||
Marc Majoral marc.majoral@cttc.cat Developer
|
||||
Xavier Guerrero xavier.guerrero@cttc.es Developer
|
||||
Jordi Vilà-Valls jordi.vila-valls@isae-supaero.fr Consultant
|
||||
Pau Closas pau.closas@northeastern.edu Consultant
|
||||
Álvaro Cebrián Juan acebrianjuan@gmail.com Contributor
|
||||
Andres Cecilia Luque a.cecilia.luque@gmail.com Contributor
|
||||
Anthony Arnold anthony.arnold@uqconnect.edu.au Contributor
|
||||
Antonio Ramos antonio.ramosdet@gmail.com Contributor
|
||||
Carlos Avilés carlos.avilesr@googlemail.com Contributor
|
||||
Cesare Ghionoiu Martinez c.ghionoiu-martinez@tu-braunschweig.de Contributor
|
||||
Cillian O'Driscoll cillian.odriscoll@gmail.com Contributor
|
||||
Damian Miralles dmiralles2009@gmail.com Contributor
|
||||
Daniel Fehr daniel.co@bluewin.ch Contributor
|
||||
David Pubill david.pubill@cttc.cat Contributor
|
||||
En Shin seanstone5923@gmail.com Contributor
|
||||
Fran Fabra fabra@ice.csic.es Contributor
|
||||
Gabriel Araujo gabriel.araujo.5000@gmail.com Contributor
|
||||
Gerald LaMountain gerald@gece.neu.edu Contributor
|
||||
Into Pääkkönen into.paakkonen@aalto.fi Contributor
|
||||
Irene Pérez Riega iperrie@inta.es Contributor
|
||||
Jim Melton jim.melton@sncorp.com Contributor
|
||||
Josh Schindehette jschindehette@geontech.com Contributor
|
||||
Leonardo Tonetto tonetto.dev@gmail.com Contributor
|
||||
Malte Lenhart malte.lenhart@mailbox.org Contributor
|
||||
Mara Branzanti mara.branzanti@gmail.com Contributor
|
||||
Marc Molina marc.molina.pena@gmail.com Contributor
|
||||
Marc Sales marcsales92@gmail.com Contributor
|
||||
Piyush Gupta piyush04111999@gmail.com Contributor
|
||||
Rodrigo Muñoz rodrigo.munoz@proteinlab.cl Contributor
|
||||
Stefan van der Linden spvdlinden@gmail.com Contributor
|
||||
Víctor Castillo-Agüero victorcastilloaguero@gmail.com Contributor
|
||||
Will Silberman wsilberm@google.com Contributor
|
||||
Carlos Paniego carpanie@hotmail.com Artwork
|
||||
|
||||
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# SPDX-FileCopyrightText: 2011-2024 Carles Fernandez-Prades <carles.fernandez@cttc.es>
|
||||
|
21
CITATION.cff
21
CITATION.cff
@ -1,5 +1,5 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# SPDX-FileCopyrightText: 2024 C. Fernandez-Prades carles.fernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2024-2025 C. Fernandez-Prades carles.fernandez(at)cttc.es
|
||||
---
|
||||
authors:
|
||||
- affiliation: "Centre Tecnològic de Telecomunicacions de Catalunya (CTTC)"
|
||||
@ -20,6 +20,11 @@ authors:
|
||||
family-names: Majoral
|
||||
given-names: Marc
|
||||
orcid: "https://orcid.org/0000-0001-6161-6747"
|
||||
- affiliation: "Centre Tecnològic de Telecomunicacions de Catalunya (CTTC)"
|
||||
alias: xguerreropau
|
||||
email: xavier.guerrero@cttc.es
|
||||
family-names: Guerrero
|
||||
given-names: Xavier
|
||||
- alias: Gastd
|
||||
email: gabriel.araujo.5000@gmail.com
|
||||
family-names: Araujo
|
||||
@ -34,6 +39,11 @@ authors:
|
||||
email: mara.branzanti@gmail.com
|
||||
family-names: Branzanti
|
||||
given-names: Mara
|
||||
- alias: castle055
|
||||
affiliation: "Instituto Nacional de Técnica Aeroespacial"
|
||||
email: victorcastilloaguero@gmail.com
|
||||
family-names: "Castillo-Agüero"
|
||||
given-names: Víctor
|
||||
- alias: acebrianjuan
|
||||
email: acebrianjuan@gmail.com
|
||||
family-names: "Cebrián-Juan"
|
||||
@ -51,6 +61,11 @@ authors:
|
||||
- email: daniel.co@bluewin.ch
|
||||
family-names: Fehr
|
||||
given-names: Daniel
|
||||
- alias: cesaaargm
|
||||
affiliation: "Technische Universität Braunschweig"
|
||||
email: c.ghionoiu-martinez@tu-braunschweig.de
|
||||
family-names: "Ghionoiu Martinez"
|
||||
given-names: Cesare
|
||||
- alias: piyush0411
|
||||
email: piyush04111999@gmail.com
|
||||
family-names: Gupta
|
||||
@ -119,7 +134,7 @@ authors:
|
||||
family-names: "van der Linden"
|
||||
given-names: Stefan
|
||||
cff-version: "1.2.0"
|
||||
date-released: "2024-01-23"
|
||||
date-released: "2025-04-01"
|
||||
identifiers:
|
||||
- description: "The concept DOI of the work. This is a DOI always pointing to the latest stable release."
|
||||
type: doi
|
||||
@ -327,4 +342,4 @@ repository-code: "https://github.com/gnss-sdr/gnss-sdr"
|
||||
title: GNSS-SDR
|
||||
type: software
|
||||
url: "https://gnss-sdr.org"
|
||||
version: "0.0.19"
|
||||
version: "0.0.20"
|
||||
|
1386
CMakeLists.txt
1386
CMakeLists.txt
File diff suppressed because it is too large
Load Diff
393
README.md
393
README.md
@ -4,7 +4,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
)
|
||||
|
||||
[comment]: # (
|
||||
SPDX-FileCopyrightText: 2011-2024 Carles Fernandez-Prades <carles.fernandez@cttc.es>
|
||||
SPDX-FileCopyrightText: 2011-2025 Carles Fernandez-Prades <carles.fernandez@cttc.es>
|
||||
)
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
@ -59,60 +59,59 @@ information about this open-source, software-defined GNSS receiver.
|
||||
<summary><b>(click to expand)</b></summary>
|
||||
<!-- MarkdownTOC -->
|
||||
|
||||
1. [Table of Contents](#table-of-contents)
|
||||
2. [How to build GNSS-SDR](#how-to-build-gnss-sdr)
|
||||
1. [GNU/Linux](#gnulinux)
|
||||
1. [Alternative 1: Install dependencies using software packages](#alternative-1-install-dependencies-using-software-packages)
|
||||
1. [Debian / Ubuntu](#debian--ubuntu)
|
||||
2. [AlmaLinux](#almalinux)
|
||||
3. [Arch Linux](#arch-linux)
|
||||
4. [CentOS](#centos)
|
||||
5. [Fedora](#fedora)
|
||||
6. [openSUSE](#opensuse)
|
||||
7. [Rocky Linux](#rocky-linux)
|
||||
2. [Alternative 2: Install dependencies using PyBOMBS](#alternative-2-install-dependencies-using-pybombs)
|
||||
3. [Manual installation of other required dependencies](#manual-installation-of-other-required-dependencies)
|
||||
1. [Install Armadillo, a C++ linear algebra library](#install-armadillo-a-c-linear-algebra-library)
|
||||
2. [Install Gflags, a commandline flags processing module for C++](#install-gflags-a-commandline-flags-processing-module-for-c)
|
||||
3. [Install Glog, a library that implements application-level logging](#install-glog-a-library-that-implements-application-level-logging)
|
||||
4. [Install the GnuTLS or OpenSSL libraries](#install-the-gnutls-or-openssl-libraries)
|
||||
5. [Install Matio, MATLAB MAT file I/O library](#install-matio-matlab-mat-file-io-library)
|
||||
6. [Install Protocol Buffers, a portable mechanism for serialization of structured data](#install-protocol-buffers-a-portable-mechanism-for-serialization-of-structured-data)
|
||||
7. [Install Pugixml, a light-weight C++ XML processing library](#install-pugixml-a-light-weight-c-xml-processing-library)
|
||||
8. [Download GoogleTest](#download-googletest)
|
||||
4. [Clone GNSS-SDR's Git repository](#clone-gnss-sdrs-git-repository)
|
||||
5. [Build and install GNSS-SDR](#build-and-install-gnss-sdr)
|
||||
1. [Build OSMOSDR support (OPTIONAL)](#build-osmosdr-support-optional)
|
||||
2. [Build FMCOMMS2 based SDR Hardware support (OPTIONAL)](#build-fmcomms2-based-sdr-hardware-support-optional)
|
||||
3. [Build OpenCL support (OPTIONAL)](#build-opencl-support-optional)
|
||||
4. [Build CUDA support (OPTIONAL)](#build-cuda-support-optional)
|
||||
2. [macOS](#macos)
|
||||
1. [Macports](#macports)
|
||||
2. [Homebrew](#homebrew)
|
||||
3. [Other package managers](#other-package-managers)
|
||||
4. [Build GNSS-SDR](#build-gnss-sdr)
|
||||
3. [Other builds](#other-builds)
|
||||
3. [Updating GNSS-SDR](#updating-gnss-sdr)
|
||||
4. [Getting started](#getting-started)
|
||||
5. [Using GNSS-SDR](#using-gnss-sdr)
|
||||
1. [Control plane](#control-plane)
|
||||
1. [Configuration](#configuration)
|
||||
2. [GNSS block factory](#gnss-block-factory)
|
||||
2. [Signal Processing plane](#signal-processing-plane)
|
||||
1. [Signal Source](#signal-source)
|
||||
2. [Signal Conditioner](#signal-conditioner)
|
||||
1. [Data type adapter](#data-type-adapter)
|
||||
2. [Input filter](#input-filter)
|
||||
3. [Resampler](#resampler)
|
||||
3. [Channel](#channel)
|
||||
1. [Acquisition](#acquisition)
|
||||
2. [Tracking](#tracking)
|
||||
3. [Decoding of the navigation message](#decoding-of-the-navigation-message)
|
||||
4. [Observables](#observables)
|
||||
5. [Computation of Position, Velocity, and Time](#computation-of-position-velocity-and-time)
|
||||
6. [About the software license](#about-the-software-license)
|
||||
7. [Publications and Credits](#publications-and-credits)
|
||||
8. [Ok, now what?](#ok-now-what)
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [How to build GNSS-SDR](#how-to-build-gnss-sdr)
|
||||
- [GNU/Linux](#gnulinux)
|
||||
- [Alternative 1: Install dependencies using software packages](#alternative-1-install-dependencies-using-software-packages)
|
||||
- [Debian / Ubuntu](#debian--ubuntu)
|
||||
- [AlmaLinux](#almalinux)
|
||||
- [Arch Linux](#arch-linux)
|
||||
- [Fedora](#fedora)
|
||||
- [openSUSE](#opensuse)
|
||||
- [Rocky Linux](#rocky-linux)
|
||||
- [Alternative 2: Install dependencies using PyBOMBS](#alternative-2-install-dependencies-using-pybombs)
|
||||
- [Manual installation of other required dependencies](#manual-installation-of-other-required-dependencies)
|
||||
- [Install Armadillo, a C++ linear algebra library](#install-armadillo-a-c-linear-algebra-library)
|
||||
- [Install Gflags, a commandline flags processing module for C++](#install-gflags-a-commandline-flags-processing-module-for-c)
|
||||
- [Install Glog, a library that implements application-level logging](#install-glog-a-library-that-implements-application-level-logging)
|
||||
- [Install the OpenSSL libraries](#install-the-openssl-libraries)
|
||||
- [Install Matio, MATLAB MAT file I/O library](#install-matio-matlab-mat-file-io-library)
|
||||
- [Install Protocol Buffers, a portable mechanism for serialization of structured data](#install-protocol-buffers-a-portable-mechanism-for-serialization-of-structured-data)
|
||||
- [Install Pugixml, a light-weight C++ XML processing library](#install-pugixml-a-light-weight-c-xml-processing-library)
|
||||
- [Download GoogleTest](#download-googletest)
|
||||
- [Clone GNSS-SDR's Git repository](#clone-gnss-sdrs-git-repository)
|
||||
- [Build and install GNSS-SDR](#build-and-install-gnss-sdr)
|
||||
- [Build OSMOSDR support (OPTIONAL)](#build-osmosdr-support-optional)
|
||||
- [Build FMCOMMS2 based SDR Hardware support (OPTIONAL)](#build-fmcomms2-based-sdr-hardware-support-optional)
|
||||
- [Build OpenCL support (OPTIONAL)](#build-opencl-support-optional)
|
||||
- [Build CUDA support (OPTIONAL)](#build-cuda-support-optional)
|
||||
- [macOS](#macos)
|
||||
- [Macports](#macports)
|
||||
- [Homebrew](#homebrew)
|
||||
- [Other package managers](#other-package-managers)
|
||||
- [Build GNSS-SDR](#build-gnss-sdr)
|
||||
- [Other builds](#other-builds)
|
||||
- [Updating GNSS-SDR](#updating-gnss-sdr)
|
||||
- [Getting started](#getting-started)
|
||||
- [Using GNSS-SDR](#using-gnss-sdr)
|
||||
- [Control plane](#control-plane)
|
||||
- [Configuration](#configuration)
|
||||
- [GNSS block factory](#gnss-block-factory)
|
||||
- [Signal Processing plane](#signal-processing-plane)
|
||||
- [Signal Source](#signal-source)
|
||||
- [Signal Conditioner](#signal-conditioner)
|
||||
- [Data type adapter](#data-type-adapter)
|
||||
- [Input filter](#input-filter)
|
||||
- [Resampler](#resampler)
|
||||
- [Channel](#channel)
|
||||
- [Acquisition](#acquisition)
|
||||
- [Tracking](#tracking)
|
||||
- [Decoding of the navigation message](#decoding-of-the-navigation-message)
|
||||
- [Observables](#observables)
|
||||
- [Computation of Position, Velocity, and Time](#computation-of-position-velocity-and-time)
|
||||
- [About the software license](#about-the-software-license)
|
||||
- [Publications and Credits](#publications-and-credits)
|
||||
- [Ok, now what?](#ok-now-what)
|
||||
|
||||
<!-- /MarkdownTOC -->
|
||||
</details>
|
||||
@ -126,15 +125,17 @@ This section describes how to set up the compilation environment in GNU/Linux or
|
||||
## GNU/Linux
|
||||
|
||||
- Tested distributions: Ubuntu 14.04 LTS and above; Debian 9.0 "stretch" and
|
||||
above; Arch Linux; CentOS 7; Fedora 26 and above; OpenSUSE 42.3 and above.
|
||||
above; Arch Linux; Fedora 26 and above; OpenSUSE 42.3 and above.
|
||||
- Supported microprocessor architectures:
|
||||
- i386: Intel x86 instruction set (32-bit microprocessors).
|
||||
- amd64: also known as x86-64, the 64-bit version of the x86 instruction set,
|
||||
originally created by AMD and implemented by AMD, Intel, VIA, and others.
|
||||
- armel: ARM embedded ABI, supported on ARM v4t and higher.
|
||||
- armhf: ARM hard float, ARMv7 + VFP3-D16 floating-point hardware extension +
|
||||
Thumb-2 instruction set and above.
|
||||
- arm64: ARM 64 bits or ARMv8.
|
||||
- arm64: ARM 64 bits or ARMv8. Also known as AArch64.
|
||||
- i386: Intel x86 instruction set (32-bit microprocessors).
|
||||
- loong64: 64-bit version of LoongArch, a RISC-style instruction set
|
||||
architecture developed by Loongson Technology.
|
||||
- mips: MIPS architecture (big-endian, such as those manufactured by SGI).
|
||||
- mipsel: MIPS architecture (little-endian, such as Loongson 3).
|
||||
- mips64el: 64-bit version of MIPS architecture.
|
||||
@ -164,20 +165,23 @@ If you are using Debian 9, Ubuntu 14.10 or above, this can be done by copying
|
||||
and pasting the following line in a terminal:
|
||||
|
||||
```
|
||||
$ sudo apt-get install build-essential cmake git pkg-config libboost-dev libboost-date-time-dev \
|
||||
$ sudo apt install build-essential cmake git pkg-config libboost-dev libboost-date-time-dev \
|
||||
libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev \
|
||||
libboost-serialization-dev liblog4cpp5-dev libuhd-dev gnuradio-dev gr-osmosdr \
|
||||
libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev \
|
||||
libgnutls-openssl-dev libpcap-dev libmatio-dev libpugixml-dev libgtest-dev \
|
||||
libprotobuf-dev protobuf-compiler python3-mako
|
||||
libssl-dev libpcap-dev libmatio-dev libpugixml-dev libgtest-dev \
|
||||
libprotobuf-dev libcpu-features-dev protobuf-compiler python3-mako
|
||||
```
|
||||
|
||||
Please note that the required files from `libgtest-dev` were named `googletest`
|
||||
in Debian 9 "stretch" and Ubuntu 18.04 "bionic", and renamed to `libgtest-dev`
|
||||
in Debian 10 "buster" and above.
|
||||
|
||||
Since Ubuntu 21.04 Hirsute / Debian 11, the package `libcpu-features-dev` is
|
||||
also required.
|
||||
In distributions older than Ubuntu 21.04 Hirsute / Debian 11, the package
|
||||
`libcpu-features-dev` is not required.
|
||||
|
||||
In distributions older than Ubuntu 22.04 Jammy / Debian 12, the package
|
||||
`libssl-dev` must be replaced by `libgnutls-openssl-dev`.
|
||||
|
||||
**Note for Ubuntu 14.04 LTS "trusty" users:** you will need to build from source
|
||||
and install GNU Radio manually, as explained below, since GNSS-SDR requires
|
||||
@ -222,28 +226,9 @@ Once you have installed these packages, you can jump directly to
|
||||
If you are using Arch Linux:
|
||||
|
||||
```
|
||||
$ pacman -S gcc make cmake pkgconf git boost boost-libs log4cpp libvolk gnuradio \
|
||||
blas lapack gflags google-glog openssl pugixml libmatio protobuf \
|
||||
python-mako libpcap gtest
|
||||
```
|
||||
|
||||
Once you have installed these packages, you can jump directly to
|
||||
[download the source code and build GNSS-SDR](#clone-gnss-sdrs-git-repository).
|
||||
|
||||
#### CentOS
|
||||
|
||||
If you are using CentOS 7, you can install the dependencies via Extra Packages
|
||||
for Enterprise Linux ([EPEL](https://fedoraproject.org/wiki/EPEL)):
|
||||
|
||||
```
|
||||
$ sudo yum install wget
|
||||
$ wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
||||
$ sudo rpm -Uvh epel-release-latest-7.noarch.rpm
|
||||
$ sudo yum install make automake gcc gcc-c++ kernel-devel libtool \
|
||||
hdf5-devel cmake git boost-devel boost-date-time boost-system \
|
||||
boost-filesystem boost-thread boost-chrono boost-serialization \
|
||||
log4cpp-devel gnuradio-devel gr-osmosdr-devel blas-devel lapack-devel \
|
||||
armadillo-devel openssl-devel libpcap-devel python-mako python-six pugixml-devel
|
||||
$ pacman -S gcc make cmake pkgconf git boost boost-libs libvolk gnuradio \
|
||||
blas lapack hdf5 openssl pugixml libmatio protobuf libpcap gtest \
|
||||
python-mako
|
||||
```
|
||||
|
||||
Once you have installed these packages, you can jump directly to
|
||||
@ -278,7 +263,7 @@ $ zypper install cmake git gcc-c++ boost-devel libboost_atomic-devel \
|
||||
libboost_system-devel libboost_filesystem-devel libboost_chrono-devel \
|
||||
libboost_thread-devel libboost_serialization-devel log4cpp-devel \
|
||||
gnuradio-devel pugixml-devel libpcap-devel armadillo-devel libtool \
|
||||
automake hdf5-devel openssl-devel python3-Mako protobuf-devel
|
||||
automake hdf5-devel openssl-devel python3-Mako libmatio-devel
|
||||
```
|
||||
|
||||
If you are using openSUSE Tumbleweed:
|
||||
@ -330,7 +315,7 @@ tutorial.
|
||||
First of all, install some basic packages:
|
||||
|
||||
```
|
||||
$ sudo apt-get install git python3-pip
|
||||
$ sudo apt install git python3-pip
|
||||
```
|
||||
|
||||
Download, build and install PyBOMBS:
|
||||
@ -396,16 +381,16 @@ or manually as explained below, and then please follow instructions on how to
|
||||
|
||||
### Manual installation of other required dependencies
|
||||
|
||||
#### Install [Armadillo](http://arma.sourceforge.net/ "Armadillo's Homepage"), a C++ linear algebra library
|
||||
#### Install [Armadillo](https://arma.sourceforge.net/ "Armadillo's Homepage"), a C++ linear algebra library
|
||||
|
||||
```
|
||||
$ sudo apt-get install libblas-dev liblapack-dev # For Debian/Ubuntu/LinuxMint
|
||||
$ sudo yum install lapack-devel blas-devel # For Fedora/CentOS/RHEL
|
||||
$ sudo apt install libblas-dev liblapack-dev # For Debian/Ubuntu/LinuxMint
|
||||
$ sudo yum install lapack-devel blas-devel # For Fedora/RHEL
|
||||
$ sudo zypper install lapack-devel blas-devel # For OpenSUSE
|
||||
$ sudo pacman -S blas lapack # For Arch Linux
|
||||
$ wget https://sourceforge.net/projects/arma/files/armadillo-12.0.1.tar.xz
|
||||
$ tar xvfz armadillo-12.0.1.tar.xz
|
||||
$ cd armadillo-12.0.1
|
||||
$ wget https://sourceforge.net/projects/arma/files/armadillo-14.4.1.tar.xz
|
||||
$ tar xvfz armadillo-14.4.1.tar.xz
|
||||
$ cd armadillo-14.4.1
|
||||
$ cmake .
|
||||
$ make
|
||||
$ sudo make install
|
||||
@ -430,12 +415,16 @@ $ sudo make install
|
||||
$ sudo ldconfig
|
||||
```
|
||||
|
||||
Please note that GFlags is replaced by the
|
||||
[Abseil Flags Library](https://abseil.io/docs/cpp/guides/flags) if Abseil >=
|
||||
v20240116 is available in your system.
|
||||
|
||||
#### Install [Glog](https://github.com/google/glog "Glog's Homepage"), a library that implements application-level logging
|
||||
|
||||
```
|
||||
$ wget https://github.com/google/glog/archive/v0.6.0.tar.gz
|
||||
$ tar xvfz v0.6.0.tar.gz
|
||||
$ cd glog-0.6.0
|
||||
$ wget https://github.com/google/glog/archive/v0.7.1.tar.gz
|
||||
$ tar xvfz v0.7.1.tar.gz
|
||||
$ cd glog-0.7.1
|
||||
$ mkdir build && cd build
|
||||
$ cmake ..
|
||||
$ make
|
||||
@ -443,33 +432,32 @@ $ sudo make install
|
||||
$ sudo ldconfig
|
||||
```
|
||||
|
||||
#### Install the GnuTLS or OpenSSL libraries
|
||||
Please note that Glog is replaced by the
|
||||
[Abseil Logging Library](https://abseil.io/docs/cpp/guides/logging) if Abseil >=
|
||||
v20240116 is available in your system.
|
||||
|
||||
#### Install the OpenSSL libraries
|
||||
|
||||
```
|
||||
$ sudo apt-get install libgnutls-openssl-dev # For Debian/Ubuntu/LinuxMint
|
||||
$ sudo yum install openssl-devel # For Fedora/CentOS/RHEL
|
||||
$ sudo zypper install openssl-devel # For OpenSUSE
|
||||
$ sudo pacman -S openssl # For Arch Linux
|
||||
$ sudo apt install libssl-dev # For Debian/Ubuntu/LinuxMint
|
||||
$ sudo yum install openssl-devel # For Fedora/CentOS/RHEL
|
||||
$ sudo zypper install openssl-devel # For OpenSUSE
|
||||
$ sudo pacman -S openssl # For Arch Linux
|
||||
```
|
||||
|
||||
In case the [GnuTLS](https://www.gnutls.org/ "GnuTLS's Homepage") library with
|
||||
openssl extensions package is not available in your GNU/Linux distribution,
|
||||
GNSS-SDR can also work well with
|
||||
[OpenSSL](https://www.openssl.org/ "OpenSSL's Homepage").
|
||||
|
||||
#### Install [Matio](https://github.com/tbeu/matio "Matio's Homepage"), MATLAB MAT file I/O library
|
||||
|
||||
```
|
||||
$ wget https://github.com/tbeu/matio/releases/download/v1.5.23/matio-1.5.23.tar.gz
|
||||
$ tar xvfz matio-1.5.23.tar.gz
|
||||
$ cd matio-1.5.23
|
||||
$ wget https://github.com/tbeu/matio/releases/download/v1.5.28/matio-1.5.28.tar.gz
|
||||
$ tar xvfz matio-1.5.28.tar.gz
|
||||
$ cd matio-1.5.28
|
||||
$ ./configure
|
||||
$ make
|
||||
$ sudo make install
|
||||
$ sudo ldconfig
|
||||
```
|
||||
|
||||
#### Install [Protocol Buffers](https://developers.google.com/protocol-buffers/ "Protocol Buffers' Homepage"), a portable mechanism for serialization of structured data
|
||||
#### Install [Protocol Buffers](https://protobuf.dev/ "Protocol Buffers' Homepage"), a portable mechanism for serialization of structured data
|
||||
|
||||
GNSS-SDR requires Protocol Buffers v3.0.0 or later. If the packages that come
|
||||
with your distribution are older than that (_e.g._, Ubuntu 16.04 Xenial came
|
||||
@ -489,9 +477,9 @@ For more options, please check the
|
||||
#### Install [Pugixml](https://pugixml.org/ "Pugixml's Homepage"), a light-weight C++ XML processing library
|
||||
|
||||
```
|
||||
$ wget https://github.com/zeux/pugixml/releases/download/v1.13/pugixml-1.13.tar.gz
|
||||
$ tar xvfz pugixml-1.13.tar.gz
|
||||
$ cd pugixml-1.13
|
||||
$ wget https://github.com/zeux/pugixml/releases/download/v1.15/pugixml-1.15.tar.gz
|
||||
$ tar xvfz pugixml-1.15.tar.gz
|
||||
$ cd pugixml-1.15
|
||||
$ mkdir build && cd build
|
||||
$ cmake ..
|
||||
$ make
|
||||
@ -502,8 +490,8 @@ $ sudo ldconfig
|
||||
#### Download [GoogleTest](https://github.com/google/googletest "Googletest Homepage")
|
||||
|
||||
```
|
||||
$ wget https://github.com/google/googletest/archive/refs/tags/v1.13.0.zip
|
||||
$ unzip v1.13.0.zip
|
||||
$ wget https://github.com/google/googletest/archive/refs/tags/v1.16.0.zip
|
||||
$ unzip v1.16.0.zip
|
||||
```
|
||||
|
||||
Please **DO NOT build or install** Google Test. Every user needs to compile
|
||||
@ -527,10 +515,10 @@ downloaded resides. Just type in your terminal (or add it to your
|
||||
`$HOME/.bashrc` file for a permanent solution) the following line:
|
||||
|
||||
```
|
||||
export GTEST_DIR=/home/username/googletest-1.13.0
|
||||
export GTEST_DIR=/home/username/googletest-1.16.0
|
||||
```
|
||||
|
||||
changing `/home/username/googletest-1.13.0` by the actual path where you
|
||||
changing `/home/username/googletest-1.16.0` by the actual path where you
|
||||
unpacked Google Test. If the CMake script does not find that folder, or the
|
||||
environment variable is not defined, or the source code is not installed by a
|
||||
package, then it will download a fresh copy of the Google Test source code and
|
||||
@ -549,18 +537,16 @@ gnss-sdr with the following structure:
|
||||
|
||||
```
|
||||
|-gnss-sdr
|
||||
|---build <- where gnss-sdr is built.
|
||||
|---cmake <- CMake-related files.
|
||||
|---conf <- Configuration files. Each file defines one particular receiver.
|
||||
|---data <- Populate this folder with your captured data.
|
||||
|---docs <- Contains documentation-related files.
|
||||
|---install <- Executables will be placed here.
|
||||
|---src <- Source code folder.
|
||||
|-----algorithms <- Signal processing blocks.
|
||||
|-----core <- Control plane, interfaces, systems' parameters.
|
||||
|-----main <- Main function of the C++ program.
|
||||
|-----tests <- QA code.
|
||||
|-----utils <- some utilities (e.g. Matlab scripts).
|
||||
|---tests <- QA code.
|
||||
|---utils <- some utilities (e.g. Matlab scripts).
|
||||
```
|
||||
|
||||
By default, you will be in the 'main' branch of the Git repository, which
|
||||
@ -581,14 +567,14 @@ readings can be found at our
|
||||
Go to GNSS-SDR's build directory:
|
||||
|
||||
```
|
||||
$ cd gnss-sdr/build
|
||||
$ cd gnss-sdr
|
||||
```
|
||||
|
||||
Configure and build the application:
|
||||
|
||||
```
|
||||
$ cmake ..
|
||||
$ make
|
||||
$ cmake -S . -B build
|
||||
$ cmake --build build
|
||||
```
|
||||
|
||||
By default, CMake will build the Release version, meaning that the compiler will
|
||||
@ -599,8 +585,8 @@ information about the internals of the receiver, as well as more fine-grained
|
||||
logging. This can be done by building the Debug version, by doing:
|
||||
|
||||
```
|
||||
$ cmake -DCMAKE_BUILD_TYPE=Debug ..
|
||||
$ make
|
||||
$ cmake -S . -B build-debug -DCMAKE_BUILD_TYPE=Debug
|
||||
$ cmake --build build-debug
|
||||
```
|
||||
|
||||
This will create four executables at gnss-sdr/install, namely `gnss-sdr`,
|
||||
@ -609,7 +595,7 @@ that folder, but if you prefer to install `gnss-sdr` on your system and have it
|
||||
available anywhere else, do:
|
||||
|
||||
```
|
||||
$ sudo make install
|
||||
$ sudo cmake --install build
|
||||
```
|
||||
|
||||
This will also make a copy of the conf/ folder into
|
||||
@ -618,24 +604,24 @@ directory at your preferred location and store your own configuration and data
|
||||
files there.
|
||||
|
||||
You could be interested in creating the documentation (requires:
|
||||
`sudo apt-get install doxygen-latex` in Ubuntu/Debian) by doing:
|
||||
`sudo apt install doxygen-latex` in Ubuntu/Debian) by doing:
|
||||
|
||||
```
|
||||
$ make doc
|
||||
$ cmake --build build --target doc
|
||||
```
|
||||
|
||||
from the gnss-sdr/build folder. This will generate HTML documentation that can
|
||||
be retrieved pointing your browser of preference to build/docs/html/index.html.
|
||||
If a LaTeX installation is detected in your system,
|
||||
This will generate HTML documentation that can be retrieved pointing your
|
||||
browser of preference to `build/docs/html/index.html`. If a LaTeX installation
|
||||
is detected in your system,
|
||||
|
||||
```
|
||||
$ make pdfmanual
|
||||
$ cmake --build build --target pdfmanual
|
||||
```
|
||||
|
||||
will create a PDF manual at build/docs/GNSS-SDR_manual.pdf. Finally,
|
||||
|
||||
```
|
||||
$ make doc-clean
|
||||
$ cmake --build build --target doc-clean
|
||||
```
|
||||
|
||||
will remove the content of previously generated documentation.
|
||||
@ -653,30 +639,6 @@ the function to execute. It mimics GNU Radio's [VOLK](https://www.libvolk.org/)
|
||||
library, so if you still have not run `volk_profile`, this is a good moment to
|
||||
do so.
|
||||
|
||||
If you are using [Eclipse](https://www.eclipse.org/ide/) as your development
|
||||
environment, CMake can create the project for you. However, if the build
|
||||
directory is a subdirectory of the source directory (as is the case of the
|
||||
`gnss-sdr/build` folder), this is not supported well by Eclipse. It is strongly
|
||||
recommended to use a build directory which is a sibling of the source directory.
|
||||
Hence, type from the `gnss-sdr` root folder:
|
||||
|
||||
```
|
||||
$ cd ..
|
||||
$ mkdir eclipse && cd eclipse
|
||||
$ cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT=TRUE -DCMAKE_ECLIPSE_VERSION=4.5 ../gnss-sdr
|
||||
```
|
||||
|
||||
and then import the created project into Eclipse:
|
||||
|
||||
1. Import project using Menu File -> Import.
|
||||
2. Select General -> Existing projects into workspace.
|
||||
3. Select your root directory: Browse and select your newly created `eclipse/`
|
||||
directory. Keep "Copy projects into workspace" unchecked.
|
||||
4. Click on "Finish" and you will get a fully functional Eclipse project.
|
||||
|
||||
After building the project, you will find the generated binaries at
|
||||
`eclipse/install`.
|
||||
|
||||
#### Build OSMOSDR support (OPTIONAL)
|
||||
|
||||
Install the [OsmoSDR](https://osmocom.org/projects/sdr "OsmoSDR's Homepage")
|
||||
@ -705,9 +667,9 @@ $ sudo ldconfig
|
||||
Then, configure GNSS-SDR to build the `Osmosdr_Signal_Source` by:
|
||||
|
||||
```
|
||||
$ cmake -DENABLE_OSMOSDR=ON ..
|
||||
$ make
|
||||
$ sudo make install
|
||||
$ cmake -S . -B build -DENABLE_OSMOSDR=ON
|
||||
$ cmake --build build
|
||||
$ sudo cmake --install build
|
||||
```
|
||||
|
||||
(in order to disable the `Osmosdr_Signal_Source` compilation, you can pass
|
||||
@ -721,7 +683,7 @@ libraries and [gr-iio](https://github.com/analogdevicesinc/gr-iio.git) (>v0.3)
|
||||
gnuradio block:
|
||||
|
||||
```
|
||||
$ sudo apt-get install libxml2-dev bison flex
|
||||
$ sudo apt install libxml2-dev bison flex
|
||||
$ git clone https://github.com/analogdevicesinc/libiio.git
|
||||
$ cd libiio
|
||||
$ mkdir build
|
||||
@ -748,18 +710,18 @@ $ cd ../..
|
||||
Then configure GNSS-SDR to build the `Fmcomms2_Signal_Source` implementation:
|
||||
|
||||
```
|
||||
$ cd gnss-sdr/build
|
||||
$ cmake -DENABLE_FMCOMMS2=ON ..
|
||||
$ make
|
||||
$ sudo make install
|
||||
$ cd gnss-sdr
|
||||
$ cmake -S . -B build -DENABLE_FMCOMMS2=ON
|
||||
$ cmake --build build
|
||||
$ sudo cmake --install build
|
||||
```
|
||||
|
||||
or configure it to build `Plutosdr_Signal_Source`:
|
||||
|
||||
```
|
||||
$ cmake -DENABLE_PLUTOSDR=ON ..
|
||||
$ make
|
||||
$ sudo make install
|
||||
$ cmake -S . -B build -DENABLE_PLUTOSDR=ON
|
||||
$ cmake --build build
|
||||
$ sudo cmake --install build
|
||||
```
|
||||
|
||||
With `Fmcomms2_Signal_Source` you can use any SDR hardware based on
|
||||
@ -774,9 +736,9 @@ devices.
|
||||
In order to enable the building of blocks that use OpenCL, type:
|
||||
|
||||
```
|
||||
$ cmake -DENABLE_OPENCL=ON ..
|
||||
$ make
|
||||
$ sudo make install
|
||||
$ cmake -S . -B build -DENABLE_OPENCL=ON
|
||||
$ cmake --build build
|
||||
$ sudo cmake --install build
|
||||
```
|
||||
|
||||
#### Build CUDA support (OPTIONAL)
|
||||
@ -788,9 +750,9 @@ data-parallel computations, first you need to install the CUDA Toolkit from
|
||||
Make sure that the SDK samples build well. Then, build GNSS-SDR by doing:
|
||||
|
||||
```
|
||||
$ cmake -DENABLE_CUDA=ON ..
|
||||
$ make
|
||||
$ sudo make install
|
||||
$ cmake -S . -B build -DENABLE_CUDA=ON
|
||||
$ cmake --build build
|
||||
$ sudo cmake --install build
|
||||
```
|
||||
|
||||
Of course, you will also need a GPU that
|
||||
@ -830,10 +792,10 @@ In a terminal, type:
|
||||
```
|
||||
$ sudo port selfupdate
|
||||
$ sudo port upgrade outdated
|
||||
$ sudo port install armadillo cmake pkgconfig protobuf3-cpp pugixml gnutls
|
||||
$ sudo port install armadillo cmake pkgconfig protobuf3-cpp pugixml openssl3
|
||||
$ sudo port install gnuradio +uhd +grc +zeromq
|
||||
$ sudo port install boost matio libad9361-iio libiio google-glog +gflags
|
||||
$ sudo port install py311-mako
|
||||
$ sudo port install boost matio libad9361-iio libiio abseil
|
||||
$ sudo port install py313-mako
|
||||
$ sudo port install doxygen +docs
|
||||
```
|
||||
|
||||
@ -853,7 +815,7 @@ $ port select --list python
|
||||
and you can activate a certain version by typing:
|
||||
|
||||
```
|
||||
$ sudo port select --set python python311
|
||||
$ sudo port select --set python python313
|
||||
```
|
||||
|
||||
### Homebrew
|
||||
@ -867,22 +829,14 @@ $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/inst
|
||||
The script explains what it will do, and then it pauses before doing it. There
|
||||
are more installation options [here](https://docs.brew.sh/Installation.html).
|
||||
|
||||
Install pip3:
|
||||
|
||||
```
|
||||
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
|
||||
$ sudo python3 get-pip.py
|
||||
```
|
||||
|
||||
Install the required dependencies:
|
||||
|
||||
```
|
||||
$ brew update && brew upgrade
|
||||
$ brew install armadillo cmake hdf5 gflags glog gnuradio libmatio log4cpp \
|
||||
openssl pkg-config protobuf pugixml
|
||||
$ pip3 install mako
|
||||
$ brew install armadillo cmake hdf5 gnuradio libmatio openssl pkg-config protobuf pugixml boost
|
||||
$ brew install --cask mactex # when completed, restart Terminal
|
||||
$ brew install graphviz doxygen
|
||||
¢ pip3 install mako
|
||||
```
|
||||
|
||||
For macOS versions older than Sonoma, you will also need LAPACK:
|
||||
@ -894,20 +848,20 @@ $ brew install lapack
|
||||
### Other package managers
|
||||
|
||||
GNU Radio and other dependencies can also be installed using other package
|
||||
managers than Macports, such as [Fink](http://www.finkproject.org/ "Fink").
|
||||
managers than Macports, such as [Fink](https://www.finkproject.org/ "Fink").
|
||||
Since the version of Python that ships with OS X is great for learning but it is
|
||||
not good for development, you could have another Python executable in a
|
||||
non-standard location. If that is the case, you need to inform GNSS-SDR's
|
||||
configuration system by defining the `PYTHON_EXECUTABLE` variable as:
|
||||
|
||||
```
|
||||
$ cmake -DPYTHON_EXECUTABLE=/path/to/bin/python3 ..
|
||||
$ cmake -S . -B build -DPYTHON_EXECUTABLE=/path/to/bin/python3
|
||||
```
|
||||
|
||||
In case you have installed Macports in a non-standard location, you can use:
|
||||
|
||||
```
|
||||
$ cmake -DCMAKE_PREFIX_PATH=/opt/local -DUSE_MACPORTS_PYTHON=/opt/local/bin/python ..
|
||||
$ cmake -S . -B build -DCMAKE_PREFIX_PATH=/opt/local -DUSE_MACPORTS_PYTHON=/opt/local/bin/python
|
||||
```
|
||||
|
||||
changing `/opt/local` by the base directory in which your software is installed.
|
||||
@ -923,17 +877,23 @@ software:
|
||||
|
||||
```
|
||||
$ git clone https://github.com/gnss-sdr/gnss-sdr
|
||||
$ cd gnss-sdr/build
|
||||
$ cmake ..
|
||||
$ make
|
||||
$ cd gnss-sdr
|
||||
$ cmake -S . -B build
|
||||
$ cmake --build build
|
||||
```
|
||||
|
||||
This will create three executables at gnss-sdr/install, namely `gnss-sdr`,
|
||||
This will create three executables at `gnss-sdr/install`, namely `gnss-sdr`,
|
||||
`run_tests` and `volk_gnsssdr_profile`. You can install the software receiver on
|
||||
your system by doing:
|
||||
|
||||
```
|
||||
$ sudo make install
|
||||
$ sudo cmake --install build
|
||||
```
|
||||
|
||||
and uninstall it with:
|
||||
|
||||
```
|
||||
$ sudo cmake --build build --target uninstall
|
||||
```
|
||||
|
||||
Note, it is advisable not to run the install step in a homebrew environment.
|
||||
@ -941,7 +901,7 @@ Note, it is advisable not to run the install step in a homebrew environment.
|
||||
The documentation can be built by:
|
||||
|
||||
```
|
||||
$ make doc
|
||||
$ cmake --build build --target doc
|
||||
```
|
||||
|
||||
and can be viewed doing:
|
||||
@ -984,7 +944,7 @@ do so.
|
||||
</p>
|
||||
|
||||
- **GNSS-SDR in embedded platforms**: we provide a Software Development Kit
|
||||
(SDK) based on [OpenEmbedded](http://www.openembedded.org/wiki/Main_Page) for
|
||||
(SDK) based on [OpenEmbedded](https://www.openembedded.org/wiki/Main_Page) for
|
||||
cross-compiling GNSS-SDR in your desktop computer and for producing
|
||||
executables that can run in embedded platforms, such as Xilinx's Zynq and
|
||||
ZynqMP architectures, Raspberry Pi, and many others. Please check
|
||||
@ -1016,7 +976,7 @@ $ git pull upstream next
|
||||
```
|
||||
|
||||
Before rebuilding the source code, it is safe (and recommended) to remove the
|
||||
remainders of old compilations:
|
||||
remainders of old compilations, _e.g._:
|
||||
|
||||
```
|
||||
$ rm -rf gnss-sdr/build/*
|
||||
@ -1112,7 +1072,7 @@ You can use a single configuration file for processing different data files,
|
||||
specifying the file to be processed with the `--signal_source` flag:
|
||||
|
||||
```
|
||||
$ gnss-sdr --config_file=../conf/my_receiver.conf --signal_source=../data/my_captured_data.dat
|
||||
$ gnss-sdr --config_file=../conf/my_receiver.conf --signal_source=./my_captured_data.dat
|
||||
```
|
||||
|
||||
This will override the `SignalSource.filename` specified in the configuration
|
||||
@ -1497,7 +1457,7 @@ SignalSource.port=1234
|
||||
SignalSource.swap_iq=false
|
||||
SignalSource.repeat=false
|
||||
SignalSource.dump=false
|
||||
SignalSource.dump_filename=../data/signal_source.dat
|
||||
SignalSource.dump_filename=./signal_source.dat
|
||||
```
|
||||
|
||||
Example for a dual-frequency receiver:
|
||||
@ -1591,7 +1551,7 @@ The block can be configured like this:
|
||||
;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz.
|
||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter.dump=false ; #dump: Dump the filtered data to a file.
|
||||
InputFilter.dump_filename=../data/input_filter.dat ; #dump_filename: Log path and filename.
|
||||
InputFilter.dump_filename=./input_filter.dat ; #dump_filename: Log path and filename.
|
||||
InputFilter.input_item_type=gr_complex
|
||||
InputFilter.output_item_type=gr_complex
|
||||
InputFilter.taps_item_type=float
|
||||
@ -1644,7 +1604,7 @@ implements a nearest neighbourhood interpolation:
|
||||
;#[Pass_Through] disables this block
|
||||
Resampler.implementation=Direct_Resampler
|
||||
Resampler.dump=false ; Dumps the resampled data to a file.
|
||||
Resampler.dump_filename=../data/resampler.dat ; log path and filename.
|
||||
Resampler.dump_filename=./resampler.dat ; log path and filename.
|
||||
Resampler.item_type=gr_complex
|
||||
Resampler.sample_freq_in=8000000 ; sample frequency of the input signal
|
||||
Resampler.sample_freq_out=4000000 ; desired sample frequency of the output signal
|
||||
@ -1872,7 +1832,7 @@ Tracking_1B.dll_filter_order=2 ; DLL loop filter order [1], [2] or [3]
|
||||
Tracking_1B.early_late_space_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
```
|
||||
|
||||
More documentation at the
|
||||
@ -1999,11 +1959,11 @@ PVT.rtcm_MT1077_rate_ms=1000
|
||||
Notation (JSON) supported by numerous mapping and GIS software packages,
|
||||
including [OpenLayers](https://openlayers.org),
|
||||
[Leaflet](https://leafletjs.com), [MapServer](https://mapserver.org/),
|
||||
[GeoServer](http://geoserver.org), [GeoDjango](https://www.djangoproject.com),
|
||||
[GDAL](https://gdal.org/), and [CartoDB](https://cartodb.com). It is also
|
||||
possible to use GeoJSON with [PostGIS](https://postgis.net/) and
|
||||
[Mapnik](https://mapnik.org/), both of which handle the format via the GDAL
|
||||
OGR conversion library. The
|
||||
[GeoServer](https://geoserver.org/),
|
||||
[GeoDjango](https://www.djangoproject.com), [GDAL](https://gdal.org/), and
|
||||
[CartoDB](https://cartodb.com). It is also possible to use GeoJSON with
|
||||
[PostGIS](https://postgis.net/) and [Mapnik](https://mapnik.org/), both of
|
||||
which handle the format via the GDAL OGR conversion library. The
|
||||
[Google Maps Javascript API](https://developers.google.com/maps/documentation/javascript/)
|
||||
v3 directly supports the
|
||||
[integration of GeoJSON data layers](https://developers.google.com/maps/documentation/javascript/examples/layer-data-simple),
|
||||
@ -2016,8 +1976,9 @@ PVT.rtcm_MT1077_rate_ms=1000
|
||||
(OGC KML), and it is maintained by the Open Geospatial Consortium, Inc. (OGC).
|
||||
KML files can be displayed in geobrowsers such as
|
||||
[Google Earth](https://www.google.com/earth/),
|
||||
[Marble](https://marble.kde.org), [osgEarth](http://osgearth.org), or used
|
||||
with the [NASA World Wind SDK for Java](https://worldwind.arc.nasa.gov/java/).
|
||||
[Marble](https://marble.kde.org),
|
||||
[osgEarth](https://github.com/gwaldron/osgearth), or used with the
|
||||
[NASA World Wind SDK for Java](https://worldwind.arc.nasa.gov/java/).
|
||||
|
||||
- **GPX** (the GPS Exchange Format) is a lightweight XML data format for the
|
||||
interchange of GPS data (waypoints, routes, and tracks) between applications
|
||||
@ -2052,9 +2013,11 @@ PVT.rtcm_MT1077_rate_ms=1000
|
||||
(usually with other data unknown to the original receiver, such as better
|
||||
models of the atmospheric conditions at time of measurement). RINEX files can
|
||||
be used by software packages such as
|
||||
[GNSSTK](https://github.com/SGL-UT/gnsstk), [RTKLIB](http://www.rtklib.com/),
|
||||
and [gLAB](https://gage.upc.edu/gLAB/). GNSS-SDR by default generates RINEX
|
||||
version [3.02](ftp://igs.org/pub/data/format/rinex302.pdf). If
|
||||
[GNSSTK](https://github.com/SGL-UT/gnsstk), [RTKLIB](https://www.rtklib.com/),
|
||||
and
|
||||
[gLAB](https://gage.upc.edu/en/learning-materials/software-tools/glab-tool-suite).
|
||||
GNSS-SDR by default generates RINEX version
|
||||
[3.02](ftp://igs.org/pub/data/format/rinex302.pdf). If
|
||||
[2.11](ftp://igs.org/pub/data/format/rinex211.txt) is needed, it can be
|
||||
requested through the `rinex_version` parameter in the configuration file:
|
||||
|
||||
|
6
build/.gitignore
vendored
6
build/.gitignore
vendored
@ -1,6 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# SPDX-FileCopyrightText: 2011-2020 Carles Fernandez-Prades <carles.fernandez@cttc.es>
|
||||
# Ignore everything in this directory
|
||||
*
|
||||
# Except this file
|
||||
!.gitignore
|
@ -7,6 +7,10 @@
|
||||
# Avoid using the BLAS and LAPACK implementations that comes with the Accelerate
|
||||
# framework, which causes a bug when the BeiDou constellation is enabled
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
if(NOT BLAS_ROOT)
|
||||
set(BLAS_ROOT_USER_DEFINED /usr/local/lib)
|
||||
else()
|
||||
@ -24,8 +28,8 @@ find_library(BLAS_LIBRARIES
|
||||
PATHS
|
||||
${BLAS_ROOT_USER_DEFINED}
|
||||
${BLAS_ROOT_USER_DEFINED}/lapack
|
||||
/opt/local/lib/lapack
|
||||
/opt/local/lib/
|
||||
${GNSSSDR_LIB_PATHS}/lapack
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
/usr/local/opt/lapack/lib
|
||||
/opt/homebrew/opt/lapack/lib
|
||||
NO_DEFAULT_PATH
|
||||
@ -46,7 +50,7 @@ find_library(LAPACK_LIBRARIES
|
||||
PATHS
|
||||
${BLAS_ROOT_USER_DEFINED}
|
||||
${BLAS_ROOT_USER_DEFINED}/lapack
|
||||
/opt/local/lib/lapack
|
||||
${GNSSSDR_LIB_PATHS}/lapack
|
||||
/usr/local/opt/lapack/lib
|
||||
/opt/homebrew/opt/lapack/lib
|
||||
NO_DEFAULT_PATH
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2023 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2023-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# Downloads and builds the protoc compiler and static libraries of Protocol
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
|
||||
if(NOT GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION)
|
||||
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "25.0")
|
||||
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "30.2")
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_BINARY_DIR)
|
||||
@ -55,6 +55,11 @@ list(APPEND UTF8_LIBRARIES
|
||||
${GNSSSDR_BINARY_DIR}/protobuf-${GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION}/${CMAKE_INSTALL_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}utf8_range${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
)
|
||||
|
||||
set(ABSL_OPTION "")
|
||||
if(CMAKE_VERSION VERSION_LESS "3.16" OR GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION VERSION_LESS "30.0")
|
||||
set(ABSL_OPTION "-Dprotobuf_ABSL_PROVIDER=package")
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(protobuf-${GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION}
|
||||
PREFIX ${GNSSSDR_BINARY_DIR}/protobuf-${GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION}
|
||||
GIT_REPOSITORY https://github.com/protocolbuffers/protobuf
|
||||
@ -73,7 +78,7 @@ ExternalProject_Add(protobuf-${GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION}
|
||||
-DCMAKE_VISIBILITY_INLINES_HIDDEN=1
|
||||
-DCMAKE_INSTALL_PREFIX=${GNSSSDR_BINARY_DIR}/protobuf-${GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION}
|
||||
-Dprotobuf_BUILD_TESTS=OFF
|
||||
-Dprotobuf_ABSL_PROVIDER=package
|
||||
${ABSL_OPTION}
|
||||
${USE_ZLIB}
|
||||
BUILD_COMMAND ${CMAKE_COMMAND}
|
||||
"--build" "${GNSSSDR_BINARY_DIR}/protobuf-${GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION}"
|
||||
|
@ -4,10 +4,14 @@
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(ARCHITECTURE_STRING "(64 bits)")
|
||||
if(CMAKE_VERSION VERSION_LESS 3.19)
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(ARCHITECTURE_STRING "(64 bits)")
|
||||
else()
|
||||
set(ARCHITECTURE_STRING "(32 bits)")
|
||||
endif()
|
||||
else()
|
||||
set(ARCHITECTURE_STRING "(32 bits)")
|
||||
set(ARCHITECTURE_STRING "(${CMAKE_HOST_SYSTEM_PROCESSOR})")
|
||||
endif()
|
||||
|
||||
if(EXISTS "/etc/lsb-release")
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
execute_process(COMMAND uname -v OUTPUT_VARIABLE DARWIN_VERSION)
|
||||
@ -77,3 +77,24 @@ endif()
|
||||
if(NOT MACOS_DISTRIBUTION)
|
||||
set(MACOS_DISTRIBUTION "macOS (Unknown version)")
|
||||
endif()
|
||||
|
||||
set(MACOS_PACKAGES_PREFIX "")
|
||||
# Detect if MacPorts is installed on this system; if so, return base path and version
|
||||
execute_process(COMMAND which port RESULT_VARIABLE DETECT_MACPORTS OUTPUT_VARIABLE MACPORTS_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if(${DETECT_MACPORTS} EQUAL 0)
|
||||
# "/opt/local/bin/port", so we get the parent directory
|
||||
get_filename_component(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY)
|
||||
# "/opt/local/bin", so we get the parent directory
|
||||
get_filename_component(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY)
|
||||
execute_process(COMMAND port version RESULT_VARIABLE DETECT_MACPORTS_VERSION OUTPUT_VARIABLE MACPORTS_VERSION ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" MACPORTS_VERSION "${MACPORTS_VERSION}")
|
||||
set(MACOS_PACKAGES_PREFIX ${MACPORTS_PREFIX})
|
||||
endif()
|
||||
|
||||
# Detect if Homebrew is installed on this system; if so, return base path and version
|
||||
execute_process(COMMAND brew --prefix RESULT_VARIABLE DETECT_HOMEBREW OUTPUT_VARIABLE HOMEBREW_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if(${DETECT_HOMEBREW} EQUAL 0)
|
||||
execute_process(COMMAND brew --version RESULT_VARIABLE DETECT_HOMEBREW_VERSION OUTPUT_VARIABLE HOMEBREW_VERSION ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" HOMEBREW_VERSION "${HOMEBREW_VERSION}")
|
||||
set(MACOS_PACKAGES_PREFIX ${HOMEBREW_PREFIX})
|
||||
endif()
|
||||
|
@ -1,54 +1,24 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2021-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
set(FPHSA_NAME_MISMATCHED ON)
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
find_library(CPUFEATURES_LIBRARIES
|
||||
NAMES cpu_features
|
||||
PATHS /usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
PATHS ${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
find_path(CPUFEATURES_INCLUDE_DIR cpu_features_macros.h
|
||||
PATHS $ENV{CPUFEATURES_DIR}/include
|
||||
$ENV{CPUFEATURES_DIR}
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/sw/include # Fink
|
||||
/opt/local/include # MacPorts
|
||||
/opt/csw/include # Blastwave
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
PATH_SUFFIXES cpu_features
|
||||
)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# - Try to find GFlags
|
||||
@ -25,6 +25,10 @@ if(NOT COMMAND feature_summary)
|
||||
include(FeatureSummary)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
if(NOT GFLAGS_ROOT)
|
||||
set(GFLAGS_ROOT_USER_PROVIDED /usr/local)
|
||||
else()
|
||||
@ -42,9 +46,8 @@ if(APPLE)
|
||||
libgflags.dylib
|
||||
PATHS
|
||||
${GFLAGS_ROOT_USER_PROVIDED}/lib
|
||||
/usr/local/lib
|
||||
/opt/local/lib
|
||||
/opt/homebrew/opt/gflags/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
${GNSSSDR_LIB_PATHS}/opt/gflags/lib
|
||||
)
|
||||
else()
|
||||
find_path(GFlags_ROOT_DIR
|
||||
@ -52,35 +55,7 @@ else()
|
||||
PATHS
|
||||
${GFLAGS_ROOT_USER_PROVIDED}/lib
|
||||
${GFLAGS_ROOT_USER_PROVIDED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
endif()
|
||||
|
||||
@ -92,10 +67,8 @@ if(GFlags_ROOT_DIR)
|
||||
PATHS
|
||||
${GFlags_ROOT_DIR}/src
|
||||
${GFLAGS_ROOT_USER_PROVIDED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
/opt/homebrew/opt/gflags/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
${GNSSSDR_INCLUDE_PATHS}/opt/gflags/include
|
||||
)
|
||||
|
||||
# Find the libraries
|
||||
|
@ -1,13 +1,17 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
if(NOT COMMAND feature_summary)
|
||||
include(FeatureSummary)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
if(NOT GFORTRAN_ROOT)
|
||||
set(GFORTRAN_ROOT_USER_DEFINED /usr/lib)
|
||||
else()
|
||||
@ -20,13 +24,12 @@ if(DEFINED ENV{GFORTRAN_ROOT})
|
||||
)
|
||||
endif()
|
||||
|
||||
set(GCC_MAJOR_SERIES 14 13 12 11 10 9 8 7 6 5)
|
||||
set(GCC_MAJOR_SERIES 15 14 13 12 11 10 9 8 7 6 5)
|
||||
set(GCC4_SERIES 4.9.1 4.9 4.8.3 4.8.1 4.7.2 4.7 4.8.2 4.8 4.7 4.6 4.5 4.4.4 4.4)
|
||||
set(GCC_SERIES ${GCC_MAJOR_SERIES} ${GCC4_SERIES})
|
||||
|
||||
find_library(GFORTRAN NAMES gfortran
|
||||
PATHS ${GFORTRAN_ROOT_USER_DEFINED}
|
||||
/usr/lib64
|
||||
/usr/lib/gcc/x86_64-linux-gnu # Debian
|
||||
/usr/lib/gcc/i386-linux-gnu
|
||||
/usr/lib/gcc/i486-linux-gnu
|
||||
@ -55,6 +58,7 @@ find_library(GFORTRAN NAMES gfortran
|
||||
/usr/lib/gcc/sh4-linux-gnu
|
||||
/usr/lib/gcc/i686-redhat-linux # Fedora
|
||||
/usr/lib64/gcc/x86_64-redhat-linux
|
||||
/usr/lib/gcc/x86_64-redhat-linux
|
||||
/usr/lib/gcc/armv7hl-redhat-linux-gnueabi
|
||||
/usr/lib/gcc/aarch64-redhat-linux
|
||||
/usr/lib/gcc/ppc64le-redhat-linux
|
||||
@ -64,34 +68,13 @@ find_library(GFORTRAN NAMES gfortran
|
||||
/usr/lib/gcc/x86_64-suse-linux
|
||||
/usr/lib/gcc/armv6hl-suse-linux-gnueabi
|
||||
/usr/lib/gcc/armv7hl-suse-linux-gnueabi
|
||||
/usr/lib/gcc/loongarch64-linux-gnu
|
||||
/usr/lib64/gcc/aarch64-suse-linux
|
||||
/usr/lib64/gcc/powerpc64-suse-linux
|
||||
/usr/lib64/gcc/powerpc64le-suse-linux
|
||||
/usr/lib64/gcc/riscv64-suse-linux
|
||||
/usr/lib64/gcc/s390x-suse-linux
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/usr/local/lib/i386
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
PATH_SUFFIXES
|
||||
${GCC_SERIES}
|
||||
)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# - Try to find the Google Glog library
|
||||
@ -28,6 +28,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED GLOG_ROOT)
|
||||
set(GLOG_ROOT /usr /usr/local)
|
||||
endif()
|
||||
@ -45,36 +49,7 @@ macro(_FIND_GLOG_LIBRARIES _var)
|
||||
NAMES ${ARGN}
|
||||
HINTS ${PC_GLOG_LIBDIR}
|
||||
PATHS ${LIB_PATHS}
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/lib/loongarch64-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
${GLOG_ROOT}/lib
|
||||
$ENV{GLOG_ROOT}/lib
|
||||
${GLOG_ROOT}/lib64
|
||||
@ -99,7 +74,7 @@ if(MSVC)
|
||||
${PC_GLOG_INCLUDEDIR}
|
||||
PATHS
|
||||
${GLOG_ROOT}/src/windows
|
||||
${GLOG_ROOT}/src/windows/glog
|
||||
PATH_SUFFIXES glog
|
||||
)
|
||||
else()
|
||||
# Linux/OS X builds
|
||||
@ -107,11 +82,10 @@ else()
|
||||
HINTS
|
||||
${PC_GLOG_INCLUDEDIR}
|
||||
PATHS
|
||||
/usr/include/glog
|
||||
/usr/local/include/glog
|
||||
/opt/local/include/glog # default location in Macports
|
||||
/opt/homebrew/opt/glog/include/glog
|
||||
${GLOG_ROOT}/include/glog
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
${GNSSSDR_INCLUDE_PATHS}/opt/glog/include
|
||||
${GLOG_ROOT}/include
|
||||
PATH_SUFFIXES glog
|
||||
)
|
||||
endif()
|
||||
|
||||
@ -183,4 +157,4 @@ endif()
|
||||
# Fix for glog 0.7.0
|
||||
if(EXISTS ${GLOG_INCLUDE_DIRS}/export.h)
|
||||
set_target_properties(Glog::glog PROPERTIES INTERFACE_COMPILE_DEFINITIONS "GLOG_USE_GLOG_EXPORT")
|
||||
endif()
|
||||
endif()
|
72
cmake/Modules/FindGMP.cmake
Normal file
72
cmake/Modules/FindGMP.cmake
Normal file
@ -0,0 +1,72 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2024-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
if(NOT COMMAND feature_summary)
|
||||
include(FeatureSummary)
|
||||
endif()
|
||||
|
||||
if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
pkg_check_modules(PC_GMP "gmp")
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
set(GMP_DEFINITIONS ${PC_GMP_CFLAGS_OTHER})
|
||||
|
||||
find_path(GMP_INCLUDE_DIR
|
||||
NAMES gmpxx.h
|
||||
HINTS ${PC_GMP_INCLUDEDIR}
|
||||
PATHS ${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
set(GMP_INCLUDE_DIRS ${GMP_INCLUDE_DIR})
|
||||
set(GMP_PC_ADD_CFLAGS "-I${GMP_INCLUDE_DIR}")
|
||||
|
||||
find_library(GMPXX_LIBRARY
|
||||
NAMES gmpxx
|
||||
HINTS ${PC_GMP_LIBDIR}
|
||||
PATHS ${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
find_library(GMP_LIBRARY
|
||||
NAMES gmp
|
||||
HINTS ${PC_GMP_LIBDIR}
|
||||
PATHS ${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
set(GMP_LIBRARIES ${GMPXX_LIBRARY} ${GMP_LIBRARY})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(GMP DEFAULT_MSG GMPXX_LIBRARY GMP_LIBRARY GMP_INCLUDE_DIR)
|
||||
|
||||
if(GMP_FOUND AND NOT TARGET Gmp::gmp)
|
||||
add_library(Gmp::gmp SHARED IMPORTED)
|
||||
set_target_properties(Gmp::gmp PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${GMPXX_LIBRARY}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GMP_INCLUDE_DIR}"
|
||||
INTERFACE_LINK_LIBRARIES "${GMP_LIBRARIES}"
|
||||
)
|
||||
endif()
|
||||
|
||||
set_package_properties(GMP PROPERTIES
|
||||
URL "https://gmplib.org/"
|
||||
)
|
||||
|
||||
if(PC_GMP_VERSION)
|
||||
set_package_properties(GMP PROPERTIES
|
||||
DESCRIPTION "The GNU Multiple Precision Arithmetic Library (found: v.${PC_GMP_VERSION})"
|
||||
)
|
||||
else()
|
||||
set_package_properties(GMP PROPERTIES
|
||||
DESCRIPTION "The GNU Multiple Precision Arithmetic Library"
|
||||
)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(GMPXX_LIBRARY GMP_LIBRARY GMP_INCLUDE_DIR)
|
@ -1,9 +1,13 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2021 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
if(GNSSSIMULATOR_ROOT)
|
||||
set(GNSSSIMULATOR_ROOT_USER_DEFINED ${GNSSSIMULATOR_ROOT})
|
||||
else()
|
||||
@ -25,7 +29,8 @@ find_program(SW_GENERATOR_BIN gnss_sim
|
||||
${GNSSSIMULATOR_ROOT_USER_DEFINED}
|
||||
/usr
|
||||
/usr/local
|
||||
/opt/local
|
||||
${CMAKE_SYSTEM_PREFIX_PATH}
|
||||
${CMAKE_INSTALL_FULL_BINDIR}
|
||||
PATH_SUFFIXES bin
|
||||
ONLY_CMAKE_FIND_ROOT_PATH
|
||||
)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2022 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2022-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# - Find gnsstk library
|
||||
@ -19,6 +19,10 @@ if(NOT COMMAND feature_summary)
|
||||
include(FeatureSummary)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSTK_ROOT)
|
||||
set(GNSSTK_ROOT_USER_DEFINED /usr/local)
|
||||
else()
|
||||
@ -35,17 +39,13 @@ unset(GNSSTK_INCLUDE_DIR CACHE)
|
||||
unset(GNSSTK_USES_GPSTK_NAMESPACE CACHE)
|
||||
find_path(GNSSTK_INCLUDE_DIR gnsstk/Rinex3ObsBase.hpp
|
||||
PATHS ${GNSSTK_ROOT_USER_DEFINED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
set(GNSSTK_NAMES ${CMAKE_FIND_LIBRARY_PREFIXES}gnsstk${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
if(NOT GNSSTK_INCLUDE_DIR)
|
||||
find_path(GNSSTK_INCLUDE_DIR gpstk/Rinex3ObsBase.hpp
|
||||
PATHS ${GNSSTK_ROOT_USER_DEFINED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
if(GNSSTK_INCLUDE_DIR)
|
||||
set(GNSSTK_NAMES gpstk ${CMAKE_FIND_LIBRARY_PREFIXES}gpstk${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
@ -56,12 +56,8 @@ endif()
|
||||
include(GNUInstallDirs)
|
||||
|
||||
find_library(GNSSTK_LIBRARY NAMES ${GNSSTK_NAMES}
|
||||
PATHS ${GNSSTK_ROOT_USER_DEFINED}/lib
|
||||
${GNSSTK_ROOT_USER_DEFINED}/${CMAKE_INSTALL_LIBDIR}
|
||||
/usr/local/lib
|
||||
/usr/${CMAKE_INSTALL_LIBDIR}
|
||||
/usr/local/${CMAKE_INSTALL_LIBDIR}
|
||||
/opt/local/lib
|
||||
PATHS ${GNSSTK_ROOT_USER_DEFINED}/${CMAKE_INSTALL_LIBDIR}
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
if(GNSSTK_LIBRARY AND GNSSTK_INCLUDE_DIR)
|
||||
|
@ -1,18 +1,19 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2021-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
find_program(GNUPLOT_EXECUTABLE
|
||||
NAMES
|
||||
gnuplot
|
||||
pgnuplot
|
||||
PATHS
|
||||
/usr/bin
|
||||
/usr/local/bin
|
||||
/opt/local/bin
|
||||
${GNSSSDR_BIN_PATHS}
|
||||
ONLY_CMAKE_FIND_ROOT_PATH
|
||||
)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2022 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
########################################################################
|
||||
@ -16,6 +16,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
# if GR_REQUIRED_COMPONENTS is not defined, it will be set to the following list
|
||||
@ -93,9 +97,7 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
|
||||
NAMES ${INCFILE}
|
||||
HINTS ${PC_INCDIR}
|
||||
PATHS ${GNURADIO_INSTALL_PREFIX_USER_PROVIDED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
# look for libs
|
||||
@ -103,37 +105,8 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
|
||||
find_library(${LIBVAR_NAME}_${libname}
|
||||
NAMES ${libname} ${libname}-${PC_GNURADIO_RUNTIME_VERSION}
|
||||
HINTS ${PC_LIBDIR}
|
||||
PATHS ${GNURADIO_INSTALL_PREFIX_USER_PROVIDED}/lib
|
||||
${GNURADIO_INSTALL_PREFIX_USER_PROVIDED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
PATHS ${GNURADIO_INSTALL_PREFIX_USER_PROVIDED}/${CMAKE_INSTALL_LIBDIR}
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
list(APPEND ${LIBVAR_NAME} ${${LIBVAR_NAME}_${libname}})
|
||||
endforeach()
|
||||
@ -221,9 +194,7 @@ if(NOT PC_GNURADIO_RUNTIME_VERSION)
|
||||
find_file(GNURADIO_VERSION_GREATER_THAN_373
|
||||
NAMES gnuradio/blocks/tsb_vector_sink_f.h
|
||||
PATHS ${GNURADIO_INSTALL_PREFIX_USER_PROVIDED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
if(GNURADIO_VERSION_GREATER_THAN_373)
|
||||
set(PC_GNURADIO_RUNTIME_VERSION "3.7.4+")
|
||||
@ -232,9 +203,7 @@ if(NOT PC_GNURADIO_RUNTIME_VERSION)
|
||||
find_file(GNURADIO_VERSION_GREATER_THAN_38
|
||||
NAMES gnuradio/filter/mmse_resampler_cc.h
|
||||
PATHS ${GNURADIO_INSTALL_PREFIX_USER_PROVIDED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
if(GNURADIO_VERSION_GREATER_THAN_38)
|
||||
set(PC_GNURADIO_RUNTIME_VERSION "3.8.0+")
|
||||
@ -302,9 +271,7 @@ if(GNURADIO_VERSION VERSION_GREATER 3.8.99)
|
||||
NAMES gnuradio/iio/api.h
|
||||
HINTS ${PC_GNURADIO_IIO_INCLUDEDIR}
|
||||
PATHS ${GNURADIO_INSTALL_PREFIX_USER_PROVIDED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
# look for libs
|
||||
@ -313,35 +280,7 @@ if(GNURADIO_VERSION VERSION_GREATER 3.8.99)
|
||||
HINTS ${PC_GNURADIO_IIO_LIBDIR}
|
||||
PATHS ${GNURADIO_INSTALL_PREFIX_USER_PROVIDED}/lib
|
||||
${GNURADIO_INSTALL_PREFIX_USER_PROVIDED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
if(GNURADIO_IIO_LIBRARIES)
|
||||
@ -418,8 +357,10 @@ if(GNURADIO_RUNTIME_INCLUDE_DIRS)
|
||||
)
|
||||
if(CMAKE_VERSION VERSION_GREATER 3.13)
|
||||
target_link_libraries(Gnuradio::filter INTERFACE Log4cpp::log4cpp)
|
||||
target_link_libraries(Gnuradio::runtime INTERFACE Log4cpp::log4cpp)
|
||||
else()
|
||||
set_target_properties(Gnuradio::filter PROPERTIES INTERFACE_LINK_LIBRARIES Log4cpp::log4cpp)
|
||||
set_target_properties(Gnuradio::runtime PROPERTIES INTERFACE_LINK_LIBRARIES Log4cpp::log4cpp)
|
||||
endif()
|
||||
endif()
|
||||
if(${_uses_spdlog})
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
|
||||
@ -23,6 +23,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PC_GTEST gtest)
|
||||
|
||||
if(NOT GTEST_DIR)
|
||||
@ -44,10 +48,11 @@ find_path(LIBGTEST_DEV_DIR
|
||||
${GTEST_DIR_USER_PROVIDED}/googletest
|
||||
/usr/src/googletest/googletest
|
||||
/usr/src/gtest
|
||||
/usr/include/gtest
|
||||
/usr/local/src/googletest/googletest
|
||||
/opt/local/src/gtest-1.7.0
|
||||
/opt/homebrew/opt/googletest/include/googletest/googletest
|
||||
${GNSSSDR_INCLUDE_PATHS}/gtest
|
||||
${GNSSSDR_INCLUDE_PATHS}/googletest
|
||||
${CMAKE_SYSTEM_PREFIX_PATH}/src/googletest/googletest
|
||||
${CMAKE_SYSTEM_PREFIX_PATH}/src/gtest-1.7.0
|
||||
${CMAKE_SYSTEM_PREFIX_PATH}/opt/googletest/include/googletest/googletest
|
||||
)
|
||||
|
||||
find_path(GTEST_INCLUDE_DIRS
|
||||
@ -55,10 +60,9 @@ find_path(GTEST_INCLUDE_DIRS
|
||||
HINTS ${PC_GTEST_INCLUDEDIR}
|
||||
PATHS
|
||||
${GTEST_DIR_USER_PROVIDED}/googletest/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/src/gtest-1.7.0/include
|
||||
/opt/homebrew/opt/googletest/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
${CMAKE_SYSTEM_PREFIX_PATH}/src/gtest-1.7.0/include
|
||||
${CMAKE_SYSTEM_PREFIX_PATH}/opt/googletest/include
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# Tries to find Gperftools.
|
||||
@ -33,6 +33,10 @@ if(NOT COMMAND feature_summary)
|
||||
include(FeatureSummary)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
if(NOT GPERFTOOLS_ROOT)
|
||||
set(GPERFTOOLS_ROOT_USER_DEFINED /usr/local)
|
||||
else()
|
||||
@ -56,41 +60,27 @@ find_library(GPERFTOOLS_TCMALLOC
|
||||
NAMES tcmalloc
|
||||
PATHS ${GPERFTOOLS_ROOT_USER_DEFINED}/lib
|
||||
${GPERFTOOLS_ROOT_USER_DEFINED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
find_library(GPERFTOOLS_PROFILER
|
||||
NAMES profiler
|
||||
PATHS ${GPERFTOOLS_ROOT_USER_DEFINED}/lib
|
||||
${GPERFTOOLS_ROOT_USER_DEFINED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
find_library(GPERFTOOLS_TCMALLOC_AND_PROFILER
|
||||
NAMES tcmalloc_and_profiler
|
||||
PATHS ${GPERFTOOLS_ROOT_USER_DEFINED}/lib
|
||||
${GPERFTOOLS_ROOT_USER_DEFINED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
find_path(GPERFTOOLS_INCLUDE_DIR
|
||||
NAMES gperftools/heap-profiler.h
|
||||
PATHS /usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GPERFTOOLS_ROOT_USER_DEFINED}/include
|
||||
PATHS ${GPERFTOOLS_ROOT_USER_DEFINED}/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
set(GPERFTOOLS_LIBRARIES ${GPERFTOOLS_TCMALLOC_AND_PROFILER})
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
########################################################################
|
||||
@ -17,6 +17,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PC_GR_DBFCTTC gr-dbfcttc)
|
||||
|
||||
if(NOT GRDBFCTTC_ROOT)
|
||||
@ -46,9 +50,7 @@ find_path(
|
||||
NAMES dbfcttc/api.h
|
||||
HINTS ${PC_GR_DBFCTTC_INCLUDEDIR}
|
||||
PATHS ${GRDBFCTTC_ROOT_USER_DEFINED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
find_library(
|
||||
@ -57,11 +59,7 @@ find_library(
|
||||
HINTS ${PC_GR_DBFCTTC_LIBDIR}
|
||||
PATHS ${GRDBFCTTC_ROOT_USER_DEFINED}/lib
|
||||
${GRDBFCTTC_ROOT_USER_DEFINED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#
|
||||
@ -17,6 +17,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PC_IIO gnuradio-iio)
|
||||
|
||||
if(NOT GRIIO_ROOT)
|
||||
@ -24,31 +28,31 @@ if(NOT GRIIO_ROOT)
|
||||
else()
|
||||
set(GRIIO_ROOT_USER_DEFINED ${GRIIO_ROOT})
|
||||
endif()
|
||||
|
||||
if(DEFINED ENV{GRIIO_ROOT})
|
||||
set(GRIIO_ROOT_USER_DEFINED
|
||||
${GRIIO_ROOT_USER_DEFINED}
|
||||
$ENV{GRIIO_ROOT}
|
||||
)
|
||||
endif()
|
||||
|
||||
if(DEFINED ENV{IIO_DIR})
|
||||
set(GRIIO_ROOT_USER_DEFINED
|
||||
${GRIIO_ROOT_USER_DEFINED}
|
||||
$ENV{IIO_DIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
set(GRIIO_ROOT_USER_DEFINED
|
||||
${GRIIO_ROOT_USER_DEFINED}
|
||||
${CMAKE_INSTALL_PREFIX}
|
||||
)
|
||||
|
||||
|
||||
find_path(IIO_INCLUDE_DIRS
|
||||
NAMES gnuradio/iio/api.h
|
||||
HINTS ${PC_IIO_INCLUDEDIR}
|
||||
PATHS ${GRIIO_ROOT_USER_DEFINED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
if(IIO_INCLUDE_DIRS)
|
||||
@ -58,9 +62,7 @@ else()
|
||||
NAMES iio/api.h
|
||||
HINTS ${PC_IIO_INCLUDEDIR}
|
||||
PATHS ${GRIIO_ROOT_USER_DEFINED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
set(GR_IIO_INCLUDE_HAS_GNURADIO FALSE)
|
||||
endif()
|
||||
@ -70,35 +72,7 @@ find_library(IIO_LIBRARIES
|
||||
HINTS ${PC_IIO_LIBDIR}
|
||||
PATHS ${GRIIO_ROOT_USER_DEFINED}/lib
|
||||
${GRIIO_ROOT_USER_DEFINED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/i686-gnu
|
||||
/usr/lib/i686-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i686-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# Tries to find gr-limesdr.
|
||||
@ -35,6 +35,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(GRLIMESDR_PKG QUIET gnuradio-limesdr)
|
||||
|
||||
if(NOT GRLIMESDR_ROOT)
|
||||
@ -57,9 +61,7 @@ find_path(GRLIMESDR_INCLUDE_DIR
|
||||
${GRLIMESDR_PKG_INCLUDEDIR}
|
||||
PATHS
|
||||
${GRLIMESDR_ROOT_USER_DEFINED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
find_library(GRLIMESDR_LIBRARIES
|
||||
@ -70,35 +72,7 @@ find_library(GRLIMESDR_LIBRARIES
|
||||
PATHS
|
||||
${GRLIMESDR_ROOT_USER_DEFINED}/lib
|
||||
${GRLIMESDR_ROOT_USER_DEFINED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# Tries to find gr-osmosdr.
|
||||
@ -35,6 +35,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(GROSMOSDR_PKG gnuradio-osmosdr)
|
||||
|
||||
if(NOT GROSMOSDR_ROOT)
|
||||
@ -57,9 +61,7 @@ find_path(GROSMOSDR_INCLUDE_DIR
|
||||
${GROSMOSDR_PKG_INCLUDEDIR}
|
||||
PATHS
|
||||
${GROSMOSDR_ROOT_USER_DEFINED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
find_library(GROSMOSDR_LIBRARIES
|
||||
@ -70,35 +72,7 @@ find_library(GROSMOSDR_LIBRARIES
|
||||
PATHS
|
||||
${GROSMOSDR_ROOT_USER_DEFINED}/lib
|
||||
${GROSMOSDR_ROOT_USER_DEFINED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#
|
||||
@ -17,6 +17,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PC_LIBAD9361 libad9361)
|
||||
|
||||
if(NOT LIBAD9361_ROOT)
|
||||
@ -39,9 +43,7 @@ find_path(LIBAD9361_INCLUDE_DIRS
|
||||
NAMES ad9361.h
|
||||
HINTS ${PC_LIBAD9361_INCLUDEDIR}
|
||||
PATHS ${LIBAD9361_ROOT_USER_DEFINED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
find_library(LIBAD9361_LIBRARIES
|
||||
@ -49,35 +51,7 @@ find_library(LIBAD9361_LIBRARIES
|
||||
HINTS ${PC_LIBAD9361_LIBDIR}
|
||||
PATHS ${LIBAD9361_ROOT_USER_DEFINED}/lib
|
||||
${LIBAD9361_ROOT_USER_DEFINED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/i686-gnu
|
||||
/usr/lib/i686-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i686-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
/Library/Frameworks/ad9361.framework
|
||||
)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#
|
||||
@ -17,6 +17,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PC_LIBIIO libiio)
|
||||
|
||||
if(NOT LIBIIO_ROOT)
|
||||
@ -40,9 +44,7 @@ find_path(
|
||||
NAMES iio.h
|
||||
HINTS ${PC_LIBIIO_INCLUDEDIR}
|
||||
PATHS ${LIBIIO_ROOT_USER_DEFINED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
find_library(
|
||||
@ -51,35 +53,7 @@ find_library(
|
||||
HINTS ${PC_LIBIIO_LIBDIR}
|
||||
PATHS ${LIBIIO_ROOT_USER_DEFINED}/lib
|
||||
${LIBIIO_ROOT_USER_DEFINED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/i686-gnu
|
||||
/usr/lib/i686-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i686-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
/Library/Frameworks/iio.framework/
|
||||
)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2022 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2022-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# Find the libunwind library
|
||||
@ -17,30 +17,27 @@ if(NOT COMMAND feature_summary)
|
||||
include(FeatureSummary)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
find_path(LIBUNWIND_INCLUDE_DIR
|
||||
NAMES
|
||||
libunwind.h
|
||||
unwind.h
|
||||
HINTS
|
||||
/usr
|
||||
/usr/local
|
||||
/opt/local
|
||||
PATH_SUFFIXES include
|
||||
PATHS "${LIBUNWIND_ROOT}/include"
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
find_library(LIBUNWIND_GENERIC_LIBRARY
|
||||
NAMES
|
||||
libunwind
|
||||
unwind
|
||||
HINTS
|
||||
/usr
|
||||
/usr/local
|
||||
/opt/local
|
||||
PATH_SUFFIXES lib lib64
|
||||
PATHS
|
||||
"${LIBUNWIND_ROOT}/lib"
|
||||
"${LIBUNWIND_ROOT}/lib64"
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
if(LIBUNWIND_INCLUDE_DIR)
|
||||
@ -70,12 +67,8 @@ if(LIBUNWIND_INCLUDE_DIR)
|
||||
NAMES
|
||||
libunwind-${LIBUNWIND_ARCH}
|
||||
"unwind-${LIBUNWIND_ARCH}"
|
||||
HINTS
|
||||
/usr
|
||||
/usr/local
|
||||
/opt/local
|
||||
PATH_SUFFIXES lib lib64
|
||||
PATHS "${LIBUNWIND_ROOT}"
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
if(NOT LIBUNWIND_SPECIFIC_LIBRARY)
|
||||
message(STATUS " -- Failed to find unwind-${LIBUNWIND_ARCH}")
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# - Find Log4cpp
|
||||
@ -23,6 +23,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PC_LOG4CPP log4cpp QUIET)
|
||||
|
||||
if(LOG4CPP_INCLUDE_DIR)
|
||||
@ -48,9 +52,7 @@ set(LOG4CPP_ROOT_USER_PROVIDED
|
||||
|
||||
find_path(LOG4CPP_INCLUDE_DIR log4cpp/Category.hh
|
||||
${LOG4CPP_ROOT_USER_PROVIDED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
${PC_LOG4CPP_INCLUDEDIR}
|
||||
)
|
||||
|
||||
@ -73,36 +75,8 @@ find_library(LOG4CPP_LIBRARY
|
||||
NAMES ${LOG4CPP_NAMES}
|
||||
HINTS ${PC_LOG4CPP_LIBDIR}
|
||||
PATHS ${LOG4CPP_ROOT_USER_PROVIDED}/lib
|
||||
${LOG4CPP_ROOT_USER_PROVIDED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${LOG4CPP_ROOT_USER_PROVIDED}/lib64
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
if(LOG4CPP_INCLUDE_DIR AND LOG4CPP_LIBRARY)
|
||||
@ -121,7 +95,7 @@ include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(LOG4CPP DEFAULT_MSG LOG4CPP_INCLUDE_DIRS LOG4CPP_LIBRARIES)
|
||||
|
||||
set_package_properties(LOG4CPP PROPERTIES
|
||||
URL "http://log4cpp.sourceforge.net/"
|
||||
URL "https://log4cpp.sourceforge.net/"
|
||||
)
|
||||
|
||||
if(LOG4CPP_FOUND AND PC_LOG4CPP_VERSION)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# FindMATIO
|
||||
@ -55,6 +55,10 @@ if(NOT COMMAND feature_summary)
|
||||
include(FeatureSummary)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
if(NOT MATIO_ROOT)
|
||||
set(MATIO_ROOT_USER_DEFINED /usr)
|
||||
else()
|
||||
@ -72,9 +76,7 @@ find_path(MATIO_INCLUDE_DIR
|
||||
NAMES matio.h
|
||||
PATHS
|
||||
${MATIO_ROOT_USER_DEFINED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include
|
||||
DOC "The MATIO include directory"
|
||||
)
|
||||
@ -85,32 +87,7 @@ find_library(MATIO_LIBRARY
|
||||
PATHS
|
||||
${MATIO_ROOT_USER_DEFINED}/lib
|
||||
${MATIO_ROOT_USER_DEFINED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib
|
||||
DOC "The MATIO library"
|
||||
)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
if(DEFINED __INCLUDED_GNSSSDR_CMAKE_FIND_ORC)
|
||||
@ -17,6 +17,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PC_ORC "orc-0.4 > 0.4.22")
|
||||
|
||||
if(NOT ORC_ROOT)
|
||||
@ -43,18 +47,14 @@ endif()
|
||||
|
||||
find_program(ORCC_EXECUTABLE orcc
|
||||
HINTS ${ORC_ROOT_USER_PROVIDED}/bin
|
||||
PATHS /usr/bin
|
||||
/usr/local/bin
|
||||
/opt/local/bin
|
||||
PATHS ${CMAKE_SYSTEM_PREFIX_PATH}/bin
|
||||
)
|
||||
|
||||
find_path(ORC_INCLUDE_DIR
|
||||
NAMES orc/orc.h
|
||||
HINTS ${PC_ORC_INCLUDEDIR}
|
||||
PATHS ${ORC_ROOT_USER_PROVIDED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
PATH_SUFFIXES orc-0.4
|
||||
)
|
||||
|
||||
@ -63,80 +63,23 @@ find_path(ORC_LIBRARY_DIR
|
||||
HINTS ${PC_ORC_LIBDIR}
|
||||
PATHS ${ORC_ROOT_USER_PROVIDED}/lib
|
||||
${ORC_ROOT_USER_PROVIDED}/lib64
|
||||
${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
find_library(ORC_LIB orc-0.4
|
||||
HINTS ${PC_ORC_LIBRARY_DIRS}
|
||||
PATHS ${ORC_ROOT_USER_PROVIDED}/lib
|
||||
${ORC_ROOT_USER_PROVIDED}/lib64
|
||||
${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
find_library(ORC_LIBRARY_STATIC ${CMAKE_STATIC_LIBRARY_PREFIX}orc-0.4${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
HINTS ${PC_ORC_LIBRARY_DIRS}
|
||||
PATHS ${ORC_ROOT}/lib
|
||||
${ORC_ROOT}/lib64
|
||||
${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
${ORC_ROOT_USER_PROVIDED}/lib
|
||||
${ORC_ROOT_USER_PROVIDED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
if(PC_ORC_VERSION)
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
# - Find pcap
|
||||
# Find the PCAP includes and library
|
||||
# http://www.tcpdump.org/
|
||||
# https://www.tcpdump.org/
|
||||
#
|
||||
# The environment variable PCAPDIR allows to specify where to find
|
||||
# libpcap in non standard location.
|
||||
@ -27,6 +27,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PC_PCAP libpcap QUIET)
|
||||
|
||||
if(NOT PCAP_ROOT)
|
||||
@ -77,9 +81,7 @@ else()
|
||||
${PC_PCAP_INCLUDEDIR}
|
||||
PATHS
|
||||
${PCAP_ROOT_USER_PROVIDED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
find_library(PCAP_LIBRARY
|
||||
NAMES
|
||||
@ -88,32 +90,7 @@ else()
|
||||
${PC_PCAP_LIBDIR}
|
||||
PATHS
|
||||
${PCAP_ROOT_USER_PROVIDED}/lib
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
endif()
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# Find the pugixml XML parsing library.
|
||||
@ -24,6 +24,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PC_PUGIXML pugixml QUIET)
|
||||
|
||||
if(NOT PUGIXML_ROOT)
|
||||
@ -50,11 +54,9 @@ find_path(PUGIXML_INCLUDE_DIR
|
||||
PATHS ${PUGIXML_ROOT_USER_DEFINED}/include
|
||||
${PUGIXML_ROOT_USER_DEFINED}/include/pugixml-${PC_PUGIXML_VERSION}
|
||||
${PUGIXML_ROOT_USER_DEFINED}/include/pugixml-1.9
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/usr/local/include/pugixml-${PC_PUGIXML_VERSION}
|
||||
/usr/local/include/pugixml-1.9
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
${GNSSSDR_INCLUDE_PATHS}/pugixml-${PC_PUGIXML_VERSION}
|
||||
${GNSSSDR_INCLUDE_PATHS}/pugixml-1.9
|
||||
)
|
||||
|
||||
find_library(PUGIXML_LIBRARY
|
||||
@ -66,35 +68,9 @@ find_library(PUGIXML_LIBRARY
|
||||
${PUGIXML_ROOT_USER_DEFINED}/lib64/pugixml-${PC_PUGIXML_VERSION}
|
||||
${PUGIXML_ROOT_USER_DEFINED}}/lib/pugixml-1.9
|
||||
${PUGIXML_ROOT_USER_DEFINED}/lib64/pugixml-1.9
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/usr/local/lib/pugixml-${PC_PUGIXML_VERSION}
|
||||
/usr/local/lib/pugixml-1.9
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
${GNSSSDR_LIB_PATHS}/pugixml-${PC_PUGIXML_VERSION}
|
||||
${GNSSSDR_LIB_PATHS}/pugixml-1.9
|
||||
)
|
||||
|
||||
# Support the REQUIRED and QUIET arguments, and set PUGIXML_FOUND if found.
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#
|
||||
@ -17,6 +17,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PC_TELEORBIT teleorbit QUIET)
|
||||
|
||||
if(NOT TELEORBIT_ROOT)
|
||||
@ -38,10 +42,9 @@ set(TELEORBIT_ROOT_USER_DEFINED
|
||||
find_path(TELEORBIT_INCLUDE_DIRS
|
||||
NAMES teleorbit/api.h
|
||||
HINTS ${PC_TELEORBIT_INCLUDEDIR}
|
||||
PATH_SUFFIXES gnuradio
|
||||
PATHS ${TELEORBIT_ROOT_USER_DEFINED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
find_library(TELEORBIT_LIBRARIES
|
||||
@ -49,11 +52,7 @@ find_library(TELEORBIT_LIBRARIES
|
||||
HINTS ${PC_TELEORBIT_LIBDIR}
|
||||
PATHS ${TELEORBIT_ROOT_USER_DEFINED}/lib
|
||||
${TELEORBIT_ROOT_USER_DEFINED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#
|
||||
@ -20,6 +20,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PC_UHD uhd)
|
||||
|
||||
if(NOT UHD_ROOT)
|
||||
@ -50,9 +54,7 @@ find_path(UHD_INCLUDE_DIRS
|
||||
NAMES uhd/config.hpp
|
||||
HINTS ${PC_UHD_INCLUDEDIR}
|
||||
PATHS ${UHD_ROOT_USER_PROVIDED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
find_library(UHD_LIBRARIES
|
||||
@ -60,35 +62,7 @@ find_library(UHD_LIBRARIES
|
||||
HINTS ${PC_UHD_LIBDIR}
|
||||
PATHS ${UHD_ROOT_USER_PROVIDED}/lib
|
||||
${UHD_ROOT_USER_PROVIDED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#
|
||||
@ -20,6 +20,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PC_VOLK volk QUIET)
|
||||
|
||||
if(NOT VOLK_ROOT)
|
||||
@ -48,9 +52,7 @@ find_path(VOLK_INCLUDE_DIRS
|
||||
NAMES volk/volk.h
|
||||
HINTS ${PC_VOLK_INCLUDEDIR}
|
||||
PATHS ${VOLK_ROOT_USER_PROVIDED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
find_library(VOLK_LIBRARIES
|
||||
@ -58,34 +60,7 @@ find_library(VOLK_LIBRARIES
|
||||
HINTS ${PC_VOLK_LIBDIR}
|
||||
PATHS ${VOLK_ROOT_USER_PROVIDED}/lib
|
||||
${VOLK_ROOT_USER_PROVIDED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#
|
||||
@ -21,6 +21,10 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(PC_VOLK_GNSSSDR QUIET volk_gnsssdr)
|
||||
|
||||
if(NOT VOLKGNSSSDR_ROOT)
|
||||
@ -51,9 +55,7 @@ find_path(VOLK_GNSSSDR_INCLUDE_DIRS
|
||||
NAMES volk_gnsssdr/volk_gnsssdr.h
|
||||
HINTS ${PC_VOLK_GNSSSDR_INCLUDEDIR}
|
||||
PATHS ${VOLKGNSSSDR_ROOT_USER_PROVIDED}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
find_library(VOLK_GNSSSDR_LIBRARIES
|
||||
@ -61,11 +63,7 @@ find_library(VOLK_GNSSSDR_LIBRARIES
|
||||
HINTS ${PC_VOLK_GNSSSDR_LIBDIR}
|
||||
PATHS ${VOLKGNSSSDR_ROOT_USER_PROVIDED}/lib
|
||||
${VOLKGNSSSDR_ROOT_USER_PROVIDED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2023 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-FileCopyrightText: 2024-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#
|
||||
@ -17,44 +17,23 @@ if(NOT PKG_CONFIG_FOUND)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(PC_ZEROMQ "libzmq")
|
||||
|
||||
find_path(ZEROMQ_INCLUDE_DIRS
|
||||
NAMES zmq.hpp
|
||||
HINTS ${PC_ZEROMQ_INCLUDE_DIR} ${CMAKE_INSTALL_PREFIX}/include
|
||||
PATHS /usr/local/include /usr/include /opt/local/include
|
||||
HINTS ${PC_ZEROMQ_INCLUDE_DIR}
|
||||
PATHS ${GNSSSDR_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
find_library(ZEROMQ_LIBRARIES
|
||||
NAMES zmq libzmq.so.5 ${ZEROMQ_LIBRARY_NAME}
|
||||
HINTS ${PC_ZEROMQ_LIBDIR} ${CMAKE_INSTALL_PREFIX}/lib ${CMAKE_INSTALL_PREFIX}/lib64
|
||||
PATHS /usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
HINTS ${PC_ZEROMQ_LIBDIR}
|
||||
PATHS ${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
188
cmake/Modules/GnsssdrCrypto.cmake
Normal file
188
cmake/Modules/GnsssdrCrypto.cmake
Normal file
@ -0,0 +1,188 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2024-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
if(NOT COMMAND feature_summary)
|
||||
include(FeatureSummary)
|
||||
endif()
|
||||
|
||||
if(NOT GNSSSDR_LIB_PATHS)
|
||||
include(GnsssdrFindPaths)
|
||||
endif()
|
||||
|
||||
################################################################################
|
||||
# OpenSSL https://www.openssl.org/
|
||||
################################################################################
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
set(OPENSSL_ROOT_DIR /usr/local/opt/openssl) # Trick for Homebrew
|
||||
endif()
|
||||
unset(OPENSSL_FOUND CACHE)
|
||||
unset(GnuTLS_FOUND CACHE)
|
||||
unset(GMP_FOUND CACHE)
|
||||
if(NOT ENABLE_GNUTLS)
|
||||
find_package(OpenSSL)
|
||||
endif()
|
||||
set_package_properties(OpenSSL
|
||||
PROPERTIES
|
||||
URL "https://www.openssl.org"
|
||||
PURPOSE "Used for the OSNMA and SUPL protocol implementations."
|
||||
TYPE REQUIRED
|
||||
)
|
||||
if(OPENSSL_FOUND)
|
||||
set_package_properties(OpenSSL
|
||||
PROPERTIES
|
||||
DESCRIPTION "Cryptography and SSL/TLS Toolkit (found: v${OPENSSL_VERSION})"
|
||||
)
|
||||
else()
|
||||
set_package_properties(OpenSSL
|
||||
PROPERTIES
|
||||
DESCRIPTION "OpenSSL has not been found, but GnuTLS with openssl compatibility can replace it"
|
||||
)
|
||||
################################################################################
|
||||
# GnuTLS - https://www.gnutls.org/
|
||||
################################################################################
|
||||
find_package(GnuTLS)
|
||||
set_package_properties(GnuTLS PROPERTIES
|
||||
URL "https://www.gnutls.org/"
|
||||
PURPOSE "Used for the OSNMA and SUPL protocol implementations."
|
||||
TYPE REQUIRED
|
||||
)
|
||||
if(GnuTLS_FOUND AND GNUTLS_VERSION_STRING)
|
||||
set_package_properties(GnuTLS PROPERTIES
|
||||
DESCRIPTION "Transport Layer Security Library (found: v${GNUTLS_VERSION_STRING})"
|
||||
)
|
||||
else()
|
||||
set_package_properties(GnuTLS PROPERTIES
|
||||
DESCRIPTION "Transport Layer Security Library"
|
||||
)
|
||||
endif()
|
||||
find_library(GNUTLS_OPENSSL_LIBRARY
|
||||
NAMES gnutls-openssl libgnutls-openssl.so.27
|
||||
PATHS ${GNSSSDR_LIB_PATHS}
|
||||
)
|
||||
|
||||
find_path(GNUTLS_INCLUDE_DIR NAMES gnutls/gnutls.h
|
||||
PATHS
|
||||
${GNSSSDR_INCLUDE_PATHS}
|
||||
${GNUTLS_ROOT_DIR}/include/
|
||||
)
|
||||
|
||||
if(NOT GNUTLS_OPENSSL_LIBRARY)
|
||||
message(" The GnuTLS library with openssl compatibility enabled has not been found.")
|
||||
message(" You can try to install the required libraries by typing:")
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|kFreeBSD|GNU")
|
||||
if(${LINUX_DISTRIBUTION} MATCHES "Fedora" OR ${LINUX_DISTRIBUTION} MATCHES "Red Hat")
|
||||
message(" sudo yum install openssl-devel")
|
||||
else()
|
||||
message(" sudo apt install libgnutls28-dev")
|
||||
endif()
|
||||
endif()
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
message(" 'sudo port install openssl3', if you are using Macports, or")
|
||||
message(" 'brew install openssl', if you are using Homebrew.")
|
||||
endif()
|
||||
message(FATAL_ERROR "OpenSSL or the GnuTLS libraries with openssl compatibility are required to build gnss-sdr")
|
||||
endif()
|
||||
|
||||
# Test GnuTLS capabilities
|
||||
file(READ "${GNUTLS_INCLUDE_DIR}/gnutls/gnutls.h" gnutls_gnutls_file_contents)
|
||||
if("${gnutls_gnutls_file_contents}" MATCHES "GNUTLS_SIGN_ECDSA_SHA256")
|
||||
set(GNUTLS_SIGN_ECDSA_SHA256 TRUE)
|
||||
endif()
|
||||
if("${gnutls_gnutls_file_contents}" MATCHES "GNUTLS_SIGN_ECDSA_SHA512")
|
||||
set(GNUTLS_SIGN_ECDSA_SHA512 TRUE)
|
||||
endif()
|
||||
if("${gnutls_gnutls_file_contents}" MATCHES "GNUTLS_DIG_SHA3_256")
|
||||
set(GNUTLS_DIG_SHA3_256 TRUE)
|
||||
endif()
|
||||
if("${gnutls_gnutls_file_contents}" MATCHES "#define GNUTLS_VERSION_MAJOR 2")
|
||||
set(GNUTLS_HMAC_INIT_WITH_DIGEST TRUE)
|
||||
endif()
|
||||
if("${gnutls_gnutls_file_contents}" MATCHES "GNUTLS_MAC_AES_CMAC_128")
|
||||
set(GNUTLS_MAC_AES_CMAC_128 TRUE)
|
||||
endif()
|
||||
file(READ "${GNUTLS_INCLUDE_DIR}/gnutls/abstract.h" gnutls_abstract_file_contents)
|
||||
if("${gnutls_abstract_file_contents}" MATCHES "gnutls_pubkey_export2")
|
||||
set(GNUTLS_PUBKEY_EXPORT2 TRUE)
|
||||
endif()
|
||||
|
||||
find_package(GMP)
|
||||
set_package_properties(GMP PROPERTIES
|
||||
PURPOSE "Required to decompress cryptographic keys."
|
||||
TYPE REQUIRED
|
||||
)
|
||||
if(NOT GMP_FOUND)
|
||||
message(FATAL_ERROR "GMP is required by gnss-sdr if linking against GnuTLS")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
################################################################################
|
||||
|
||||
function(link_to_crypto_dependencies target)
|
||||
if(OPENSSL_FOUND)
|
||||
if(TARGET OpenSSL::SSL)
|
||||
target_link_libraries(${target}
|
||||
PUBLIC
|
||||
OpenSSL::SSL
|
||||
)
|
||||
if(TARGET OpenSSL::Crypto)
|
||||
target_link_libraries(${target}
|
||||
PUBLIC
|
||||
OpenSSL::Crypto
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
target_link_libraries(${target}
|
||||
PUBLIC
|
||||
${OPENSSL_LIBRARIES}
|
||||
"${OPENSSL_CRYPTO_LIBRARIES}"
|
||||
)
|
||||
target_include_directories(${target}
|
||||
PUBLIC
|
||||
${OPENSSL_INCLUDE_DIR}
|
||||
)
|
||||
endif()
|
||||
if(OPENSSL_VERSION)
|
||||
if(OPENSSL_VERSION VERSION_GREATER "3.0.0")
|
||||
target_compile_definitions(${target} PUBLIC -DUSE_OPENSSL_3=1)
|
||||
else()
|
||||
if(NOT OPENSSL_VERSION VERSION_LESS "1.1.1")
|
||||
target_compile_definitions(${target} PUBLIC -DUSE_OPENSSL_111=1)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
else() # GnuTLS
|
||||
target_link_libraries(${target}
|
||||
PUBLIC
|
||||
${GNUTLS_LIBRARIES}
|
||||
${GNUTLS_OPENSSL_LIBRARY}
|
||||
PRIVATE
|
||||
Gmp::gmp
|
||||
)
|
||||
target_include_directories(${target}
|
||||
PUBLIC
|
||||
${GNUTLS_INCLUDE_DIR}
|
||||
)
|
||||
target_compile_definitions(${target} PUBLIC -DUSE_GNUTLS_FALLBACK=1)
|
||||
if(GNUTLS_SIGN_ECDSA_SHA256)
|
||||
target_compile_definitions(${target} PRIVATE -DHAVE_GNUTLS_SIGN_ECDSA_SHA256=1)
|
||||
endif()
|
||||
if(GNUTLS_SIGN_ECDSA_SHA512)
|
||||
target_compile_definitions(${target} PRIVATE -DHAVE_GNUTLS_SIGN_ECDSA_SHA512=1)
|
||||
endif()
|
||||
if(GNUTLS_DIG_SHA3_256)
|
||||
target_compile_definitions(${target} PRIVATE -DHAVE_GNUTLS_DIG_SHA3_256=1)
|
||||
endif()
|
||||
if(GNUTLS_PUBKEY_EXPORT2)
|
||||
target_compile_definitions(${target} PRIVATE -DHAVE_GNUTLS_PUBKEY_EXPORT2=1)
|
||||
endif()
|
||||
if(GNUTLS_HMAC_INIT_WITH_DIGEST)
|
||||
target_compile_definitions(${target} PRIVATE -DHAVE_GNUTLS_HMAC_INIT_WITH_DIGEST=1)
|
||||
endif()
|
||||
if(GNUTLS_MAC_AES_CMAC_128)
|
||||
target_compile_definitions(${target} PRIVATE -DHAVE_GNUTLS_MAC_AES_CMAC_128=1)
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
93
cmake/Modules/GnsssdrFindPaths.cmake
Normal file
93
cmake/Modules/GnsssdrFindPaths.cmake
Normal file
@ -0,0 +1,93 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2025 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
if(GNSSSDR_LIB_PATHS)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_INSTALL_LIBDIR)
|
||||
include(GNUInstallDirs)
|
||||
endif()
|
||||
|
||||
set(GNSSSDR_LIB_PATHS
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/loongarch64-linux-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/riscv64-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/usr/local/lib/i386
|
||||
${CMAKE_INSTALL_FULL_LIBDIR}
|
||||
${CMAKE_SYSTEM_PREFIX_PATH}/${CMAKE_INSTALL_LIBDIR}
|
||||
${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
)
|
||||
|
||||
set(GNSSSDR_INCLUDE_PATHS
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
${CMAKE_INSTALL_FULL_INCLUDEDIR}
|
||||
${CMAKE_SYSTEM_PREFIX_PATH}/include
|
||||
${CMAKE_INSTALL_PREFIX}/include
|
||||
)
|
||||
|
||||
set(GNSSSDR_BIN_PATHS
|
||||
/usr/bin
|
||||
/usr/local/bin
|
||||
${CMAKE_INSTALL_PREFIX}/bin
|
||||
${CMAKE_INSTALL_FULL_BINDIR}
|
||||
${CMAKE_SYSTEM_PREFIX_PATH}/bin
|
||||
/bin
|
||||
/sbin
|
||||
/usr/sbin
|
||||
)
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
if(NOT MACOS_PACKAGES_PREFIX)
|
||||
include(DetectMacOSVersion)
|
||||
endif()
|
||||
set(GNSSSDR_LIB_PATHS ${GNSSSDR_LIB_PATHS}
|
||||
${MACOS_PACKAGES_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
${MACOS_PACKAGES_PREFIX}/lib
|
||||
${MACOS_PACKAGES_PREFIX}/lib64
|
||||
)
|
||||
set(GNSSSDR_INCLUDE_PATHS ${GNSSSDR_INCLUDE_PATHS}
|
||||
${MACOS_PACKAGES_PREFIX}/include
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/sw/include # Fink
|
||||
/opt/csw/include # Blastwave
|
||||
)
|
||||
set(GNSSSDR_BIN_PATHS ${GNSSSDR_BIN_PATHS}
|
||||
${MACOS_PACKAGES_PREFIX}/bin
|
||||
)
|
||||
endif()
|
||||
|
||||
list(REMOVE_DUPLICATES GNSSSDR_LIB_PATHS)
|
||||
list(REMOVE_DUPLICATES GNSSSDR_INCLUDE_PATHS)
|
23
cmake/Modules/XcodeRemoveWarningDuplicates.cmake
Normal file
23
cmake/Modules/XcodeRemoveWarningDuplicates.cmake
Normal file
@ -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()
|
32
cmake/Toolchains/rv64gcv-linux-gnu.cmake
Normal file
32
cmake/Toolchains/rv64gcv-linux-gnu.cmake
Normal file
@ -0,0 +1,32 @@
|
||||
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
# This file is part of GNSS-SDR.
|
||||
#
|
||||
# Copyright (C) 2011-2025 (see AUTHORS file for a list of contributors)
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR riscv64)
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
|
||||
set(CMAKE_C_FLAGS "$ENV{CFLAGS} -march=rv64gcv" CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "" FORCE)
|
||||
set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -g" CACHE STRING "" FORCE)
|
||||
|
||||
set(CMAKE_OBJCOPY
|
||||
${RISCV64_TOOLCHAIN_DIR}/${TOOLCHAIN_PREFIX}objcopy
|
||||
CACHE INTERNAL "objcopy tool")
|
||||
set(CMAKE_SIZE_UTIL
|
||||
${RISCV64_TOOLCHAIN_DIR}/${TOOLCHAIN_PREFIX}size
|
||||
CACHE INTERNAL "size tool")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${BINUTILS_PATH})
|
||||
|
||||
set(QEMU_VLEN $ENV{VLEN})
|
||||
if(NOT QEMU_VLEN)
|
||||
set(QEMU_VLEN "128")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR "qemu-riscv64-static -L /usr/riscv64-linux-gnu/ -cpu rv64,zba=true,zbb=true,v=on,vlen=${QEMU_VLEN},rvv_ta_all_1s=on,rvv_ma_all_1s=on")
|
@ -50,7 +50,7 @@ InputFilter.grid_density=16
|
||||
InputFilter.sampling_frequency=25000000
|
||||
InputFilter.IF=6250000
|
||||
InputFilter.dump = false
|
||||
InputFilter.dump_filename=/home/dmiralles/Documents/gnss-sdr/src/tests/signal_samples/BdsB1IStr01_fs25e6_if0_4ms.dat
|
||||
InputFilter.dump_filename=/home/dmiralles/Documents/gnss-sdr/tests/signal_samples/BdsB1IStr01_fs25e6_if0_4ms.dat
|
||||
Resampler.implementation=Pass_Through
|
||||
Resampler.sample_freq_in=25000000
|
||||
Resampler.sample_freq_out=25000000
|
@ -51,7 +51,7 @@ InputFilter.grid_density=16
|
||||
InputFilter.sampling_frequency=50000000
|
||||
InputFilter.IF=12500000
|
||||
InputFilter.dump = false
|
||||
InputFilter.dump_filename=/home/dmiralles/Documents/gnss-sdr/src/tests/signal_samples/BdsB3IStr01_fs50e6_if0_4ms.dat
|
||||
InputFilter.dump_filename=/home/dmiralles/Documents/gnss-sdr/tests/signal_samples/BdsB3IStr01_fs50e6_if0_4ms.dat
|
||||
Resampler.implementation=Pass_Through
|
||||
Resampler.sample_freq_in=50000000
|
||||
Resampler.sample_freq_out=50000000
|
@ -12,7 +12,7 @@ GNSS-SDR.internal_fs_sps=30000000
|
||||
|
||||
;######### SIGNAL_SOURCE CONFIG ############
|
||||
SignalSource.implementation=File_Signal_Source
|
||||
;SignalSource.filename=/home/dmiralles/Documents/gnss-sdr/src/tests/signal_samples/USRP_BDS_B2a_201805171115_fs_25e6_if0e3_ishort_200ms.bin
|
||||
;SignalSource.filename=/home/dmiralles/Documents/gnss-sdr/tests/signal_samples/USRP_BDS_B2a_201805171115_fs_25e6_if0e3_ishort_200ms.bin
|
||||
SignalSource.filename=/archive/USRP_BDS_B3I_201805171118_fs_25e6_if0e3_ishort.bin
|
||||
SignalSource.item_type=ishort
|
||||
SignalSource.sampling_frequency=30000000
|
@ -39,7 +39,7 @@ Acquisition_1C.pfa=0.01
|
||||
Acquisition_1C.doppler_max=10000
|
||||
Acquisition_1C.doppler_step=250
|
||||
Acquisition_1C.dump=false
|
||||
Acquisition_1C.dump_filename=../data/kalman/acq_dump
|
||||
Acquisition_1C.dump_filename=./kalman/acq_dump
|
||||
|
||||
;######### TRACKING GLOBAL CONFIG ############
|
||||
Tracking_1C.implementation=GPS_L1_CA_Gaussian_Tracking
|
||||
@ -48,7 +48,7 @@ Tracking_1C.pll_bw_hz=40.0;
|
||||
Tracking_1C.dll_bw_hz=4.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.dump=true
|
||||
Tracking_1C.dump_filename=../data/kalman/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./kalman/epl_tracking_ch_
|
||||
Tracking_1C.bce_run = true;
|
||||
Tracking_1C.p_transient = 0;
|
||||
Tracking_1C.s_transient = 100;
|
@ -34,7 +34,7 @@ DataTypeAdapter.item_type=float
|
||||
;######### INPUT_FILTER CONFIG ############
|
||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter.dump=false
|
||||
InputFilter.dump_filename=../data/input_filter.dat
|
||||
InputFilter.dump_filename=./input_filter.dat
|
||||
InputFilter.input_item_type=float
|
||||
InputFilter.output_item_type=gr_complex
|
||||
InputFilter.taps_item_type=float
|
||||
@ -64,7 +64,7 @@ Resampler.item_type=gr_complex
|
||||
Resampler.sample_freq_in=80000000
|
||||
Resampler.sample_freq_out=4000000
|
||||
Resampler.dump=false
|
||||
Resampler.dump_filename=../data/resampler.dat
|
||||
Resampler.dump_filename=./resampler.dat
|
||||
|
||||
|
||||
;######### CHANNELS GLOBAL CONFIG ############
|
||||
@ -107,7 +107,7 @@ Tracking_1C.item_type=gr_complex
|
||||
Tracking_1C.pll_bw_hz=20.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
@ -30,14 +30,14 @@ SignalConditioner.implementation=Signal_Conditioner
|
||||
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||
DataTypeAdapter.implementation=Ishort_To_Complex
|
||||
DataTypeAdapter.dump=false
|
||||
DataTypeAdapter.dump_filename=../data/data_type_adapter.dat
|
||||
DataTypeAdapter.dump_filename=./data_type_adapter.dat
|
||||
|
||||
;######### INPUT_FILTER CONFIG ############
|
||||
InputFilter.implementation=Pass_Through
|
||||
InputFilter.input_item_type=gr_complex
|
||||
InputFilter.output_item_type=gr_complex
|
||||
InputFilter.dump=false
|
||||
InputFilter.dump_filename=../data/input_filter.dat
|
||||
InputFilter.dump_filename=./input_filter.dat
|
||||
|
||||
|
||||
;######### RESAMPLER CONFIG ############
|
||||
@ -46,7 +46,7 @@ Resampler.item_type=gr_complex
|
||||
Resampler.sample_freq_in=4000000
|
||||
Resampler.sample_freq_out=4000000
|
||||
Resampler.dump=false
|
||||
Resampler.dump_filename=../data/resampler.dat
|
||||
Resampler.dump_filename=./resampler.dat
|
||||
|
||||
|
||||
;######### CHANNELS GLOBAL CONFIG ############
|
@ -30,7 +30,7 @@ SignalConditioner.implementation=Signal_Conditioner
|
||||
|
||||
DataTypeAdapter.implementation=Ishort_To_Complex
|
||||
DataTypeAdapter.dump=false
|
||||
DataTypeAdapter.dump_filename=../data/DataTypeAdapter.dat
|
||||
DataTypeAdapter.dump_filename=./DataTypeAdapter.dat
|
||||
|
||||
InputFilter.implementation=Pass_Through
|
||||
InputFilter.input_item_type=gr_complex
|
||||
@ -67,7 +67,7 @@ Tracking_1C.pll_bw_hz=40.0;
|
||||
Tracking_1C.dll_bw_hz=4.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_c
|
||||
Tracking_1C.dump_filename=./epl_tracking_c
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
@ -24,7 +24,7 @@ SignalSource.sampling_frequency=4000000
|
||||
SignalSource.samples=0
|
||||
SignalSource.repeat=false
|
||||
SignalSource.dump=false
|
||||
SignalSource.dump_filename=../data/signal_source.dat
|
||||
SignalSource.dump_filename=./signal_source.dat
|
||||
SignalSource.enable_throttle_control=false
|
||||
|
||||
|
@ -51,7 +51,7 @@ DataTypeAdapter0.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter0.dump=false
|
||||
InputFilter0.dump_filename=../data/input_filter.dat
|
||||
InputFilter0.dump_filename=./input_filter.dat
|
||||
InputFilter0.input_item_type=gr_complex
|
||||
InputFilter0.output_item_type=gr_complex
|
||||
InputFilter0.taps_item_type=float
|
||||
@ -86,7 +86,7 @@ DataTypeAdapter1.item_type=gr_complex
|
||||
;######### INPUT_FILTER 1 CONFIG ############
|
||||
InputFilter1.implementation=Pass_Through
|
||||
InputFilter1.dump=false
|
||||
InputFilter1.dump_filename=../data/input_filter.dat
|
||||
InputFilter1.dump_filename=./input_filter.dat
|
||||
InputFilter1.input_item_type=gr_complex
|
||||
InputFilter1.output_item_type=gr_complex
|
||||
|
||||
@ -103,7 +103,7 @@ DataTypeAdapter2.item_type=gr_complex
|
||||
;######### INPUT_FILTER 2 CONFIG ############
|
||||
InputFilter2.implementation=Pass_Through
|
||||
InputFilter2.dump=false
|
||||
InputFilter2.dump_filename=../data/input_filter.dat
|
||||
InputFilter2.dump_filename=./input_filter.dat
|
||||
InputFilter2.input_item_type=gr_complex
|
||||
InputFilter2.output_item_type=gr_complex
|
||||
|
||||
@ -153,7 +153,7 @@ Tracking_1C.dll_bw_narrow_hz=2.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.early_late_space_chips=0.5;
|
||||
Tracking_1C.dump=true
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
@ -50,7 +50,7 @@ DataTypeAdapter0.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter0.dump=false
|
||||
InputFilter0.dump_filename=../data/input_filter.dat
|
||||
InputFilter0.dump_filename=./input_filter.dat
|
||||
InputFilter0.input_item_type=gr_complex
|
||||
InputFilter0.output_item_type=gr_complex
|
||||
InputFilter0.taps_item_type=float
|
||||
@ -85,7 +85,7 @@ DataTypeAdapter1.item_type=gr_complex
|
||||
;######### INPUT_FILTER 1 CONFIG ############
|
||||
InputFilter1.implementation=Pass_Through
|
||||
InputFilter1.dump=false
|
||||
InputFilter1.dump_filename=../data/input_filter.dat
|
||||
InputFilter1.dump_filename=./input_filter.dat
|
||||
InputFilter1.input_item_type=gr_complex
|
||||
InputFilter1.output_item_type=gr_complex
|
||||
|
||||
@ -102,7 +102,7 @@ DataTypeAdapter2.item_type=gr_complex
|
||||
;######### INPUT_FILTER 2 CONFIG ############
|
||||
InputFilter2.implementation=Pass_Through
|
||||
InputFilter2.dump=false
|
||||
InputFilter2.dump_filename=../data/input_filter.dat
|
||||
InputFilter2.dump_filename=./input_filter.dat
|
||||
InputFilter2.input_item_type=gr_complex
|
||||
InputFilter2.output_item_type=gr_complex
|
||||
|
@ -51,7 +51,7 @@ DataTypeAdapter0.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter0.dump=false
|
||||
InputFilter0.dump_filename=../data/input_filter.dat
|
||||
InputFilter0.dump_filename=./input_filter.dat
|
||||
InputFilter0.input_item_type=gr_complex
|
||||
InputFilter0.output_item_type=gr_complex
|
||||
InputFilter0.taps_item_type=float
|
||||
@ -85,7 +85,7 @@ DataTypeAdapter1.item_type=gr_complex
|
||||
;######### INPUT_FILTER 1 CONFIG ############
|
||||
InputFilter1.implementation=Pass_Through
|
||||
InputFilter1.dump=false
|
||||
InputFilter1.dump_filename=../data/input_filter.dat
|
||||
InputFilter1.dump_filename=./input_filter.dat
|
||||
InputFilter1.input_item_type=gr_complex
|
||||
InputFilter1.output_item_type=gr_complex
|
||||
|
||||
@ -102,7 +102,7 @@ DataTypeAdapter2.item_type=gr_complex
|
||||
;######### INPUT_FILTER 2 CONFIG ############
|
||||
InputFilter2.implementation=Pass_Through
|
||||
InputFilter2.dump=false
|
||||
InputFilter2.dump_filename=../data/input_filter.dat
|
||||
InputFilter2.dump_filename=./input_filter.dat
|
||||
InputFilter2.input_item_type=gr_complex
|
||||
InputFilter2.output_item_type=gr_complex
|
||||
|
@ -50,7 +50,7 @@ DataTypeAdapter0.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter0.dump=false
|
||||
InputFilter0.dump_filename=../data/input_filter.dat
|
||||
InputFilter0.dump_filename=./input_filter.dat
|
||||
InputFilter0.input_item_type=gr_complex
|
||||
InputFilter0.output_item_type=gr_complex
|
||||
InputFilter0.taps_item_type=float
|
||||
@ -85,7 +85,7 @@ DataTypeAdapter1.item_type=gr_complex
|
||||
;######### INPUT_FILTER 1 CONFIG ############
|
||||
InputFilter1.implementation=Pass_Through
|
||||
InputFilter1.dump=false
|
||||
InputFilter1.dump_filename=../data/input_filter.dat
|
||||
InputFilter1.dump_filename=./input_filter.dat
|
||||
InputFilter1.input_item_type=gr_complex
|
||||
InputFilter1.output_item_type=gr_complex
|
||||
|
||||
@ -102,7 +102,7 @@ DataTypeAdapter2.item_type=gr_complex
|
||||
;######### INPUT_FILTER 2 CONFIG ############
|
||||
InputFilter2.implementation=Pass_Through
|
||||
InputFilter2.dump=false
|
||||
InputFilter2.dump_filename=../data/input_filter.dat
|
||||
InputFilter2.dump_filename=./input_filter.dat
|
||||
InputFilter2.input_item_type=gr_complex
|
||||
InputFilter2.output_item_type=gr_complex
|
||||
|
@ -50,7 +50,7 @@ DataTypeAdapter0.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter0.dump=false
|
||||
InputFilter0.dump_filename=../data/input_filter.dat
|
||||
InputFilter0.dump_filename=./input_filter.dat
|
||||
InputFilter0.input_item_type=gr_complex
|
||||
InputFilter0.output_item_type=gr_complex
|
||||
InputFilter0.taps_item_type=float
|
||||
@ -85,7 +85,7 @@ DataTypeAdapter1.item_type=gr_complex
|
||||
;######### INPUT_FILTER 1 CONFIG ############
|
||||
InputFilter1.implementation=Pass_Through
|
||||
InputFilter1.dump=false
|
||||
InputFilter1.dump_filename=../data/input_filter.dat
|
||||
InputFilter1.dump_filename=./input_filter.dat
|
||||
InputFilter1.input_item_type=gr_complex
|
||||
InputFilter1.output_item_type=gr_complex
|
||||
|
||||
@ -102,7 +102,7 @@ DataTypeAdapter2.item_type=gr_complex
|
||||
;######### INPUT_FILTER 2 CONFIG ############
|
||||
InputFilter2.implementation=Pass_Through
|
||||
InputFilter2.dump=false
|
||||
InputFilter2.dump_filename=../data/input_filter.dat
|
||||
InputFilter2.dump_filename=./input_filter.dat
|
||||
InputFilter2.input_item_type=gr_complex
|
||||
InputFilter2.output_item_type=gr_complex
|
||||
|
@ -54,7 +54,7 @@ DataTypeAdapter0.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter0.dump=false
|
||||
InputFilter0.dump_filename=../data/input_filter.dat
|
||||
InputFilter0.dump_filename=./input_filter.dat
|
||||
InputFilter0.input_item_type=gr_complex
|
||||
InputFilter0.output_item_type=gr_complex
|
||||
InputFilter0.taps_item_type=float
|
||||
@ -93,7 +93,7 @@ DataTypeAdapter1.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter1.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter1.dump=false
|
||||
InputFilter1.dump_filename=../data/input_filter_ch1.dat
|
||||
InputFilter1.dump_filename=./input_filter_ch1.dat
|
||||
InputFilter1.input_item_type=gr_complex
|
||||
InputFilter1.output_item_type=gr_complex
|
||||
InputFilter1.taps_item_type=float
|
||||
@ -129,7 +129,7 @@ DataTypeAdapter2.item_type=gr_complex
|
||||
;######### INPUT_FILTER 2 CONFIG ############
|
||||
InputFilter2.implementation=Pass_Through
|
||||
InputFilter2.dump=false
|
||||
InputFilter2.dump_filename=../data/input_filter.dat
|
||||
InputFilter2.dump_filename=./input_filter.dat
|
||||
InputFilter2.input_item_type=gr_complex
|
||||
InputFilter2.output_item_type=gr_complex
|
||||
|
@ -56,7 +56,7 @@ DataTypeAdapter0.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter0.dump=false
|
||||
InputFilter0.dump_filename=../data/input_filter.dat
|
||||
InputFilter0.dump_filename=./input_filter.dat
|
||||
InputFilter0.input_item_type=gr_complex
|
||||
InputFilter0.output_item_type=gr_complex
|
||||
InputFilter0.taps_item_type=float
|
||||
@ -95,7 +95,7 @@ DataTypeAdapter1.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter1.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter1.dump=false
|
||||
InputFilter1.dump_filename=../data/input_filter_ch1.dat
|
||||
InputFilter1.dump_filename=./input_filter_ch1.dat
|
||||
InputFilter1.input_item_type=gr_complex
|
||||
InputFilter1.output_item_type=gr_complex
|
||||
InputFilter1.taps_item_type=float
|
||||
@ -131,7 +131,7 @@ DataTypeAdapter2.item_type=gr_complex
|
||||
;######### INPUT_FILTER 2 CONFIG ############
|
||||
InputFilter2.implementation=Pass_Through
|
||||
InputFilter2.dump=false
|
||||
InputFilter2.dump_filename=../data/input_filter.dat
|
||||
InputFilter2.dump_filename=./input_filter.dat
|
||||
InputFilter2.input_item_type=gr_complex
|
||||
InputFilter2.output_item_type=gr_complex
|
||||
|
||||
@ -190,7 +190,7 @@ Acquisition_1C.dump_filename=./acq_dump.dat
|
||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||
Tracking_1C.item_type=gr_complex
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
Tracking_1C.pll_bw_hz=40.0;
|
||||
Tracking_1C.dll_bw_hz=1.5;
|
||||
Tracking_1C.order=3;
|
||||
@ -215,7 +215,7 @@ Tracking_2S.dll_bw_hz=0.3;
|
||||
Tracking_2S.order=3;
|
||||
Tracking_2S.early_late_space_chips=0.5;
|
||||
Tracking_2S.dump=true
|
||||
Tracking_2S.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_2S.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;# GALILEO E1B
|
@ -56,7 +56,7 @@ DataTypeAdapter0.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter0.dump=false
|
||||
InputFilter0.dump_filename=../data/input_filter_ch0.dat
|
||||
InputFilter0.dump_filename=./input_filter_ch0.dat
|
||||
InputFilter0.input_item_type=gr_complex
|
||||
InputFilter0.output_item_type=gr_complex
|
||||
InputFilter0.taps_item_type=float
|
||||
@ -95,7 +95,7 @@ DataTypeAdapter1.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter1.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter1.dump=false
|
||||
InputFilter1.dump_filename=../data/input_filter_ch1.dat
|
||||
InputFilter1.dump_filename=./input_filter_ch1.dat
|
||||
InputFilter1.input_item_type=gr_complex
|
||||
InputFilter1.output_item_type=gr_complex
|
||||
InputFilter1.taps_item_type=float
|
||||
@ -136,7 +136,7 @@ DataTypeAdapter2.item_type=gr_complex
|
||||
;######### INPUT_FILTER 2 CONFIG ############
|
||||
InputFilter2.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter2.dump=false
|
||||
InputFilter2.dump_filename=../data/input_filter_ch2.dat
|
||||
InputFilter2.dump_filename=./input_filter_ch2.dat
|
||||
InputFilter2.input_item_type=gr_complex
|
||||
InputFilter2.output_item_type=gr_complex
|
||||
InputFilter2.taps_item_type=float
|
||||
@ -271,7 +271,7 @@ Acquisition_5X.doppler_max=5000
|
||||
Acquisition_5X.doppler_step=125
|
||||
Acquisition_5X.bit_transition_flag=false
|
||||
Acquisition_5X.max_dwells=1
|
||||
Acquisition_5X.CAF_window_hz=0 ; **Only for E5a** Resolves doppler ambiguity averaging the specified BW in the winner code delay. If set to 0 CAF filter is desactivated. Recommended value 3000 Hz
|
||||
Acquisition_5X.CAF_window_hz=0 ; **Only for E5a** Resolves doppler ambiguity averaging the specified BW in the winner code delay. If set to 0 CAF filter is deactivated. Recommended value 3000 Hz
|
||||
Acquisition_5X.Zero_padding=0 ; **Only for E5a** Avoids power loss and doppler ambiguity in bit transitions by correlating one code with twice the input data length, ensuring that at least one full code is present without transitions. If set to 1 it is ON, if set to 0 it is OFF.
|
||||
Acquisition_5X.dump=false
|
||||
Acquisition_5X.dump_filename=./acq_dump.dat
|
||||
@ -286,7 +286,7 @@ Tracking_1C.dll_bw_hz=3.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.early_late_space_chips=0.5;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;######### GALILEO E1 TRK CONFIG ############
|
||||
@ -298,7 +298,7 @@ Tracking_1B.order=3;
|
||||
Tracking_1B.early_late_space_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
|
||||
|
||||
;######### GPS L2C GENERIC TRACKING CONFIG ############
|
@ -56,7 +56,7 @@ DataTypeAdapter0.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter0.dump=false
|
||||
InputFilter0.dump_filename=../data/input_filter_ch0.dat
|
||||
InputFilter0.dump_filename=./input_filter_ch0.dat
|
||||
InputFilter0.input_item_type=gr_complex
|
||||
InputFilter0.output_item_type=gr_complex
|
||||
InputFilter0.taps_item_type=float
|
||||
@ -94,7 +94,7 @@ DataTypeAdapter1.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter1.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter1.dump=false
|
||||
InputFilter1.dump_filename=../data/input_filter_ch1.dat
|
||||
InputFilter1.dump_filename=./input_filter_ch1.dat
|
||||
InputFilter1.input_item_type=gr_complex
|
||||
InputFilter1.output_item_type=gr_complex
|
||||
InputFilter1.taps_item_type=float
|
||||
@ -130,7 +130,7 @@ DataTypeAdapter2.item_type=gr_complex
|
||||
;######### INPUT_FILTER 2 CONFIG ############
|
||||
InputFilter2.implementation=Pass_Through
|
||||
InputFilter2.dump=false
|
||||
InputFilter2.dump_filename=../data/input_filter.dat
|
||||
InputFilter2.dump_filename=./input_filter.dat
|
||||
InputFilter2.input_item_type=gr_complex
|
||||
InputFilter2.output_item_type=gr_complex
|
||||
|
||||
@ -212,7 +212,7 @@ Tracking_1C.dll_bw_hz=3.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.early_late_space_chips=0.5;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;######### GPS L2C GENERIC TRACKING CONFIG ############
|
@ -30,7 +30,7 @@ SignalConditioner.implementation=Signal_Conditioner
|
||||
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||
DataTypeAdapter.implementation=Ishort_To_Complex
|
||||
DataTypeAdapter.dump=false
|
||||
DataTypeAdapter.dump_filename=../data/data_type_adapter.dat
|
||||
DataTypeAdapter.dump_filename=./data_type_adapter.dat
|
||||
|
||||
;######### INPUT_FILTER CONFIG ############
|
||||
InputFilter.implementation=Pass_Through
|
||||
@ -39,7 +39,7 @@ InputFilter.implementation=Pass_Through
|
||||
;######### RESAMPLER CONFIG ############
|
||||
Resampler.implementation=Pass_Through
|
||||
Resampler.dump=false
|
||||
Resampler.dump_filename=../data/resampler.dat
|
||||
Resampler.dump_filename=./resampler.dat
|
||||
Resampler.item_type=gr_complex
|
||||
|
||||
|
||||
@ -70,7 +70,7 @@ Tracking_1B.order=3;
|
||||
Tracking_1B.early_late_space_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
|
||||
;######### TELEMETRY DECODER CONFIG ############
|
||||
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
@ -41,7 +41,7 @@ Resampler.item_type=gr_complex
|
||||
Resampler.sample_freq_in=4000000
|
||||
Resampler.sample_freq_out=4000000
|
||||
Resampler.dump=false
|
||||
Resampler.dump_filename=../data/resampler.dat
|
||||
Resampler.dump_filename=./resampler.dat
|
||||
|
||||
|
||||
;######### CHANNELS GLOBAL CONFIG ############
|
||||
@ -75,7 +75,7 @@ Tracking_1B.early_late_space_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.track_pilot=true
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER CONFIG ############
|
@ -25,7 +25,7 @@ SignalSource.sampling_frequency=20480000
|
||||
SignalSource.samples=0 ; 0 means the entire file
|
||||
SignalSource.repeat=false
|
||||
SignalSource.dump=false
|
||||
SignalSource.dump_filename=../data/signal_source.dat
|
||||
SignalSource.dump_filename=./signal_source.dat
|
||||
SignalSource.enable_throttle_control=false
|
||||
|
||||
|
||||
@ -62,7 +62,7 @@ InputFilter.sampling_frequency=20480000
|
||||
InputFilter.IF=5499998.47412109
|
||||
InputFilter.decimation_factor=8
|
||||
InputFilter.dump=false
|
||||
InputFilter.dump_filename=../data/input_filter.dat
|
||||
InputFilter.dump_filename=./input_filter.dat
|
||||
|
||||
|
||||
;######### RESAMPLER CONFIG ############
|
||||
@ -96,7 +96,7 @@ Tracking_1B.order=3;
|
||||
Tracking_1B.early_late_space_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER CONFIG ############
|
@ -35,7 +35,7 @@ SignalSource.sampling_frequency=50000000
|
||||
SignalSource.samples=0
|
||||
SignalSource.repeat=false
|
||||
SignalSource.dump=false
|
||||
SignalSource.dump_filename=../data/signal_source.dat
|
||||
SignalSource.dump_filename=./signal_source.dat
|
||||
SignalSource.enable_throttle_control=false
|
||||
|
||||
|
||||
@ -68,13 +68,13 @@ InputFilter.sampling_frequency=50000000
|
||||
InputFilter.IF=-15345000
|
||||
InputFilter.decimation_factor=1
|
||||
InputFilter.dump=false
|
||||
InputFilter.dump_filename=../data/input_filter.dat
|
||||
InputFilter.dump_filename=./input_filter.dat
|
||||
|
||||
|
||||
;######### RESAMPLER CONFIG ############
|
||||
Resampler.implementation=Pass_Through
|
||||
Resampler.dump=false
|
||||
Resampler.dump_filename=../data/resampler.dat
|
||||
Resampler.dump_filename=./resampler.dat
|
||||
|
||||
|
||||
;######### CHANNELS GLOBAL CONFIG ############
|
||||
@ -111,7 +111,7 @@ Acquisition_5X.doppler_max=10000
|
||||
Acquisition_5X.doppler_step=250
|
||||
Acquisition_5X.bit_transition_flag=false
|
||||
Acquisition_5X.max_dwells=1
|
||||
Acquisition_5X.CAF_window_hz=0 ; **Only for E5a** Resolves doppler ambiguity averaging the specified BW in the winner code delay. If set to 0 CAF filter is desactivated. Recommended value 3000 Hz
|
||||
Acquisition_5X.CAF_window_hz=0 ; **Only for E5a** Resolves doppler ambiguity averaging the specified BW in the winner code delay. If set to 0 CAF filter is deactivated. Recommended value 3000 Hz
|
||||
Acquisition_5X.Zero_padding=0 ; **Only for E5a** Avoids power loss and doppler ambiguity in bit transitions by correlating one code with twice the input data length, ensuring that at least one full code is present without transitions. If set to 1 it is ON, if set to 0 it is OFF.
|
||||
Acquisition_5X.dump=false
|
||||
Acquisition_5X.dump_filename=./acq_dump.dat
|
@ -81,7 +81,7 @@ Acquisition_1B.doppler_max=5000
|
||||
Acquisition_1B.doppler_step=125
|
||||
Acquisition_1B.bit_transition_flag=true
|
||||
Acquisition_1B.dump=false
|
||||
Acquisition_1B.dump_filename=../data/acq_dump.dat
|
||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
||||
|
||||
|
||||
;######### TRACKING GPS CONFIG ############
|
||||
@ -91,7 +91,7 @@ Tracking_1C.pll_bw_hz=30.0;
|
||||
Tracking_1C.dll_bw_hz=2.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;######### TRACKING GALILEO CONFIG ############
|
||||
@ -109,7 +109,7 @@ Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.early_late_space_narrow_chips=0.06;
|
||||
Tracking_1B.very_early_late_space_narrow_chips=0.25;
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
@ -25,7 +25,7 @@ SignalSource.sampling_frequency=16368000
|
||||
SignalSource.samples=0
|
||||
SignalSource.repeat=false
|
||||
SignalSource.dump=false
|
||||
SignalSource.dump_filename=../data/signal_source.dat
|
||||
SignalSource.dump_filename=./signal_source.dat
|
||||
SignalSource.enable_throttle_control=false
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ DataTypeAdapter.item_type=gr_complex
|
||||
;######### INPUT_FILTER CONFIG ############
|
||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter.dump=false
|
||||
InputFilter.dump_filename=../data/input_filter.dat
|
||||
InputFilter.dump_filename=./input_filter.dat
|
||||
|
||||
InputFilter.input_item_type=gr_complex
|
||||
InputFilter.output_item_type=gr_complex
|
||||
@ -110,7 +110,7 @@ Acquisition_1B.doppler_max=5000
|
||||
Acquisition_1B.doppler_step=125
|
||||
Acquisition_1B.bit_transition_flag=true
|
||||
Acquisition_1B.dump=false
|
||||
Acquisition_1B.dump_filename=../data/acq_dump.dat
|
||||
Acquisition_1B.dump_filename=./acq_dump.dat
|
||||
|
||||
|
||||
;######### TRACKING GPS CONFIG ############
|
||||
@ -120,7 +120,7 @@ Tracking_1C.pll_bw_hz=40.0;
|
||||
Tracking_1C.dll_bw_hz=2.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
;######### TRACKING GALILEO CONFIG ############
|
||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||
@ -137,7 +137,7 @@ Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.early_late_space_narrow_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_narrow_chips=0.30;
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
@ -11,7 +11,7 @@ GNSS-SDR.num_sources=2
|
||||
|
||||
;######### SIGNAL_SOURCE CONFIG ############
|
||||
SignalSource0.implementation=File_Signal_Source
|
||||
SignalSource0.filename=../data/NT1065_L1_20160923_fs6625e6_if60e3_schar.bin ; <- PUT YOUR FILE HERE
|
||||
SignalSource0.filename=./NT1065_L1_20160923_fs6625e6_if60e3_schar.bin ; <- PUT YOUR FILE HERE
|
||||
SignalSource0.item_type=ibyte
|
||||
SignalSource0.sampling_frequency=6625000
|
||||
SignalSource0.samples=0
|
||||
@ -19,7 +19,7 @@ SignalSource0.dump=false;
|
||||
SignalSource0.dump_filename=/archive/signal_glonass.bin
|
||||
|
||||
SignalSource1.implementation=File_Signal_Source
|
||||
SignalSource1.filename=../data/NT1065_GLONASS_L1_20160923_fs6625e6_if0e3_schar.bin ; <- PUT YOUR FILE HERE
|
||||
SignalSource1.filename=./NT1065_GLONASS_L1_20160923_fs6625e6_if0e3_schar.bin ; <- PUT YOUR FILE HERE
|
||||
SignalSource1.item_type=ibyte
|
||||
SignalSource1.sampling_frequency=6625000
|
||||
SignalSource1.samples=0
|
@ -23,7 +23,7 @@ SignalSource.repeat=false
|
||||
SignalSource.sample_type=iq
|
||||
SignalSource.seconds_to_skip=0
|
||||
SignalSource.dump=false
|
||||
SignalSource.dump_filename=../data/signal_source.dat
|
||||
SignalSource.dump_filename=./signal_source.dat
|
||||
SignalSource.enable_throttle_control=false
|
||||
|
||||
|
||||
@ -69,7 +69,7 @@ Acquisition_1R.tong_max_dwells=20
|
||||
Tracking_1R.implementation=GLONASS_L1_CA_DLL_PLL_C_Aid_Tracking
|
||||
Tracking_1R.item_type=cshort
|
||||
Tracking_1R.dump=false
|
||||
Tracking_1R.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1R.dump_filename=./epl_tracking_ch_
|
||||
Tracking_1R.pll_bw_hz=40.0;
|
||||
Tracking_1R.dll_bw_hz=4.0;
|
||||
Tracking_1R.order=3;
|
@ -35,7 +35,7 @@ InputFilter.implementation=Pass_Through
|
||||
InputFilter.input_item_type=gr_complex
|
||||
InputFilter.output_item_type=gr_complex
|
||||
InputFilter.dump=false
|
||||
InputFilter.dump_filename=../data/input_filter.dat
|
||||
InputFilter.dump_filename=./input_filter.dat
|
||||
|
||||
|
||||
;######### RESAMPLER CONFIG ############
|
||||
@ -44,7 +44,7 @@ Resampler.item_type=gr_complex
|
||||
Resampler.sample_freq_in=20000000
|
||||
Resampler.sample_freq_out=20000000
|
||||
Resampler.dump=false
|
||||
Resampler.dump_filename=../data/resampler.dat
|
||||
Resampler.dump_filename=./resampler.dat
|
||||
|
||||
|
||||
;######### CHANNELS GLOBAL CONFIG ############
|
||||
@ -113,7 +113,7 @@ Tracking_1C.dll_bw_hz=2.0;
|
||||
Tracking_1C.dll_bw_narrow_hz=1.5;
|
||||
Tracking_1C.order=2;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;######### TRACKING GALILEO CONFIG ############
|
||||
@ -125,7 +125,7 @@ Tracking_1B.order=3;
|
||||
Tracking_1B.early_late_space_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
@ -22,7 +22,7 @@ SignalSource.sampling_frequency=4000000
|
||||
SignalSource.samples=0
|
||||
SignalSource.repeat=false
|
||||
SignalSource.dump=false
|
||||
SignalSource.dump_filename=../data/signal_source.dat
|
||||
SignalSource.dump_filename=./signal_source.dat
|
||||
SignalSource.enable_throttle_control=false
|
||||
|
||||
|
||||
@ -32,12 +32,12 @@ SignalConditioner.implementation=Signal_Conditioner
|
||||
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||
DataTypeAdapter.implementation=Ibyte_To_Complex
|
||||
DataTypeAdapter.dump=false
|
||||
DataTypeAdapter.dump_filename=../data/DataTypeAdapter.dat
|
||||
DataTypeAdapter.dump_filename=./DataTypeAdapter.dat
|
||||
|
||||
;######### INPUT_FILTER CONFIG ############
|
||||
InputFilter.implementation=Pass_Through
|
||||
InputFilter.dump=false
|
||||
InputFilter.dump_filename=../data/input_filter.dat
|
||||
InputFilter.dump_filename=./input_filter.dat
|
||||
InputFilter.input_item_type=gr_complex
|
||||
InputFilter.output_item_type=gr_complex
|
||||
|
||||
@ -106,14 +106,14 @@ Tracking_1C.order=3;
|
||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||
Tracking_1B.item_type=gr_complex
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
Tracking_1B.pll_bw_hz=15.0;
|
||||
Tracking_1B.dll_bw_hz=2.0;
|
||||
Tracking_1B.order=3;
|
||||
Tracking_1B.early_late_space_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
@ -85,7 +85,7 @@ Tracking_1C.dll_bw_hz=2.0;
|
||||
Tracking_1C.dll_bw_narrow_hz=2.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.dump=true
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;######### TRACKING GALILEO CONFIG ############
|
||||
@ -98,7 +98,7 @@ Tracking_1B.order=3;
|
||||
Tracking_1B.early_late_space_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
@ -56,7 +56,7 @@ InputFilter.output_item_type=gr_complex
|
||||
Resampler.implementation=Pass_Through
|
||||
Resampler.item_type=gr_complex
|
||||
Resampler.dump=false
|
||||
Resampler.dump_filename=../data/resampler.dat
|
||||
Resampler.dump_filename=./resampler.dat
|
||||
|
||||
|
||||
;######### CHANNELS GLOBAL CONFIG ############
|
||||
@ -111,7 +111,7 @@ Tracking_1C.pll_bw_hz=50.0;
|
||||
Tracking_1C.dll_bw_hz=5.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;######### TRACKING GALILEO CONFIG ############
|
||||
@ -123,7 +123,7 @@ Tracking_1B.order=3;
|
||||
Tracking_1B.early_late_space_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
@ -57,7 +57,7 @@ DataTypeAdapter0.item_type=gr_complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter0.dump=false
|
||||
InputFilter0.dump_filename=../data/input_filter_ch0.dat
|
||||
InputFilter0.dump_filename=./input_filter_ch0.dat
|
||||
InputFilter0.input_item_type=gr_complex
|
||||
InputFilter0.output_item_type=gr_complex
|
||||
InputFilter0.taps_item_type=float
|
||||
@ -96,7 +96,7 @@ DataTypeAdapter1.item_type=gr_complex
|
||||
;######### INPUT_FILTER 1 CONFIG ############
|
||||
InputFilter1.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter1.dump=false
|
||||
InputFilter1.dump_filename=../data/input_filter_ch1.dat
|
||||
InputFilter1.dump_filename=./input_filter_ch1.dat
|
||||
InputFilter1.input_item_type=gr_complex
|
||||
InputFilter1.output_item_type=gr_complex
|
||||
InputFilter1.taps_item_type=float
|
||||
@ -135,7 +135,7 @@ DataTypeAdapter2.item_type=gr_complex
|
||||
;######### INPUT_FILTER 2 CONFIG ############
|
||||
InputFilter2.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter2.dump=false
|
||||
InputFilter2.dump_filename=../data/input_filter_ch2.dat
|
||||
InputFilter2.dump_filename=./input_filter_ch2.dat
|
||||
InputFilter2.input_item_type=gr_complex
|
||||
InputFilter2.output_item_type=gr_complex
|
||||
InputFilter2.taps_item_type=float
|
||||
@ -266,7 +266,7 @@ Acquisition_5X.doppler_max=5000
|
||||
Acquisition_5X.doppler_step=125
|
||||
Acquisition_5X.bit_transition_flag=false
|
||||
Acquisition_5X.max_dwells=1
|
||||
Acquisition_5X.CAF_window_hz=0 ; **Only for E5a** Resolves doppler ambiguity averaging the specified BW in the winner code delay. If set to 0 CAF filter is desactivated. Recommended value 3000 Hz
|
||||
Acquisition_5X.CAF_window_hz=0 ; **Only for E5a** Resolves doppler ambiguity averaging the specified BW in the winner code delay. If set to 0 CAF filter is deactivated. Recommended value 3000 Hz
|
||||
Acquisition_5X.Zero_padding=0 ; **Only for E5a** Avoids power loss and doppler ambiguity in bit transitions by correlating one code with twice the input data length, ensuring that at least one full code is present without transitions. If set to 1 it is ON, if set to 0 it is OFF.
|
||||
Acquisition_5X.dump=false
|
||||
Acquisition_5X.dump_filename=./acq_dump.dat
|
||||
@ -294,7 +294,7 @@ Tracking_1C.dll_bw_hz=2.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.early_late_space_chips=0.5;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
;######### GALILEO E1 TRK CONFIG ############
|
||||
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||
@ -305,7 +305,7 @@ Tracking_1B.order=3;
|
||||
Tracking_1B.early_late_space_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
|
||||
|
||||
;######### GPS L2C GENERIC TRACKING CONFIG ############
|
@ -45,7 +45,7 @@ DataTypeAdapter0.implementation=Ishort_To_Complex
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter0.implementation=Pass_Through
|
||||
InputFilter0.dump=false
|
||||
InputFilter0.dump_filename=../data/input_filter.dat
|
||||
InputFilter0.dump_filename=./input_filter.dat
|
||||
InputFilter0.input_item_type=gr_complex
|
||||
InputFilter0.output_item_type=gr_complex
|
||||
|
||||
@ -54,7 +54,7 @@ InputFilter0.output_item_type=gr_complex
|
||||
;######### RESAMPLER 1 CONFIG ############
|
||||
Resampler1.implementation=Pass_Through
|
||||
Resampler1.dump=false
|
||||
Resampler1.dump_filename=../data/resampler.dat
|
||||
Resampler1.dump_filename=./resampler.dat
|
||||
Resampler1.item_type=gr_complex
|
||||
Resampler1.sample_freq_in=4000000
|
||||
Resampler1.sample_freq_out=4000000
|
||||
@ -73,7 +73,7 @@ InputFilter1.dump=false
|
||||
;######### RESAMPLER 1 CONFIG ############
|
||||
Resampler1.implementation=Pass_Through
|
||||
Resampler1.dump=false
|
||||
Resampler1.dump_filename=../data/resampler.dat.
|
||||
Resampler1.dump_filename=./resampler.dat.
|
||||
Resampler1.item_type=gr_complex
|
||||
Resampler1.sample_freq_in=4000000
|
||||
Resampler1.sample_freq_out=4000000
|
||||
@ -126,7 +126,7 @@ Tracking_1C.pll_bw_hz=45.0;
|
||||
Tracking_1C.dll_bw_hz=4.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;######### TRACKING GALILEO CONFIG ############
|
||||
@ -138,7 +138,7 @@ Tracking_1B.order=3;
|
||||
Tracking_1B.early_late_space_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
@ -48,7 +48,7 @@ DataTypeAdapter0.item_type=float
|
||||
;######### INPUT_FILTER 0 CONFIG ############
|
||||
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter0.dump=false
|
||||
InputFilter0.dump_filename=../data/input_filter.dat
|
||||
InputFilter0.dump_filename=./input_filter.dat
|
||||
InputFilter0.input_item_type=float
|
||||
InputFilter0.output_item_type=gr_complex
|
||||
InputFilter0.taps_item_type=float
|
||||
@ -83,7 +83,7 @@ DataTypeAdapter1.item_type=float
|
||||
;######### INPUT_FILTER 1 CONFIG ############
|
||||
InputFilter1.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter1.dump=false
|
||||
InputFilter1.dump_filename=../data/input_filter.dat
|
||||
InputFilter1.dump_filename=./input_filter.dat
|
||||
InputFilter1.input_item_type=float
|
||||
InputFilter1.output_item_type=gr_complex
|
||||
InputFilter1.taps_item_type=float
|
||||
@ -184,7 +184,7 @@ Tracking_1C.pll_bw_hz=45.0;
|
||||
Tracking_1C.dll_bw_hz=2.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;######### TRACKING GALILEO CONFIG ############
|
||||
@ -196,7 +196,7 @@ Tracking_1B.order=3;
|
||||
Tracking_1B.early_late_space_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
@ -39,7 +39,7 @@ SignalSource.sampling_frequency=20480000
|
||||
SignalSource.samples=0
|
||||
SignalSource.repeat=false
|
||||
SignalSource.dump=false
|
||||
SignalSource.dump_filename=../data/signal_source.dat
|
||||
SignalSource.dump_filename=./signal_source.dat
|
||||
SignalSource.enable_throttle_control=false
|
||||
|
||||
|
||||
@ -53,7 +53,7 @@ DataTypeAdapter.item_type=float
|
||||
;######### INPUT_FILTER CONFIG ############
|
||||
InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter.dump=false
|
||||
InputFilter.dump_filename=../data/input_filter.dat
|
||||
InputFilter.dump_filename=./input_filter.dat
|
||||
InputFilter.input_item_type=float
|
||||
InputFilter.output_item_type=gr_complex
|
||||
InputFilter.taps_item_type=float
|
||||
@ -80,7 +80,7 @@ InputFilter.decimation_factor=8
|
||||
;######### RESAMPLER CONFIG ############
|
||||
Resampler.implementation=Pass_Through
|
||||
Resampler.dump=false
|
||||
Resampler.dump_filename=../data/resampler.dat
|
||||
Resampler.dump_filename=./resampler.dat
|
||||
Resampler.item_type=gr_complex
|
||||
|
||||
|
||||
@ -120,7 +120,7 @@ Tracking_1C.pll_bw_hz=45.0;
|
||||
Tracking_1C.dll_bw_hz=2.0;
|
||||
Tracking_1C.order=3;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
;######### GPS L2C GENERIC TRACKING CONFIG ############
|
||||
Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking
|
||||
@ -130,7 +130,7 @@ Tracking_2S.dll_bw_hz=0.4;
|
||||
Tracking_2S.order=2;
|
||||
Tracking_2S.early_late_space_chips=0.5;
|
||||
Tracking_2S.dump=true
|
||||
Tracking_2S.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_2S.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
@ -37,7 +37,7 @@ SignalSource.repeat=false
|
||||
;#dump: Dump the Signal source data to a file. Disable this option in this version
|
||||
SignalSource.dump=false
|
||||
|
||||
SignalSource.dump_filename=../data/signal_source.dat
|
||||
SignalSource.dump_filename=./signal_source.dat
|
||||
|
||||
|
||||
;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing.
|
||||
@ -72,12 +72,12 @@ InputFilter.implementation=Freq_Xlating_Fir_Filter
|
||||
InputFilter.dump=false
|
||||
|
||||
;#dump_filename: Log path and filename.
|
||||
InputFilter.dump_filename=../data/input_filter.dat
|
||||
InputFilter.dump_filename=./input_filter.dat
|
||||
|
||||
;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation.
|
||||
;#These options are based on parameters of gnuradio's function: gr_remez.
|
||||
;#These function calculates the optimal (in the Chebyshev/minimax sense) FIR filter inpulse
|
||||
;#reponse given a set of band edges, the desired reponse on those bands,
|
||||
;#response given a set of band edges, the desired response on those bands,
|
||||
;#and the weight given to the error in those bands.
|
||||
|
||||
;#input_item_type: Type and resolution for input signal samples. Use only gr_complex in this version.
|
||||
@ -169,7 +169,7 @@ Tracking_1C.implementation=GPS_L1_CA_Gaussian_Tracking
|
||||
Tracking_1C.item_type=gr_complex
|
||||
Tracking_1C.if=0
|
||||
Tracking_1C.dump=true
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
Tracking_1C.pll_bw_hz=15.0;
|
||||
Tracking_1C.dll_bw_hz=2.0;
|
||||
Tracking_1C.order=3;
|
@ -22,7 +22,7 @@ SignalSource.sampling_frequency=20480000
|
||||
SignalSource.samples=0
|
||||
SignalSource.repeat=false
|
||||
SignalSource.dump=false
|
||||
SignalSource.dump_filename=../data/signal_source.dat
|
||||
SignalSource.dump_filename=./signal_source.dat
|
||||
SignalSource.enable_throttle_control=false
|
||||
|
||||
|
||||
@ -56,7 +56,7 @@ InputFilter.sampling_frequency=20480000
|
||||
InputFilter.IF=5499998.47412109
|
||||
InputFilter.decimation_factor=8
|
||||
InputFilter.dump=false
|
||||
InputFilter.dump_filename=../data/input_filter.dat
|
||||
InputFilter.dump_filename=./input_filter.dat
|
||||
|
||||
|
||||
;######### RESAMPLER CONFIG ############
|
||||
@ -129,7 +129,7 @@ Tracking_1C.dll_bw_hz=2.0;
|
||||
Tracking_1C.dll_bw_narrow_hz=1.5;
|
||||
Tracking_1C.order=2;
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
|
||||
|
||||
;######### TRACKING GALILEO CONFIG ############
|
||||
@ -141,7 +141,7 @@ Tracking_1B.order=3;
|
||||
Tracking_1B.early_late_space_chips=0.15;
|
||||
Tracking_1B.very_early_late_space_chips=0.6;
|
||||
Tracking_1B.dump=false
|
||||
Tracking_1B.dump_filename=../data/veml_tracking_ch_
|
||||
Tracking_1B.dump_filename=./veml_tracking_ch_
|
||||
|
||||
|
||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
@ -17,19 +17,23 @@
|
||||
;GNSS-SDR.init_altitude_m=329.11968943169342
|
||||
|
||||
; Barcelona CTTC
|
||||
GNSS-SDR.init_latitude_deg=41.27719585553101
|
||||
GNSS-SDR.init_longitude_deg=1.988782985790802
|
||||
GNSS-SDR.init_altitude_m=10
|
||||
;GNSS-SDR.init_latitude_deg=41.27719585553101
|
||||
;GNSS-SDR.init_longitude_deg=1.988782985790802
|
||||
;GNSS-SDR.init_altitude_m=10
|
||||
|
||||
; Mozoncillo
|
||||
;GNSS-SDR.init_latitude_deg=41.14534824586196
|
||||
;GNSS-SDR.init_longitude_deg=-4.187125019737464
|
||||
;GNSS-SDR.init_altitude_m=900
|
||||
|
||||
; ICEBAR - Jukkasjarvi
|
||||
GNSS-SDR.init_latitude_deg=67.849722
|
||||
GNSS-SDR.init_longitude_deg=20.594444
|
||||
GNSS-SDR.init_altitude_m=325
|
||||
|
||||
;######### GLOBAL OPTIONS ##################
|
||||
;internal_fs_sps: Internal signal sampling frequency after the signal conditioning stage [samples per second].
|
||||
GNSS-SDR.internal_fs_sps=2000000
|
||||
GNSS-SDR.internal_fs_sps=2048000
|
||||
|
||||
;######### SUPL RRLP GPS assistance configuration #####
|
||||
; Check https://www.mcc-mnc.com/
|
||||
@ -40,10 +44,10 @@ GNSS-SDR.SUPL_gps_ephemeris_server=supl.google.com
|
||||
GNSS-SDR.SUPL_gps_ephemeris_port=7275
|
||||
GNSS-SDR.SUPL_gps_acquisition_server=supl.google.com
|
||||
GNSS-SDR.SUPL_gps_acquisition_port=7275
|
||||
GNSS-SDR.SUPL_MCC=217
|
||||
GNSS-SDR.SUPL_MNC=7
|
||||
GNSS-SDR.SUPL_LAC=861
|
||||
GNSS-SDR.SUPL_CI=40184
|
||||
GNSS-SDR.SUPL_MCC=240
|
||||
GNSS-SDR.SUPL_MNC=08
|
||||
GNSS-SDR.SUPL_LAC=46003
|
||||
GNSS-SDR.SUPL_CI=425950
|
||||
|
||||
;######### SIGNAL_SOURCE CONFIG ############
|
||||
SignalSource.implementation=Osmosdr_Signal_Source
|
||||
@ -52,7 +56,7 @@ SignalSource.freq=1575420000
|
||||
;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
|
||||
SignalSource.item_type=gr_complex
|
||||
;#sampling_frequency: Original Signal sampling frequency in samples per second
|
||||
SignalSource.sampling_frequency=2000000
|
||||
SignalSource.sampling_frequency=2048000
|
||||
;#gain: Front-end Gain in [dB]
|
||||
SignalSource.gain=40
|
||||
SignalSource.rf_gain=40
|
||||
@ -81,7 +85,7 @@ SignalSource.repeat=false
|
||||
;#dump: Dump the Signal source data to a file.
|
||||
SignalSource.dump=false
|
||||
|
||||
SignalSource.dump_filename=../data/signal_source.dat
|
||||
SignalSource.dump_filename=./signal_source.dat
|
||||
|
||||
;######### SIGNAL_CONDITIONER CONFIG ############
|
||||
;## It holds blocks to change data type, filter and resample input data.
|
||||
@ -98,7 +102,7 @@ DataTypeAdapter.implementation=Pass_Through
|
||||
;#dump: Dump the filtered data to a file.
|
||||
DataTypeAdapter.dump=false
|
||||
;#dump_filename: Log path and filename.
|
||||
DataTypeAdapter.dump_filename=../data/data_type_adapter.dat
|
||||
DataTypeAdapter.dump_filename=./data_type_adapter.dat
|
||||
|
||||
;######### INPUT_FILTER CONFIG ############
|
||||
;## Filter the input data. Can be combined with frequency translation for IF signals
|
||||
@ -172,7 +176,7 @@ InputFilter.decimation_factor=1
|
||||
InputFilter.dump=false
|
||||
|
||||
;#dump_filename: Log path and filename.
|
||||
InputFilter.dump_filename=../data/input_filter.dat
|
||||
InputFilter.dump_filename=./input_filter.dat
|
||||
|
||||
;######### RESAMPLER CONFIG ############
|
||||
;## Resamples the input data.
|
||||
@ -200,3 +204,4 @@ Acquisition.max_dwells=15
|
||||
Acquisition.dump=false
|
||||
;#filename: Log path and filename
|
||||
Acquisition.dump_filename=./acq_dump.dat
|
||||
|
@ -21,7 +21,7 @@ SignalSource.item_type=gr_complex
|
||||
SignalSource.samples=250000000
|
||||
SignalSource.repeat=false
|
||||
SignalSource.dump=false
|
||||
SignalSource.dump_filename=../data/signal_source.dat
|
||||
SignalSource.dump_filename=./signal_source.dat
|
||||
SignalSource.enable_throttle_control=false
|
||||
|
||||
|
||||
@ -51,7 +51,7 @@ Acquisition_1C.dump_filename=./acq_dump.dat
|
||||
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking_GPU
|
||||
Tracking_1C.item_type=gr_complex
|
||||
Tracking_1C.dump=false
|
||||
Tracking_1C.dump_filename=../data/epl_tracking_ch_
|
||||
Tracking_1C.dump_filename=./epl_tracking_ch_
|
||||
Tracking_1C.pll_bw_hz=45.0;
|
||||
Tracking_1C.dll_bw_hz=2.0;
|
||||
Tracking_1C.order=3;
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user