summaryrefslogtreecommitdiff
path: root/gr-fft/lib/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'gr-fft/lib/CMakeLists.txt')
-rw-r--r--gr-fft/lib/CMakeLists.txt77
1 files changed, 17 insertions, 60 deletions
diff --git a/gr-fft/lib/CMakeLists.txt b/gr-fft/lib/CMakeLists.txt
index 9777d243df..7b8207665e 100644
--- a/gr-fft/lib/CMakeLists.txt
+++ b/gr-fft/lib/CMakeLists.txt
@@ -18,29 +18,9 @@
# Boston, MA 02110-1301, USA.
########################################################################
-# Setup the include and linker paths
-########################################################################
-include_directories(
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_CURRENT_BINARY_DIR}
- ${GR_FFT_INCLUDE_DIRS}
- ${GNURADIO_RUNTIME_INCLUDE_DIRS}
- ${VOLK_INCLUDE_DIRS}
- ${Boost_INCLUDE_DIRS}
- ${FFTW3F_INCLUDE_DIRS}
-)
-
-link_directories(${Boost_LIBRARY_DIRS})
-link_directories(${FFTW3F_LIBRARY_DIRS})
-
-if(ENABLE_GR_CTRLPORT)
- ADD_DEFINITIONS(-DGR_CTRLPORT)
-endif(ENABLE_GR_CTRLPORT)
-
-########################################################################
# Setup library
########################################################################
-list(APPEND fft_sources
+add_library(gnuradio-fft
fft.cc
fft_vcc_fftw.cc
fft_vfc_fftw.cc
@@ -49,18 +29,24 @@ list(APPEND fft_sources
window.cc
)
+target_link_libraries(gnuradio-fft PUBLIC
+ gnuradio-runtime
+ fftw3f::fftw3f
+ ${GR_VOLK_LIB}
+)
+
+target_include_directories(gnuradio-fft
+ PUBLIC
+ $<INSTALL_INTERFACE:include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
+ )
+
if(ENABLE_GR_CTRLPORT)
-list(APPEND fft_sources
+target_sources(gnuradio-fft PRIVATE
ctrlport_probe_psd_impl.cc
)
endif(ENABLE_GR_CTRLPORT)
-list(APPEND fft_libs
- gnuradio-runtime
- ${VOLK_LIBRARIES}
- ${Boost_LIBRARIES}
- ${FFTW3F_LIBRARIES}
-)
#Add Windows DLL resource file if using MSVC
if(MSVC)
@@ -71,40 +57,11 @@ if(MSVC)
${CMAKE_CURRENT_BINARY_DIR}/gnuradio-fft.rc
@ONLY)
- list(APPEND fft_sources
+ target_sources(gnuradio-fft PRIVATE
${CMAKE_CURRENT_BINARY_DIR}/gnuradio-fft.rc
)
endif(MSVC)
-if(FFTW3F_THREADS_LIBRARIES)
- list(APPEND fft_libs ${FFTW3F_THREADS_LIBRARIES})
- add_definitions("-DFFTW3F_THREADS")
+if(BUILD_SHARED_LIBS)
+ GR_LIBRARY_FOO(gnuradio-fft FFTW3f)
endif()
-
-add_library(gnuradio-fft SHARED ${fft_sources})
-target_link_libraries(gnuradio-fft ${fft_libs})
-GR_LIBRARY_FOO(gnuradio-fft)
-
-if(ENABLE_STATIC_LIBS)
- if(ENABLE_GR_CTRLPORT)
- # Remove GR_CTRLPORT set this target's definitions.
- # Makes sure we don't try to use ControlPort stuff in source files
- GET_DIRECTORY_PROPERTY(STATIC_DEFS COMPILE_DEFINITIONS)
- list(REMOVE_ITEM STATIC_DEFS "GR_CTRLPORT")
- SET_PROPERTY(DIRECTORY PROPERTY COMPILE_DEFINITIONS "${STATIC_DEFS}")
-
- # readd it to the target since we removed it from the directory-wide list.
- SET_PROPERTY(TARGET gnuradio-fft APPEND PROPERTY COMPILE_DEFINITIONS "GR_CTRLPORT")
- endif(ENABLE_GR_CTRLPORT)
-
- add_library(gnuradio-fft_static STATIC ${fft_sources})
-
- if(NOT WIN32)
- set_target_properties(gnuradio-fft_static
- PROPERTIES OUTPUT_NAME gnuradio-fft)
- endif(NOT WIN32)
-
- install(TARGETS gnuradio-fft_static
- ARCHIVE DESTINATION lib${LIB_SUFFIX} # .lib file
- )
-endif(ENABLE_STATIC_LIBS)