Skip to content

Commit 80c0447

Browse files
committed
Remove VOLK as a submodule
This removes the volk/ submodule pointer and updates the CMake to detect VOLK like any other dependency. The VOLK_MIN_VERSION CMake variable is added (and set to 2.1.0). The GR_VOLK_LIB variable is replaced with Volk::volk everywhere. The VOLK_INSTALL_LIBRARY_DIR and VOLK_INSTALL_INCLUDE_DIR variables weren't used and were removed. CMake will now fail if VOLK cannot be detected. Therefore, ENABLE_VOLK was also removed as a variable; all in-tree components may assume the existence of VOLK.
1 parent bad1040 commit 80c0447

21 files changed

+22
-93
lines changed

.gitmodules

-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +0,0 @@
1-
[submodule "volk"]
2-
path = volk
3-
url = https://github.com/gnuradio/volk.git
4-
branch = master

CMakeLists.txt

+10-57
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ set(GCC_MIN_VERSION "4.8.4")
5555
set(CLANG_MIN_VERSION "3.4.0")
5656
set(APPLECLANG_MIN_VERSION "500")
5757
set(MSVC_MIN_VERSION "1800")
58+
set(VOLK_MIN_VERSION "2.1.0")
5859

5960
# Enable generation of compile_commands.json for code completion engines
6061
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
@@ -368,67 +369,19 @@ endif()
368369

369370

370371
########################################################################
371-
# Setup volk as a subproject
372+
# Detect and configure VOLK
372373
########################################################################
373374
message(STATUS "")
374375
message(STATUS "Configuring VOLK support...")
376+
find_package(Volk ${VOLK_MIN_VERSION} REQUIRED)
377+
message(STATUS " Found VOLK:")
378+
message(STATUS " * Version: ${VOLK_VERSION}")
379+
message(STATUS " * Libraries: ${VOLK_LIBRARIES}")
380+
message(STATUS " * Includes: ${VOLK_INCLUDE_DIRS}")
375381

376-
OPTION(ENABLE_INTERNAL_VOLK "Enable internal VOLK only" ON)
377-
UNSET(Volk_FOUND)
378-
if(NOT ENABLE_INTERNAL_VOLK)
379-
find_package(Volk)
380-
set(GR_VOLK_LIB "Volk::volk")
381-
if(NOT Volk_FOUND)
382-
message(STATUS " External VOLK not found; checking internal.")
383-
endif()
384-
endif()
385-
if(NOT Volk_FOUND)
386-
find_file(INTREE_VOLK_FOUND
387-
volk/volk_common.h
388-
PATHS ${CMAKE_CURRENT_SOURCE_DIR}/volk/include
389-
NO_DEFAULT_PATH
390-
NO_CMAKE_FIND_ROOT_PATH
391-
)
392-
393-
if(NOT INTREE_VOLK_FOUND)
394-
message(STATUS " VOLK submodule is not checked out.")
395-
message(STATUS " To check out the VOLK submodule, use:")
396-
message(STATUS " git pull --recurse-submodules=on")
397-
message(STATUS " git submodule update --init")
398-
if(ENABLE_INTERNAL_VOLK)
399-
message(STATUS " External VOLK disabled.")
400-
endif()
401-
message(STATUS " Override with -DENABLE_INTERNAL_VOLK=ON/OFF")
402-
message(STATUS "")
403-
message(FATAL_ERROR "VOLK required but not found.")
404-
endif()
405-
406-
add_subdirectory(volk)
407-
# if the above command returns, then VOLK is enabled
408-
409-
include(GrComponent)
410-
GR_REGISTER_COMPONENT("volk" ENABLE_VOLK)
411-
412-
SET(VOLK_INCLUDE_DIRS
413-
${CMAKE_CURRENT_SOURCE_DIR}/volk/include
414-
${CMAKE_CURRENT_BINARY_DIR}/volk/include
415-
)
416-
417-
set(GR_VOLK_LIB "volk")
418-
419-
SET(VOLK_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_PREFIX}/lib)
420-
SET(VOLK_INSTALL_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include)
421-
else()
422-
message(STATUS " An external VOLK has been found and will be used for build.")
423-
SET(ENABLE_VOLK TRUE)
424-
425-
get_filename_component(VOLK_INSTALL_LIBRARY_DIR "${VOLK_LIBRARIES}" DIRECTORY)
426-
SET(VOLK_INSTALL_INCLUDE_DIR ${VOLK_INCLUDE_DIRS})
427-
endif(NOT Volk_FOUND)
428-
429-
message(STATUS " Override with -DENABLE_INTERNAL_VOLK=ON/OFF")
430-
431-
# Handle logging
382+
########################################################################
383+
# Configure Log4CPP
384+
########################################################################
432385
find_package(LOG4CPP REQUIRED)
433386

