]> sigrok.org Git - pulseview.git/blobdiff - CMakeLists.txt
Made UNIX signals an optional feature
[pulseview.git] / CMakeLists.txt
index fc8fb4c9e521b6856e1d7fe189e90b804b99505f..2d9ec8f2ff76fd9260d6315e2d4a641c3f399064 100644 (file)
@@ -28,6 +28,8 @@ 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)
 
@@ -39,18 +41,26 @@ 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()
 
 #===============================================================================
 #= Dependencies
 #-------------------------------------------------------------------------------
 
-find_package(PkgConfig)
-pkg_check_modules(PKGDEPS REQUIRED
-       libsigrokdecode>=0.1.0
+list(APPEND PKGDEPS
        libsigrok>=0.2.0
 )
 
+if(ENABLE_SIGROKDECODE)
+       list(APPEND PKGDEPS libsigrokdecode>=0.1.0)
+endif()
+
+find_package(PkgConfig)
+pkg_check_modules(PKGDEPS REQUIRED ${PKGDEPS})
+
 find_package(Qt4 REQUIRED)
 
 # Find the platform's thread library (needed for boost-thread).
@@ -101,8 +111,10 @@ set(pulseview_SOURCES
        pv/dialogs/about.cpp
        pv/dialogs/connect.cpp
        pv/dialogs/deviceoptions.cpp
+       pv/prop/bool.cpp
        pv/prop/double.cpp
        pv/prop/enum.cpp
+       pv/prop/int.cpp
        pv/prop/property.cpp
        pv/prop/binding/binding.cpp
        pv/prop/binding/deviceoptions.cpp
@@ -141,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})
@@ -154,6 +171,10 @@ include(${QT_USE_FILE})
 add_definitions(${QT_DEFINITIONS})
 add_definitions(-Wall -Wextra)
 
+if(ENABLE_SIGROKDECODE)
+       add_definitions(-DENABLE_SIGROKDECODE)
+endif()
+
 if(NOT DISABLE_WERROR)
        add_definitions(-Werror)
 endif()