Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions ci-scripts/install-firmware.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
set -e
git submodule init
git submodule update
mkdir firmware/hackrf_usb/build
cd firmware/hackrf_usb/build
cmake ..
make
cd ../../..
cd firmware/hackrf_usb
cmake -B build
cmake --build build
cd ../..
9 changes: 4 additions & 5 deletions ci-scripts/install-host.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#!/bin/bash
set -e
mkdir host/build
cd host/build
cmake ..
make
cd ../..
cd host
cmake -B build
cmake --build build
cd ..
33 changes: 19 additions & 14 deletions host/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,23 +1,28 @@
#top dir cmake project for libhackrf + tools
# top dir cmake project for libhackrf + tools

cmake_minimum_required(VERSION 2.8.12)
project (HackRF C)
cmake_minimum_required(VERSION 3.16)
project(
HackRF
LANGUAGES C
HOMEPAGE_URL https://greatscottgadgets.com/hackrf/)
set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

set(CMAKE_C_FLAGS "$ENV{CFLAGS}" CACHE STRING "C Flags")
set(CMAKE_C_FLAGS
"$ENV{CFLAGS}"
CACHE STRING "C Flags")

add_subdirectory(libhackrf)
add_subdirectory(hackrf-tools)

########################################################################
# ##############################################################################
# Create uninstall target
########################################################################
# ##############################################################################

configure_file(
${PROJECT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
@ONLY)
configure_file(${PROJECT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake @ONLY)


add_custom_target(uninstall
${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
)
add_custom_target(
uninstall
COMMENT "Provide uninstall target"
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
30 changes: 0 additions & 30 deletions host/cmake/modules/FindFFTW.cmake

This file was deleted.

49 changes: 49 additions & 0 deletions host/cmake/modules/FindFFTW3f.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# http://tim.klingt.org/code/projects/supernova/repository/revisions/d336dd6f400e381bcfd720e96139656de0c53b6a/entry/cmake_modules/FindFFTW3f.cmake
# Modified to use pkg config and use standard var names

# Find single-precision (float) version of FFTW3

find_package(PkgConfig)
pkg_check_modules(PC_FFTW3f "fftw3f >= 3.0")

find_path(
FFTW3f_INCLUDE_DIRS
NAMES fftw3.h
HINTS $ENV{FFTW3_DIR}/include ${PC_FFTW3f_INCLUDE_DIR}
PATHS /usr/local/include /usr/include)

find_library(
FFTW3f_LIBRARIES
NAMES fftw3f libfftw3f
HINTS $ENV{FFTW3_DIR}/lib ${PC_FFTW3f_LIBDIR}
PATHS /usr/local/lib /usr/lib /usr/lib64)

find_library(
FFTW3f_THREADS_LIBRARIES
NAMES fftw3f_threads libfftw3f_threads
HINTS $ENV{FFTW3_DIR}/lib ${PC_FFTW3f_LIBDIR}
PATHS /usr/local/lib /usr/lib /usr/lib64)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FFTW3f DEFAULT_MSG FFTW3f_LIBRARIES
FFTW3f_INCLUDE_DIRS)
mark_as_advanced(FFTW3f_LIBRARIES FFTW3f_INCLUDE_DIRS FFTW3f_THREADS_LIBRARIES)

if(FFTW3f_FOUND AND NOT TARGET fftw3f::fftw3f)
add_library(fftw3f::fftw3f INTERFACE IMPORTED)
if(NOT WIN32)
list(APPEND FFTW3f_LIBRARIES m)
endif()
set_target_properties(
fftw3f::fftw3f
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${FFTW3f_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${FFTW3f_LIBRARIES}")
if(FFTW3f_THREADS_LIBRARIES)
set_property(
TARGET fftw3f::fftw3f
APPEND
PROPERTY INTERFACE_LINK_LIBRARIES "${FFTW3f_THREADS_LIBRARIES}")
set_target_properties(
fftw3f::fftw3f PROPERTIES INTERFACE_COMPILE_DEFINITIONS "FFTW3F_THREADS")
endif()
endif()
55 changes: 0 additions & 55 deletions host/cmake/modules/FindLIBHACKRF.cmake

This file was deleted.

59 changes: 59 additions & 0 deletions host/cmake/modules/FindLIBUSB.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Try to find the libusb library
# Once done this defines
#
# LIBUSB_FOUND - system has libusb
# LIBUSB_INCLUDE_DIR - the libusb include directory
# LIBUSB_LIBRARIES - Link these to use libusb
# LIBUSB::LIBUSB - CMake imported library target

# Copyright (c) 2006, 2008 Laurent Montel, <[email protected]>
# Copyright (c) 2023 Jamie Smith <[email protected]>
# Copyright (c) 2025 A. Maitland Bottoms <[email protected]>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.

if(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)

# in cache already
set(LIBUSB_FOUND TRUE)

else(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
if(NOT WIN32)
# use pkg-config to get the directories and then use these values in the
# FIND_PATH() and FIND_LIBRARY() calls
find_package(PkgConfig)
pkg_check_modules(PC_LIBUSB libusb-1.0)
endif(NOT WIN32)

set(LIBUSB_LIBRARY_NAME usb-1.0)
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
set(LIBUSB_LIBRARY_NAME usb)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
# vcpkg's libusb-1.0 has a "lib" prefix, but on Windows MVSC, CMake doesn't
# search for static libraries with lib prefixes automatically.
list(APPEND LIBUSB_LIBRARY_NAMES libusb-1.0)
endif()

find_path(LIBUSB_INCLUDE_DIR libusb.h PATHS ${PC_LIBUSB_INCLUDEDIR}
${PC_LIBUSB_INCLUDE_DIRS})

find_library(
LIBUSB_LIBRARIES
NAMES ${LIBUSB_LIBRARY_NAME}
PATHS ${PC_LIBUSB_LIBDIR} ${PC_LIBUSB_LIBRARY_DIRS})

endif(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LIBUSB DEFAULT_MSG LIBUSB_LIBRARIES
LIBUSB_INCLUDE_DIR)
mark_as_advanced(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARIES)

if(LIBUSB_FOUND AND NOT TARGET LIBUSB::LIBUSB)
add_library(LIBUSB::LIBUSB INTERFACE IMPORTED)
set_target_properties(
LIBUSB::LIBUSB
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBUSB_INCLUDE_DIR}"
INTERFACE_LINK_LIBRARIES "${LIBUSB_LIBRARIES}")
endif()
Loading