434387
########################################################################

docs/doxygen/Doxyfile.in

+3-12
Original file line numberDiff line numberDiff line change
@@ -174,11 +174,7 @@ STRIP_FROM_INC_PATH = @CMAKE_SOURCE_DIR@/gnuradio-runtime/include \
174174
@CMAKE_SOURCE_DIR@/gr-wavelet/include \
175175
@CMAKE_BINARY_DIR@/gr-wavelet/include \
176176
@CMAKE_SOURCE_DIR@/gr-zeromq/include \
177-
@CMAKE_BINARY_DIR@/gr-zeromq/include \
178-
@CMAKE_SOURCE_DIR@/volk/include \
179-
@CMAKE_BINARY_DIR@/volk/include \
180-
@CMAKE_SOURCE_DIR@/volk/tmpl \
181-
@CMAKE_BINARY_DIR@/volk/tmpl
177+
@CMAKE_BINARY_DIR@/gr-zeromq/include
182178

183179
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
184180
# (but less readable) file names. This can be useful if your file system
@@ -726,9 +722,7 @@ RECURSIVE = YES
726722
# Note that relative paths are relative to the directory from which doxygen is
727723
# run.
728724

729-
EXCLUDE = @abs_top_srcdir@/volk \
730-
@abs_top_builddir@/volk \
731-
@abs_top_builddir@/cmake/msvc \
725+
EXCLUDE = @abs_top_builddir@/cmake/msvc \
732726
@abs_top_builddir@/docs/doxygen/html \
733727
@abs_top_builddir@/docs/doxygen/xml \
734728
@abs_top_builddir@/docs/doxygen/other/doxypy.py \
@@ -793,10 +787,7 @@ EXCLUDE = @abs_top_srcdir@/volk \
793787
@abs_top_srcdir@/gr-wavelet/lib \
794788
@abs_top_builddir@/gr-wavelet/lib \
795789
@abs_top_srcdir@/gr-zeromq/lib \
796-
@abs_top_builddir@/gr-zeromq/lib \
797-
@abs_top_srcdir@/volk/cmake/msvc \
798-
@abs_top_builddir@/volk/cmake/msvc \
799-
@abs_top_srcdir@/volk/kernels/volk/volk_8u_conv_k7_r2puppet_8u.h
790+
@abs_top_builddir@/gr-zeromq/lib
800791

801792
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
802793
# directories that are symbolic links (a Unix file system feature) are excluded

