aboutsummaryrefslogtreecommitdiffstats
path: root/host/cmake
Commit message (Collapse)AuthorAgeFilesLines
* cmake: Add check for libatomic linking requirementMartin Braun2021-08-271-0/+80
| | | | | | | | | | Some archs require linking against libatomic, others don't. We add some CMake code that checks for libatomic.so requirement if: - We are not on MSVC, AND - Compiling std::atomics code would cause a linker error. We then check for the existence of libatomic.so, and fail if we can't find it.
* cmake: Fix VS names and use relative for imagesSteven Koo2021-08-041-5/+9
| | | | | | | | | | cmake has newer variables to identify specific Visual Studio version. This change updates to use those. This also changes how images files are globbed to be relative paths, which is useful if build files are moved from machine to machine. This case is possible in Azure Pipeline's CI. Signed-off-by: Steven Koo <steven.koo@ni.com>
* uhd: Update version, manifest, and changelogsAaron Rossetto2021-07-212-3/+25
| | | | | | | | | | | | | | | | | | | Recently, we released UHD v4.1.0.1, which addressed some bugs that found their way into the UHD v4.1.0.0 release. While the changes that addressed those bugs were made in the master branch, they were cherry-picked into the UHD-4.1 branch, and the v4.1.0.1 release was made from that branch. However, the version, manifest, and changelogs were updated only in the UHD-4.1 branch, not in master. The effect of that is that the current master (a.k.a. the absolute latest, perhaps unstable, use-at-your-own-risk code) branch's version, manifest, and changelogs still reflect the v4.1.0.0 release. Furthermore, the UHD documentation refers to the manifest file in the master branch as the way to get (at least) the most recent filesystem and FPGA artifacts. Not updating the manifest in master renders that documentation inaccurate. This commit updates those details in master to reflect the latest v4.1.0.1 release artifacts, and updates the version of master to 4.2.0-git.
* cmake: correctly set and unset any CMAKE_REQUIRED variablesMichael Dickens2021-07-061-0/+3
|
* cmake: fix finding PkgConfig to work robustly (without CMake warnings)Michael Dickens2021-07-062-2/+2
|
* uhd: Prepare branch for 4.1.0.0 releaseAaron Rossetto2021-06-301-0/+1
| | | | | | | | | uhd: Update CHANGELOG debian: Update changelog images: change filesystem version to v4.1 Signed-off-by: Aaron Rossetto <aaron.rossetto@ni.com> Signed-off-by: Steven Koo <steven.koo@ni.com>
* uhd: Update minimum version of dependenciesAaron Rossetto2021-06-281-1/+1
| | | | | | | | | | | The minimum version of the following dependencies have been updated for UHD 4.1: * GCC: 5.4.0 --> 6.3.0 * Clang: 3.8.0 --> 6.0.0 * Apple Clang: 600 --> 800 * Python: 3.5 --> 3.6 * Boost: 1.58 --> 1.65
* uhd: Prepare branch for 4.1.0.0-rc1 releaseAaron Rossetto2021-06-255-10/+418
| | | | | | | | | | | uhd: Update changelog for 4.1 RC images: Update manifest debian: Update changelog debian: Update control and copyright installers: automatic version handling for dsc Signed-off-by: Aaron Rossetto <aaron.rossetto@ni.com> Signed-off-by: Steven Koo <steven.koo@ni.com>
* uhd: Update versionAaron Rossetto2021-06-161-1/+1
|
* installers: resolve ubuntu linter issueSteven Koo2021-05-181-71/+87
| | | | | | The debian copyright requires the Apache 2.0 stanza for flatbuffers. Signed-off-by: Steven Koo<steven.koo@ni.com>
* uhd: enable vcpkg support on windowsSteven Koo2021-03-193-6/+48
| | | | | | | | | | | | | | | | | | | | vcpkg can be used for the Windows C++ dependencies for uhd with this commit. To use vcpkg on Windows: 1) Copy the custom triplets in host/cmake/vcpkg/ to the vcpkg/triplets/ folder. 2) Install boost and libusb for the custom triplet "vcpkg install libusb:uhd-x64-windows-static-md boost:uhd-x64-windows-static-md" 3) Call CMake with vcpkg toolchain file flags: -DVCPKG_TARGET_TRIPLET=uhd-x64-windows-static-md -DCMAKE_TOOLCHAIN_FILE=%VCPKG_INSTALL_DIR%/scripts/buildsystems/vcpkg.cmake -G "Visual Studio 16 2019" -A x64 Replace the -G with the installed version of Visual Studio and matching architecture. Then build normally by running vcvarsall.bat and msbuild. Signed-off-by: Steven Koo <steven.koo@ni.com>
* tests: Add lib/ to LD_LIBRARY_PATH for pytestsAaron Rossetto2021-01-221-2/+7
| | | | | | | This commit sets the LD_LIBRARY_PATH environment variable when invoking pytests to ensure that Python tests that use bindings to UHD in libpyuhd.so can link to new symbols in libuhd.so without the need to have UHD installed.
* uhd_images_downloader: Add environment variable for http authLane Kolbly2020-10-151-1/+2
| | | | | | | | | This allows the image downloader to download files from restricted sources using HTTP basic auth, specifying the credentials in the UHD_IMAGES_USER and UHD_IMAGES_PASSWORD environment variables: ``` UHD_IMAGES_USER=lane UHD_IMAGES_PASSWORD=MyS3cretPassword uhd_images_downloader.py ```
* debian: Update Python3 dependenciesmichael-west2020-10-062-3/+18
| | | | Signed-off-by: michael-west <michael.west@ettus.com>
* package: Fix Python componentsmichael-west2020-09-131-3/+4
| | | | | | Update dependencies from python to python3. Signed-off-by: michael-west <michael.west@ettus.com>
* Prepare branch for releasemichael-west2020-09-131-165/+896
| | | | | | | - Update CHANGELOG - Update debian files Signed-off-by: michael-west <michael.west@ettus.com>
* cmake: don't try to determine runtime python version when cross compilingJoerg Hofrichter2020-08-041-9/+22
| | | | | | When cross compiling, the architecture of the runtime python interpreter does not match the host architecture. Therefore, don't try to detect it and set it to the min. supported python version instead.
* cmake: find python in sysroot path firstJoerg Hofrichter2020-08-041-0/+8
| | | | | | Set CMP0094 policy to NEW to make sure Python3 is first found in the SDK's sysroot if both the sysroot and the native paths are included in the PATH variable.
* cmake: tests: Support qemu also for python based testsJoerg Hofrichter2020-08-041-6/+18
| | | | This requires python3 to be installed in the target sysroot
* cmakerc: Remove patch to CMakeRC.cmake (and move it one level up)Martin Braun2020-07-201-1/+0
| | | | | | | UHD's version of CMakeRC.cmake was patched from the upstream (see also 933eca1) to enable -fPIC for the RC targets. This can also be done outside of said file, avoiding us having to carry a patched version of CMakeRC, and using the vanilla upstream version instead.
* uhd: remove liberioRobertWalstab2020-07-201-35/+0
|
* python: Add bindings for C++ CHDR ParserSamuel O'Brien2020-07-161-0/+2
| | | | | | | | | | | | | This commit adds pybind11 glue code for the userland chdr parsing code introduced in the uhd::utils::chdr namespace. Additionally, it moves some pybind11 adapter code to a common pybind_adaptors.hpp file which originally existed in the cal_python.hpp file. This commit also adds unit tests for the python bindings using a captured wireshark trace which is located in rfnoc_packets_*.py and some handwritten packets in hardcoded_packets.py Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
* cmake: tests: Fix CMake warning introduced by QEMU unittest optionJoerg Hofrichter2020-06-261-1/+1
|
* cmake: tests: Added option to use QEMU for running unittestsJoerg Hofrichter2020-06-251-1/+4
| | | | | This is useful when cross-compiling UHD for other architectures like arm or aarch64.
* cmake: Fix warning finding libusbMartin Braun2020-06-171-2/+2
| | | | | | | | | | UHD has a custom file to find libusb. This fixes a warning coming from that file caused by the fact that we're looking for a package called LIBUSB, but the file was called FindUSB1 (i.e., we're expecting a package name of USB1). Common CMake calls were also moved to lowercase for CMake coding guidelines consistency.
* tests: Add infrastructure to run Python unit testsMartin Braun2020-06-151-0/+12
| | | | | | | | | | | | | | | | - Add UHD_ADD_PYTEST() CMake macro - Add CMake code to tests/CMakeLists.txt to auto-run all registered Python unit tests - Add a token unit test (it replicates parts of ranges_test.cpp) The way Python-based unit tests are implemented in UHD is that they can import uhd, and then operate on the module as usual. Writing unit tests in Python instead of C++ can have multiple advantages: - If they test PyBind-wrapped C++ code, they can test both the binding and the underlying C++ code at once - Writing unit tests in Python may be more concise
* Remove remaining Python 2 referencesMartin Braun2020-05-071-1/+0
| | | | | | | This changes two things in all applicable files: - Remove imports from __future__ - Change default shebangs from /usr/bin/env python to /usr/bin/env python3
* debian: Use Python3 dependenciesMartin Braun2020-04-221-11/+11
| | | | | | | This updates the Debian control file to rely on the Python3 versions of the respective dependencies. Also updates the package name to include the 4.0.0 version.
* uhd: Add quotes around test environment variablesLane Kolbly2020-04-071-1/+1
| | | | | | | On systems which have spaces in the environment variables, such as $PATH, attempting to run the generated test scripts will throw an error about a bad variable name. Adding quotes around the values prevents this error.
* debian: Rename control file for libuhd to contain 4.0.0 versionMartin Braun2020-03-181-0/+0
|
* debian: Fixes to copyright fileMartin Braun2020-03-181-389/+385
| | | | | | - FindGit.cmake is no longer part of UHD, removed from copyright list - The file list includes FPGA code, which needs to be updated to point to fpga/ instead of fpga-src/
* cmake: Add CMakeRC module and ::rc namespaceMartin Braun2020-03-182-0/+648
| | | | | | | | | | | | | | | | | | | | | | | | | | This module allows to add binary files into UHD (e.g., for cal data storage) in a platform-independent way. The upstream CMakeRC.cmake is modified in the following way to allow linkage against a shared object: ```diff # Generate the actual static library. Each source file is just a single file # with a character array compiled in containing the contents of the # corresponding resource file. add_library(${name} STATIC ${libcpp}) set_property(TARGET ${name} PROPERTY CMRC_LIBDIR "${libdir}") set_property(TARGET ${name} PROPERTY CMRC_NAMESPACE "${ARG_NAMESPACE}") target_link_libraries(${name} PUBLIC cmrc::base) set_property(TARGET ${name} PROPERTY CMRC_IS_RESOURCE_LIBRARY TRUE) + set_property(TARGET ${name} PROPERTY POSITION_INDEPENDENT_CODE ON) ``` This forces the -fPIC flag for the static object that CMakeRC generates, allowing to link it into a shared object file. The version of CMakeRC used is: a7e355290, cloned from git@github.com:vector-of-bool/cmrc.git.
* lib: deps: Add FlatBuffers 1.11.0 header filesMartin Braun2020-03-181-0/+4
| | | | | | | | | | FlatBuffers is used to (de-)serialize calibration data. For most use cases, only a few headers are required, so we provide them with UHD instead of requiring all UHD users to install their own version of FlatBuffers. This adds the headers to host/lib/deps, and updates the Debian copyright file appropriately.
* cmake: Find DPDK via pkg-config, if availableAlex Williams2020-01-221-25/+55
| | | | | | Debian uses pkg-config without the libdpdk.so linker script. Use the pkg-config file to grab the installed libraries and determine what to link to.
* docs: Change DPDK version to 18.11 and make args use underscoresAlex Williams2019-11-261-4/+23
| | | | | Swap out hyphens for underscores in the DPDK args. Also update list of distributions with the correct DPDK version in the repos.
* uhd: Replace boost::regex with std::regexMartin Braun2019-11-261-1/+0
| | | | | | | | boost::regex was a requirement until the minimum version of gcc was increased. Since it is at version 5.3 now, using Boost.Regex is no longer necessary. This change is a pure search-and-replace; Boost and std versions of regex are compatible and use the same syntax.
* Remove proto-RFNoC filesMartin Braun2019-11-261-5/+0
| | | | | | | This commit removes all files and parts of files that are used by proto-RFNoC only. uhd: Fix include CMakeLists.txt, add missing files
* cmake: Bump dependency versions for UHD 4.0.0.0Martin Braun2019-11-262-32/+4
| | | | | | | | | | | | - Boost >= 1.58 - CMake >= 3.5.1 - gcc >= 5.4.0 - Clang >= 3.8, AppleClang >= 600 - Python >= 3.5 (Py2k no longer supported) - Numpy >= 1.11 - C++14 for lib, include may now use C++11 constructs. - Because there is no more code requiring C++03 syntax, we remove the include-specific clang-format file
* cmake: Add UHD_COMPONENT variablemichael-west2019-10-151-0/+2
| | | | | | | | Added cmake variable to set the component (currently UHD or MPM). so the banner printed by the log_resource would reference the correct component. Added accessor function and appropriate calls in log.cpp. Signed-off-by: michael-west <michael.west@ettus.com>
* cmake: add UHDBoost.cmake and use it for building UHDMichael Dickens2019-10-152-1/+327
| | | | | | | | | Also install UHDBoost.cmake along with the CMake UHD find scripts, so that it can be used by external modules. Tweak the UHDConfig.cmake script so that, once installed, the new UHDBoost.cmake script is found. Note that the project using UHD must first find UHD before trying to find Boost. Also note that if the C++ standard is not set before UHDBoost is loaded, it will be set to that currently used by UHD: C++14.
* Prepare branch for upcoming UHD 3.15 releaseMartin Braun2019-10-141-2/+2
| | | | | - Update CHANGELOG - Change UHD version to 3.15.0.0 / stable
* Remove GPSd dependencyMartin Braun2019-07-241-51/+0
| | | | | GPSd was used by the E310 prior to its MPM-ification, GPSd is therefore no longer required by UHD.
* cmake: quote the @UHD_VERSION@ replacement to allow any stringMichael Dickens2019-07-241-1/+1
|
* cmake: UHDLog: Use STRING over FILE for the log fileMichael Dickens2019-07-241-1/+1
| | | | | This is because FILE is not actually a type, and we don't care about an existing file either. It's just a setting for the build.
* cmake: Remove ENABLE_PYTHON3 flag and simplify Python detectionMartin Braun2019-05-241-32/+148
| | | | | | - Makes use of more modern find_package(Python2/3) if available - Moves almost all Python-related code to UHDPython.cmake - ENABLE_PYTHON3 is no longer necessary
* cmake: tests: Add macro for non-API based unit testsMartin Braun2019-05-221-0/+1
| | | | | | All unit tests which require extra sources (i.e., can't just interact with the UHD API) have been manually added to the CMakeLists.txt in a clumsy fashion. This macro cleans that up a little.
* cmake: Remove superfluous modulesMartin Braun2019-05-225-302/+2
| | | | | | CMakeParseArgumentsCopy, CMakeCheckCXXSymbolExists, and CMakeCheckSymbolExists were backported from when we required CMake 2.8. No longer required since we require CMake 3.5.1.
* python: Replace Boost.Python with PyBind11Martin Braun2019-02-221-1/+0
| | | | | | This does not change the Python API itself, but it is still a significant change. Most importantly, it removes the dependency on Boost.Python.
* deps: Add PyBind11Martin Braun2019-02-221-1/+36
|
* cmake: remove Boost from dyn libs for tests on AppleMichael Dickens2019-02-191-1/+3
| | | | | | | | | Remove "${prefix}/lib" from the DYLD path for APPLE only. Apple's DYLD uses the paths embedded in the binary file (library or executable) as a secondary means for finding referenced libraries. Explicitly including "${prefix}/lib" can result in libraries being found and used by System frameworks that are not compatible with them. Moving to just using build paths fixes this issue.