Made UNIX signals an optional feature
authorJoel Holdsworth <joel@airwebreathe.org.uk>
Thu, 18 Apr 2013 20:17:47 +0000 (21:17 +0100)
committerJoel Holdsworth <joel@airwebreathe.org.uk>
Thu, 18 Apr 2013 20:17:47 +0000 (21:17 +0100)
CMakeLists.txt
main.cpp

index 8566adf04a8509294c0625f6f9521c4f76da8970..2d9ec8f2ff76fd9260d6315e2d4a641c3f399064 100644 (file)
@@ -28,6 +28,7 @@ project(pulseview)
 #-------------------------------------------------------------------------------
 
 option(DISABLE_WERROR "Build without -Werror" FALSE)
+option(ENABLE_SIGNALS "Build with UNIX signals" TRUE)
 option(ENABLE_SIGROKDECODE "Build with libsigrokdecode" FALSE)
 option(ENABLE_TESTS "Enable unit tests" FALSE)
 option(STATIC_PKGDEPS_LIBS "Statically link to (pkgconfig) libraries" FALSE)
@@ -40,6 +41,9 @@ if(WIN32)
        # For boost-thread we need two additional settings on win32:
        set(Boost_USE_STATIC_LIBS on)
        add_definitions(-DBOOST_THREAD_USE_LIB)
+
+       # Windsws does not support UNIX signals
+       set(ENABLE_SIGNALS FALSE)
 endif()
 
 #===============================================================================
@@ -96,7 +100,6 @@ configure_file (
 
 set(pulseview_SOURCES
        main.cpp
-       signalhandler.cpp
        pv/mainwindow.cpp
        pv/sigsession.cpp
        pv/data/analog.cpp
@@ -128,7 +131,6 @@ set(pulseview_SOURCES
 )
 
 set(pulseview_HEADERS
-       signalhandler.h
        pv/mainwindow.h
        pv/sigsession.h
        pv/dialogs/about.h
@@ -151,6 +153,11 @@ set(pulseview_RESOURCES
        pulseview.qrc
 )
 
+if(ENABLE_SIGNALS)
+       list(APPEND pulseview_SOURCES signalhandler.cpp)
+       list(APPEND pulseview_HEADERS signalhandler.h)
+endif()
+
 qt4_wrap_cpp(pulseview_HEADERS_MOC ${pulseview_HEADERS})
 qt4_wrap_ui(pulseview_FORMS_HEADERS ${pulseview_FORMS})
 qt4_add_resources(pulseview_RESOURCES_RCC ${pulseview_RESOURCES})
index b72fc70c46b38320b25179b593ef0b5afc05f762..715dc526c2f07fce90eb9d111cf253acf57dc09a 100644 (file)
--- a/main.cpp
+++ b/main.cpp
 #include <QtGui/QApplication>
 #include <QDebug>
 
+#ifdef ENABLE_SIGNALS
 #include "signalhandler.h"
+#endif
+
 #include "pv/mainwindow.h"
 
 #include "config.h"
@@ -141,6 +144,7 @@ int main(int argc, char *argv[])
                        pv::MainWindow w(open_file);
                        w.show();
 
+#ifdef ENABLE_SIGNALS
                        if(SignalHandler::prepare_signals()) {
                                SignalHandler *const handler =
                                        new SignalHandler(&w);
@@ -154,6 +158,7 @@ int main(int argc, char *argv[])
                                qWarning() <<
                                        "Could not prepare signal handler.";
                        }
+#endif
 
                        // Run the application
                        ret = a.exec();