summaryrefslogtreecommitdiffstats
path: root/plugins/samplesource/gnuradio/CMakeLists.txt
blob: 2dbc5a67d6b831f8d0411e3aaea19d15e0bb0576 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
project(gnuradio)

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)

find_package(GnuradioRuntime)
find_package(GnuradioOsmosdr)

if(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")
    list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
endif(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")

find_package(Boost)

if(NOT GNURADIO_OSMOSDR_FOUND)
    message(FATAL_ERROR "gr-osmosdr required to build sample source plugin.")
endif(NOT GNURADIO_OSMOSDR_FOUND)

if(NOT GNURADIO_RUNTIME_FOUND)

    message(STATUS "GNU Radio not found, assuming built-in gr-osmosdr runtime.")

    set(GNURADIO_RUNTIME_FOUND TRUE)
    set(GNURADIO_RUNTIME_INCLUDE_DIRS "")
    set(GNURADIO_RUNTIME_LIBRARIES "")

    FOREACH(inc ${GNURADIO_OSMOSDR_INCLUDE_DIRS})
        LIST(APPEND GNURADIO_RUNTIME_INCLUDE_DIRS "${inc}/osmosdr/runtime")
    ENDFOREACH(inc)

    LIST(APPEND GNURADIO_RUNTIME_LIBRARIES ${GNURADIO_OSMOSDR_LIBRARIES})

endif(NOT GNURADIO_RUNTIME_FOUND)

if(Boost_FOUND AND GNURADIO_RUNTIME_FOUND AND GNURADIO_OSMOSDR_FOUND)

set(gnuradio_SOURCES
	gnuradiogui.cpp
	gnuradioinput.cpp
	gnuradioplugin.cpp
	gnuradiothread.cpp
)

set(gnuradio_HEADERS
	gnuradiogui.h
	gnuradioinput.h
	gnuradioplugin.h
	gnuradiothread.h
)

set(gnuradio_FORMS
	gnuradiogui.ui
)

include_directories(
        ${CMAKE_CURRENT_SOURCE_DIR}
	${CMAKE_CURRENT_BINARY_DIR}
	${CMAKE_SOURCE_DIR}/include
	${CMAKE_SOURCE_DIR}/include-gpl
	${Boost_INCLUDE_DIRS}
	${GNURADIO_RUNTIME_INCLUDE_DIRS}
	${GNURADIO_OSMOSDR_INCLUDE_DIRS}
)

add_definitions(${QT_DEFINITIONS})
add_definitions(-DQT_PLUGIN)
add_definitions(-DQT_SHARED)
add_definitions(-DBOOST_ALL_NO_LIB)

if(MSVC)
add_definitions(-DNOMINMAX)
endif()

qt5_wrap_ui(gnuradio_FORMS_HEADERS ${gnuradio_FORMS})

add_library(inputgnuradio SHARED
	${gnuradio_SOURCES}
	${gnuradio_HEADERS_MOC}
	${gnuradio_FORMS_HEADERS}
)

target_link_libraries(inputgnuradio
	${QT_LIBRARIES}
	${Boost_LIBRARIES}
	${GNURADIO_RUNTIME_LIBRARIES}
	${GNURADIO_OSMOSDR_LIBRARIES}
	sdrbase
)

qt5_use_modules(inputgnuradio Core Widgets OpenGL Multimedia)

endif(Boost_FOUND AND GNURADIO_RUNTIME_FOUND AND GNURADIO_OSMOSDR_FOUND)