Skip to content

Commit 5706cfd

Browse files
authored
Merge pull request #2605 from srcejon/inmarsat
Fix Inmarsat on Mac
2 parents 1236b11 + ebe4f4f commit 5706cfd

14 files changed

+44
-30
lines changed

doc/img/InmarsatDemod_plugin.png

44.6 KB
Loading

external/CMakeLists.txt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -322,11 +322,19 @@ if (NOT FAAD_FOUND AND NOT USE_PRECOMPILED_LIBS)
322322
endif (NOT FAAD_FOUND AND NOT USE_PRECOMPILED_LIBS)
323323

324324
if (NOT FFTW3F_FOUND AND NOT USE_PRECOMPILED_LIBS)
325+
if (WIN32)
326+
set(FFTW3F_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/libfftw3f.lib" CACHE INTERNAL "")
327+
elseif (LINUX)
328+
set(FFTW3F_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/libfftw3f${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
329+
elseif (APPLE)
330+
set(FFTW3F_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/fftw3f/src/fftw3f-build/.libs/libfftw3f.a" CACHE INTERNAL "")
331+
endif ()
325332
ExternalProject_Add(fftw3f
326333
URL http://fftw.org/fftw-3.3.10.tar.gz
327334
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/fftw3f"
328335
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR> --enable-float
329336
BUILD_COMMAND ${MAKE}
337+
BUILD_BYPRODUCTS "${FFTW3F_LIBRARIES}"
330338
INSTALL_COMMAND ""
331339
TEST_COMMAND ""
332340
)
@@ -335,13 +343,6 @@ if (NOT FFTW3F_FOUND AND NOT USE_PRECOMPILED_LIBS)
335343
set_global_cache(FFTW3F_FOUND ON)
336344
set(FFTW3F_EXTERNAL ON CACHE INTERNAL "")
337345
set(FFTW3F_INCLUDE_DIRS "${source_dir}/api" "${binary_dir}" CACHE INTERNAL "")
338-
if (WIN32)
339-
set(FFTW3F_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/libfftw3f.lib" CACHE INTERNAL "")
340-
elseif (LINUX)
341-
set(FFTW3F_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/libfftw3f${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
342-
elseif (APPLE)
343-
set(FFTW3F_LIBRARIES "${binary_dir}/.libs/libfftw3f.a" CACHE INTERNAL "")
344-
endif ()
345346
endif (NOT FFTW3F_FOUND AND NOT USE_PRECOMPILED_LIBS)
346347

347348
# Can't build Boost using ExternalProject_Add, as we want to use find_package(Boost) as it defines many variables,
@@ -964,7 +965,7 @@ if(ENABLE_CHANNELRX_DEMODINMARSAT)
964965
elseif (APPLE)
965966
install(DIRECTORY "${binary_dir}" DESTINATION "${INSTALL_LIB_DIR}"
966967
FILES_MATCHING PATTERN "libinmarsatc*${CMAKE_SHARED_LIBRARY_SUFFIX}")
967-
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${binary_dir}/src")
968+
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${binary_dir}")
968969
endif ()
969970
endif()
970971

plugins/channelrx/demodinmarsat/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ if(NOT BUILD_SHARED_LIBS)
5555
set_property(GLOBAL APPEND PROPERTY STATIC_PLUGINS_PROPERTY ${TARGET_NAME})
5656
endif()
5757

58+
if(DEFINED INMARSATC_DEPENDS)
59+
add_dependencies(${TARGET_NAME} ${INMARSATC_DEPENDS})
60+
endif()
61+
5862
target_link_libraries(${TARGET_NAME} PRIVATE
5963
Qt::Core
6064
${TARGET_LIB}

plugins/channelrx/demodinmarsat/inmarsatdemod.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,15 +143,15 @@ bool InmarsatDemod::handleMessage(const Message& cmd)
143143
{
144144
if (MsgConfigureInmarsatDemod::match(cmd))
145145
{
146-
MsgConfigureInmarsatDemod& cfg = (MsgConfigureInmarsatDemod&) cmd;
146+
const MsgConfigureInmarsatDemod& cfg = (const MsgConfigureInmarsatDemod&) cmd;
147147
qDebug() << "InmarsatDemod::handleMessage: MsgConfigureInmarsatDemod";
148148
applySettings(cfg.getSettings(), cfg.getSettingsKeys(), cfg.getForce());
149149

150150
return true;
151151
}
152152
else if (DSPSignalNotification::match(cmd))
153153
{
154-
DSPSignalNotification& notif = (DSPSignalNotification&) cmd;
154+
const DSPSignalNotification& notif = (const DSPSignalNotification&) cmd;
155155
m_basebandSampleRate = notif.getSampleRate();
156156
m_centerFrequency = notif.getCenterFrequency();
157157
// Forward to the sink
@@ -168,7 +168,7 @@ bool InmarsatDemod::handleMessage(const Message& cmd)
168168
else if (MainCore::MsgPacket::match(cmd))
169169
{
170170
// Forward to GUI
171-
MainCore::MsgPacket& report = (MainCore::MsgPacket&)cmd;
171+
const MainCore::MsgPacket& report = (const MainCore::MsgPacket&)cmd;
172172
if (getMessageQueueToGUI())
173173
{
174174
MainCore::MsgPacket *msg = new MainCore::MsgPacket(report);

plugins/channelrx/demodinmarsat/inmarsatdemod.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class InmarsatDemod : public BasebandSampleSink, public ChannelAPI {
6868
{ }
6969
};
7070

71-
InmarsatDemod(DeviceAPI *deviceAPI);
71+
explicit InmarsatDemod(DeviceAPI *deviceAPI);
7272
virtual ~InmarsatDemod();
7373
virtual void destroy() { delete this; }
7474
virtual void setDeviceAPI(DeviceAPI *deviceAPI);

plugins/channelrx/demodinmarsat/inmarsatdemodbaseband.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class InmarsatDemodBaseband : public QObject
6464
{ }
6565
};
6666

67-
InmarsatDemodBaseband(InmarsatDemod *packetDemod);
67+
explicit InmarsatDemodBaseband(InmarsatDemod *packetDemod);
6868
~InmarsatDemodBaseband();
6969
void reset();
7070
void startWork();

plugins/channelrx/demodinmarsat/inmarsatdemodgui.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545

4646
#include "inmarsatdemod.h"
4747

48-
MultipartMessage::MultipartMessage(int id, std::map<std::string, std::string> params, const QDateTime& dateTime) :
48+
MultipartMessage::MultipartMessage(int id, std::map<std::string, std::string>& params, const QDateTime& dateTime) :
4949
m_id(id),
5050
m_icon(nullptr),
5151
m_latitude(0.0f),
@@ -54,7 +54,7 @@ MultipartMessage::MultipartMessage(int id, std::map<std::string, std::string> pa
5454
update(params, dateTime);
5555
}
5656

57-
void MultipartMessage::update(std::map<std::string, std::string> params, const QDateTime& dateTime)
57+
void MultipartMessage::update(std::map<std::string, std::string>& params, const QDateTime& dateTime)
5858
{
5959
m_dateTime = dateTime;
6060
m_service = QString::fromStdString(params["serviceCodeAndAddressName"]);
@@ -1324,7 +1324,7 @@ void InmarsatDemodGUI::handleInputMessages()
13241324
{
13251325
Message* message;
13261326

1327-
while ((message = getInputMessageQueue()->pop()) != 0)
1327+
while ((message = getInputMessageQueue()->pop()) != nullptr)
13281328
{
13291329
if (handleMessage(*message))
13301330
{

plugins/channelrx/demodinmarsat/inmarsatdemodgui.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ struct MessagePart {
6262
class MultipartMessage {
6363
public:
6464

65-
MultipartMessage(int id, std::map<std::string, std::string> params, const QDateTime& dateTime);
66-
void update(std::map<std::string, std::string> params, const QDateTime& dateTime);
65+
explicit MultipartMessage(int id, std::map<std::string, std::string>& params, const QDateTime& dateTime);
66+
void update(std::map<std::string, std::string>& params, const QDateTime& dateTime);
6767
void addPart(const MessagePart& part);
6868
QString getMessage() const;
6969
int getParts() const { return m_parts.size(); }
@@ -157,7 +157,7 @@ public slots:
157157
QRegularExpression m_typeRE;
158158
QRegularExpression m_messageRE;
159159

160-
explicit InmarsatDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel, QWidget* parent = 0);
160+
explicit InmarsatDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel, QWidget* parent = nullptr);
161161
virtual ~InmarsatDemodGUI();
162162

163163
void blockApplySettings(bool block);

plugins/channelrx/demodinmarsat/inmarsatdemodplugin.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ ChannelGUI* InmarsatDemodPlugin::createRxChannelGUI(
7979
{
8080
(void) deviceUISet;
8181
(void) rxChannel;
82-
return 0;
82+
return nullptr;
8383
}
8484
#else
8585
ChannelGUI* InmarsatDemodPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel) const

plugins/channelrx/demodinmarsat/inmarsatdemodsettings.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ void InmarsatDemodSettings::appendDefaultColumnSettings()
4141
appendDefaultColumnSizes(m_messagesColumnSizes, INMARSATDEMOD_MESSAGES_COLUMNS);
4242
}
4343

44-
void InmarsatDemodSettings::appendDefaultColumnIndexes(QList<int>& list, int size)
44+
void InmarsatDemodSettings::appendDefaultColumnIndexes(QList<int>& list, int size) const
4545
{
4646
while (list.size() < size) {
4747
list.append(list.size());
4848
}
4949
}
5050

51-
void InmarsatDemodSettings::appendDefaultColumnSizes(QList<int>& list, int size)
51+
void InmarsatDemodSettings::appendDefaultColumnSizes(QList<int>& list, int size) const
5252
{
5353
while (list.size() < size) {
5454
list.append(-1);

0 commit comments

Comments
 (0)