aboutsummaryrefslogtreecommitdiffstats
path: root/host/cmake
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* cmake: Update version string to 3.15.0.gitMartin Braun2019-02-131-5/+5
|
* Preparing branch for 3.14.0.0 Releasemichael-west2019-02-011-1/+1
| | | | | | | - Updated CHANGELOG - Updated fpga-src submodule - Updated version info - Updated manifest
* cpack: Fix RPM generationMatt Reilly2019-01-282-2/+2
| | | | | | | | | | | | | | UHDPackage.cmake produced new directory entries ("%dir" directives) for /usr/local and other folders... This produced conflicts with the filesystem package on Fedora 28 (at least). Added set of CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION to the cmake rpm package instructions. This fixes the problem and produces a working rpm for Fedora 28 x86_64. The redhat post_install.in file was referring to the /usr/lib tree, which is now /usr/lib64, so the script failed to install the uhd-usrp.rules. That's been fixed too.
* math: Remove uhd::math::log2, replace with std::log2Martin Braun2019-01-181-3/+0
| | | | | Now that we're C++11, we can assume the existence of said symbol and need no more portability hacks.
* Debian: Rename file for libuhd installmichael-west2019-01-161-0/+0
|
* cmake: python: adding RUNTIME_PYTHON_EXECUTABLEBrent Stapleton2018-11-261-1/+15
| | | | | | Adding a CMake variable to set the runtime Python interpreter. This will default to PYTHON_EXECUTABLE, which is the build time Python interpreter.
* cmake: Add SOURCE_DATE_EPOCHA. Maitland Bottoms2018-11-151-0/+5
| | | | | Reproducible builds set SOURCE_DATE_EPOCH rather than arbitrary build timestamps. Use it if set, otherwise revert to the old way.
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-1419-699/+699
| | | | | | | | | | | | | | | | | Also updates our coding style file. Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code (with GNU compliant sed): cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done > convert.sed \ && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' \ '*CMakeLists.txt' | xargs -0 gsed -i -f convert.sed && rm convert.sed (Make sure the backslashes don't get mangled!)
* debian: Update control files for .deb filesMartin Braun2018-10-294-21/+29
| | | | | | | | | - Better alignement with public Debian files. - Move to a different package name: libuhd003.so -> libuhd3.13.0.so This allows to install multiple packages in parallel for better ABI compatibility by third-party dependees. The new package replaces the old one. - Remove .shlibs file
* cmake: Change SOVERSION and VERSION for the library filesMartin Braun2018-10-291-0/+7
| | | | | | The SOVERSION will now match the ABI string, and the VERSION matches the full UHD version. This will allow easier parallel installation of multiple versions of UHD.
* cmake: Check for rte_ethdev.h when finding DPDKAlex Williams2018-08-291-1/+9
| | | | | | | Ubuntu splits headers between the arch-specific and noarch directories, so we were only getting one of them. That caused build failure for DPDK. This fixes the issue by grabbing a fundamental header from the other set.
* uhd-dpdk: Add DPDK-based sockets-like libraryAlex Williams2018-08-291-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This library makes available a userspace network stack with a socket-like interface for applications (except the sockets pass around pointers to buffers and use the buffers directly--It's sockets + a put/get for buffer management). Supported services are ARP and UDP. Destinations can be unicast or broadcast. Multicast is not currently supported. The implementation has two driver layers. The upper layer runs within the caller's context. The caller will make requests through lockless ring buffers (including socket creation and packet transmission), and the lower layer will implement the requests and provide a response. Currently, the lower layer runs in a separate I/O thread, and the caller will block until it receives a response. The I/O thread's main body is in src/uhd_dpdk_driver.c. You'll find that all I/O thread functions are prefixed by an underscore, and user thread functions do not. src/uhd_dpdk.c is used to initialize uhd-dpdk and bring up the network interfaces. src/uhd_dpdk_fops.c and src/uhd_dpdk_udp.c are for network services. The test is a benchmark of a flow control loop using a certain made-up protocol with credits and sequence number tracking.
* uhd: Post-release cleanupBrent Stapleton2018-07-251-2/+2
| | | | | | - Bump the UHD API version and return to development branch status - Removing artful in list of Ubuntu releases. Support for artful ended in July 2018.
* 3.13.0.0 ReleaseBrent Stapleton2018-07-242-0/+119
| | | | | | | - Update Debian changelog - Update manifest.txt - Update Debian copyright file - Update fpga-src submodule
* Preparing for 3.13.0.0 ReleaseMartin Braun2018-07-191-1/+1
| | | | | - Updated CHANGELOG - Updated UHD version to non-devel
* cmake: Allow to override UHD_GIT_BRANCH from CMakeMartin Braun2018-07-141-0/+4
| | | | | | Use cmake -DUHD_GIT_BRANCH_OVERRIDE=$branchname. This can be helpful when building from tarballs, but you need to have the branch information.
* cmake: add support to make python api installer on windowsTrung Tran2018-07-131-2/+4
|
* cmake: Fix version numberingMartin Braun2018-07-131-2/+2
| | | | | UHD-* branches were being detected as "development", and #cmakedefine does not like it when values are actually zero.
* cmake: Changing UHD version to 3.13 and flagging branch as developmentMartin Braun2018-07-131-2/+2
|
* cmake: Fixed the Python executable finding logicHåkon Vågsether2018-06-201-2/+11
| | | | Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
* python: Initial commit of Python APIAndrej Rode2018-06-201-1/+2
| | | | | | | | | | Initial commit of the Python API using Boost.Python. Bind the MultiUSRP API for use in Python. Bindings intended to provide as complete coverage as possible. - Wrap most multi_usrp calls - Adding multi channel send/recv examples in examples/python - Adding setuptools support - Initial attempt at binding the UHD types and filters
* cmake: remove local FindGit.cmakeTrung Tran2018-06-122-46/+2
| | | | | cmake already supports find_package(Git), we are no longer need to maintain FindGit.cmake.
* Update CHANGELOG and manifest.txt for 3.12.0.0 releaseMartin Braun2018-06-051-0/+113
|
* Debian: Fix bad path in libuhd-dev.installmichael-west2018-05-181-1/+1
|
* Prepare branch for 3.12.0.0 releaseMartin Braun2018-05-171-2/+2
| | | | | - Updated version string - Updated CHANGELOG
* Debian: Modify debian rules to ignore missing info (for Launchpad)michael-west2018-05-161-0/+3
|
* cmake: update NSIS templateTrung Tran2018-03-301-2/+2
| | | | | | | RemoveSection is deprecate because NSIS has some macro that is the same name. The upstream NSISTemplate of CMake already update since 2012 but we did not. This commit will enable our our Packaging for windows run against latest NSIS app.
* cmake: Update version string to 3.12.0.git for master branchMartin Braun2018-03-161-2/+2
|
* cmake: Correctly fail when an unavailable component is requestedMartin Braun2018-03-161-8/+26
| | | | | For example, if Doxygen wasn't installed, specifying -DENABLE_MANUAL=ON should always cause CMake to immediately fail.
* debian: Add UHDConfig.cmake to install list for libuhd-devMartin Braun2018-03-131-0/+1
|
* cmake: add manual override option to UHD_VERSIONAndrej Rode2018-03-071-1/+3
|