
* Add artifact publish step for Windows libraries and host tools. * Replace runner.workspace with github.workspace. * Update checkout task to v4 to supress warning. * Update CMAKE for libhackrf and hackrf-tools to also install DLLs on WIN32 platforms. * Update uploadartifact task to v4 since v3 uses an end-of-life node version 16. * Add a new windows variable for the vcpkg cmake toolchain makefile.
75 lines
2.0 KiB
CMake
75 lines
2.0 KiB
CMake
# Copyright 2012 Jared Boone
|
|
# Copyright 2013 Benjamin Vernoux
|
|
#
|
|
# This file is part of HackRF.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2, or (at your option)
|
|
# any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; see the file COPYING. If not, write to
|
|
# the Free Software Foundation, Inc., 51 Franklin Street,
|
|
# Boston, MA 02110-1301, USA.
|
|
#
|
|
|
|
# Based heavily upon the libftdi cmake setup.
|
|
|
|
set(INSTALL_DEFAULT_BINDIR "bin" CACHE STRING "Appended to CMAKE_INSTALL_PREFIX")
|
|
|
|
find_package(FFTW REQUIRED)
|
|
include_directories(${FFTW_INCLUDES})
|
|
get_filename_component(FFTW_LIBRARY_DIRS ${FFTW_LIBRARIES} DIRECTORY)
|
|
link_directories(${FFTW_LIBRARY_DIRS})
|
|
|
|
SET(TOOLS
|
|
hackrf_transfer
|
|
hackrf_spiflash
|
|
hackrf_cpldjtag
|
|
hackrf_info
|
|
hackrf_debug
|
|
hackrf_clock
|
|
hackrf_sweep
|
|
hackrf_operacake
|
|
hackrf_biast
|
|
)
|
|
|
|
if(MSVC)
|
|
add_library(libgetopt_static STATIC
|
|
../getopt/getopt.c
|
|
)
|
|
LIST(APPEND TOOLS_LINK_LIBS ${FFTW_LIBRARIES})
|
|
else()
|
|
LIST(APPEND TOOLS_LINK_LIBS m fftw3f)
|
|
endif()
|
|
|
|
if(NOT libhackrf_SOURCE_DIR)
|
|
include_directories(${LIBHACKRF_INCLUDE_DIR})
|
|
LIST(APPEND TOOLS_LINK_LIBS ${LIBHACKRF_LIBRARIES})
|
|
else()
|
|
LIST(APPEND TOOLS_LINK_LIBS hackrf)
|
|
endif()
|
|
|
|
if(MSVC)
|
|
LIST(APPEND TOOLS_LINK_LIBS libgetopt_static)
|
|
endif()
|
|
|
|
foreach(tool ${TOOLS})
|
|
add_executable(${tool} ${tool}.c)
|
|
target_link_libraries(${tool} ${TOOLS_LINK_LIBS})
|
|
install(TARGETS ${tool} RUNTIME DESTINATION ${INSTALL_DEFAULT_BINDIR})
|
|
endforeach(tool)
|
|
|
|
if( ${WIN32} )
|
|
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>/"
|
|
DESTINATION ${INSTALL_DEFAULT_BINDIR}
|
|
FILES_MATCHING
|
|
PATTERN "fftw*.dll")
|
|
endif( ${WIN32} )
|