gnuradio-runtime/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ GR_CHECK_LINUX_SCHED_AVAIL()
2525
include(GrComponent)
2626
GR_REGISTER_COMPONENT("gnuradio-runtime" ENABLE_GNURADIO_RUNTIME
2727
Boost_FOUND
28-
ENABLE_VOLK
2928
PYTHONINTERP_FOUND
3029
MPLIB_FOUND
3130
LOG4CPP_FOUND

gnuradio-runtime/lib/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ endif(ENABLE_GR_CTRLPORT)
188188

189189
target_link_libraries(gnuradio-runtime PUBLIC
190190
gnuradio-pmt
191-
${GR_VOLK_LIB}
191+
Volk::volk
192192
Boost::program_options
193193
Boost::filesystem
194194
Boost::system

gr-analog/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ include(GrBoost)
1616
include(GrComponent)
1717
GR_REGISTER_COMPONENT("gr-analog" ENABLE_GR_ANALOG
1818
Boost_FOUND
19-
ENABLE_VOLK
2019
ENABLE_GNURADIO_RUNTIME
2120
ENABLE_GR_BLOCKS
2221
ENABLE_GR_FFT

gr-blocks/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ include(GrBoost)
1616
include(GrComponent)
1717
GR_REGISTER_COMPONENT("gr-blocks" ENABLE_GR_BLOCKS
1818
Boost_FOUND
19-
ENABLE_VOLK
2019
ENABLE_GNURADIO_RUNTIME
2120
)
2221

gr-blocks/lib/CMakeLists.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -175,9 +175,9 @@ add_library(gnuradio-blocks
175175
)
176176

177177
target_link_libraries(gnuradio-blocks
178-
gnuradio-runtime
179-
${GR_VOLK_LIB}
180-
)
178+
gnuradio-runtime
179+
Volk::volk
180+
)
181181

182182
target_include_directories(gnuradio-blocks
183183
PUBLIC

gr-channels/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ include(GrBoost)
1616
include(GrComponent)
1717

1818
GR_REGISTER_COMPONENT("gr-channels" ENABLE_GR_CHANNELS
19-
ENABLE_VOLK
2019
Boost_FOUND
2120
ENABLE_GNURADIO_RUNTIME
2221
ENABLE_GR_BLOCKS

gr-digital/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ include(GrBoost)
1616
include(GrComponent)
1717
GR_REGISTER_COMPONENT("gr-digital" ENABLE_GR_DIGITAL
1818
Boost_FOUND
19-
ENABLE_VOLK
2019
ENABLE_GNURADIO_RUNTIME
2120
ENABLE_GR_FFT
2221
ENABLE_GR_FILTER

gr-digital/lib/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ target_link_libraries(gnuradio-digital PUBLIC
9898
gnuradio-blocks
9999
gnuradio-analog
100100
Boost::boost
101-
${GR_VOLK_LIB}
101+
Volk::volk
102102
)
103103

104104

gr-dtv/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ GR_REGISTER_COMPONENT("gr-dtv" ENABLE_GR_DTV
2121
ENABLE_GR_ANALOG
2222
ENABLE_GR_FILTER
2323
ENABLE_GR_FEC
24-
ENABLE_VOLK
2524
)
2625

2726
SET(GR_PKG_DTV_EXAMPLES_DIR ${GR_PKG_DATA_DIR}/examples/dtv)

gr-dtv/lib/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ target_link_libraries(gnuradio-dtv PUBLIC
7373
gnuradio-analog
7474
gnuradio-filter
7575
gnuradio-fec
76-
${GR_VOLK_LIB}
76+
Volk::volk
7777
)
7878

7979
target_include_directories(gnuradio-dtv

gr-fec/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ include(GrComponent)
1818
find_package(GSL)
1919

2020
GR_REGISTER_COMPONENT("gr-fec" ENABLE_GR_FEC
21-
ENABLE_VOLK
2221
Boost_FOUND
2322
ENABLE_GNURADIO_RUNTIME
2423
ENABLE_GR_BLOCKS

gr-fft/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ find_package(FFTW3f)
1818
include(GrComponent)
1919

2020
GR_REGISTER_COMPONENT("gr-fft" ENABLE_GR_FFT
21-
ENABLE_VOLK
2221
Boost_FOUND
2322
ENABLE_GNURADIO_RUNTIME
2423
ENABLE_GR_BLOCKS

gr-fft/lib/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ add_library(gnuradio-fft
2020
target_link_libraries(gnuradio-fft PUBLIC
2121
gnuradio-runtime
2222
fftw3f::fftw3f
23-
${GR_VOLK_LIB}
23+
Volk::volk
2424
)
2525

2626
target_include_directories(gnuradio-fft

gr-filter/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ include(GrBoost)
1616
include(GrComponent)
1717

1818
GR_REGISTER_COMPONENT("gr-filter" ENABLE_GR_FILTER
19-
ENABLE_VOLK
2019
Boost_FOUND
2120
ENABLE_GNURADIO_RUNTIME
2221
ENABLE_GR_FFT

gr-filter/lib/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ target_link_libraries(gnuradio-filter PUBLIC
5959
gnuradio-runtime
6060
gnuradio-fft
6161
gnuradio-blocks
62-
${GR_VOLK_LIB}
62+
Volk::volk
6363
)
6464

6565
target_include_directories(gnuradio-filter

gr-qtgui/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ GR_REGISTER_COMPONENT("gr-qtgui" ENABLE_GR_QTGUI
3535
Boost_FOUND
3636
QT_FOUND
3737
QWT_FOUND
38-
ENABLE_VOLK
3938
ENABLE_GNURADIO_RUNTIME
4039
ENABLE_GR_FFT
4140
ENABLE_GR_FILTER

gr-qtgui/lib/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ target_link_libraries(gnuradio-qtgui PUBLIC
6767
gnuradio-runtime
6868
gnuradio-fft
6969
gnuradio-filter
70-
${GR_VOLK_LIB}
70+
Volk::volk
7171
qwt::qwt
7272
Qt5::Widgets
7373
)

volk

-1
This file was deleted.

0 commit comments

Comments
 (0)