option(DISABLE_WERROR "Build without -Werror" FALSE)
option(ENABLE_SIGNALS "Build with UNIX signals" TRUE)
option(ENABLE_DECODE "Build with libsigrokdecode" TRUE)
-option(ENABLE_COTIRE "Enable cotire" FALSE)
option(ENABLE_TESTS "Enable unit tests" FALSE)
option(STATIC_PKGDEPS_LIBS "Statically link to (pkg-config) libraries" FALSE)
option(FORCE_QT4 "Force use of Qt4 even if Qt5 is available" FALSE)
# This option is user configurable, but enable it by default on win32.
set(STATIC_PKGDEPS_LIBS TRUE)
+ # For boost-thread we need two additional settings on win32:
+ set(Boost_USE_STATIC_LIBS ON)
+ add_definitions(-DBOOST_THREAD_USE_LIB)
+
# Windows does not support UNIX signals.
set(ENABLE_SIGNALS FALSE)
endif()
if(NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
- "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
- FORCE)
+ set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
+ "Choose the type of build (None, Debug, Release, RelWithDebInfo, MinSizeRel)."
+ FORCE)
endif()
#===============================================================================
find_package(Qt4 REQUIRED QtCore QtGui QtSvg)
endif()
-find_package(Boost 1.42 COMPONENTS filesystem system thread REQUIRED)
+if(WIN32)
+if(ENABLE_TESTS)
+ # On Windows/MinGW we need to use 'thread_win32' instead of 'thread'.
+ # The library is named libboost_thread_win32* (not libboost_thread*).
+ find_package(Boost 1.42 COMPONENTS filesystem system thread_win32 unit_test_framework REQUIRED)
+else()
+ find_package(Boost 1.42 COMPONENTS filesystem system thread_win32 REQUIRED)
+endif()
+else()
+if(ENABLE_TESTS)
+ find_package(Boost 1.42 COMPONENTS filesystem system thread unit_test_framework REQUIRED)
+else()
+ find_package(Boost 1.42 COMPONENTS filesystem system thread REQUIRED)
+endif()
+endif()
# Find the platform's thread library (needed for C++11 threads).
# This will set ${CMAKE_THREAD_LIBS_INIT} to the correct, OS-specific value.
pv/application.cpp
pv/devicemanager.cpp
pv/mainwindow.cpp
- pv/sigsession.cpp
+ pv/session.cpp
pv/storesession.cpp
pv/util.cpp
pv/data/analog.cpp
# This list includes only QObject derived class headers.
set(pulseview_HEADERS
- pv/mainwindow.h
- pv/sigsession.h
- pv/storesession.h
- pv/dialogs/about.h
- pv/dialogs/connect.h
- pv/dialogs/storeprogress.h
- pv/popups/channels.h
- pv/popups/deviceoptions.h
- pv/prop/bool.h
- pv/prop/double.h
- pv/prop/enum.h
- pv/prop/int.h
- pv/prop/property.h
- pv/prop/string.h
- pv/prop/binding/deviceoptions.h
- pv/toolbars/samplingbar.h
- pv/view/cursor.h
- pv/view/cursorheader.h
- pv/view/header.h
- pv/view/logicsignal.h
- pv/view/marginwidget.h
- pv/view/ruler.h
- pv/view/selectableitem.h
- pv/view/signal.h
- pv/view/timemarker.h
- pv/view/trace.h
- pv/view/tracegroup.h
- pv/view/view.h
- pv/view/viewport.h
- pv/widgets/colourbutton.h
- pv/widgets/colourpopup.h
- pv/widgets/popup.h
- pv/widgets/popuptoolbutton.h
- pv/widgets/sweeptimingwidget.h
- pv/widgets/wellarray.h
+ pv/mainwindow.hpp
+ pv/session.hpp
+ pv/storesession.hpp
+ pv/dialogs/about.hpp
+ pv/dialogs/connect.hpp
+ pv/dialogs/storeprogress.hpp
+ pv/popups/channels.hpp
+ pv/popups/deviceoptions.hpp
+ pv/prop/bool.hpp
+ pv/prop/double.hpp
+ pv/prop/enum.hpp
+ pv/prop/int.hpp
+ pv/prop/property.hpp
+ pv/prop/string.hpp
+ pv/prop/binding/deviceoptions.hpp
+ pv/toolbars/samplingbar.hpp
+ pv/view/cursor.hpp
+ pv/view/cursorheader.hpp
+ pv/view/header.hpp
+ pv/view/logicsignal.hpp
+ pv/view/marginwidget.hpp
+ pv/view/rowitem.hpp
+ pv/view/ruler.hpp
+ pv/view/selectableitem.hpp
+ pv/view/signal.hpp
+ pv/view/timemarker.hpp
+ pv/view/trace.hpp
+ pv/view/tracegroup.hpp
+ pv/view/view.hpp
+ pv/view/viewport.hpp
+ pv/widgets/colourbutton.hpp
+ pv/widgets/colourpopup.hpp
+ pv/widgets/popup.hpp
+ pv/widgets/popuptoolbutton.hpp
+ pv/widgets/sweeptimingwidget.hpp
+ pv/widgets/wellarray.hpp
)
set(pulseview_FORMS
if(ENABLE_SIGNALS)
list(APPEND pulseview_SOURCES signalhandler.cpp)
- list(APPEND pulseview_HEADERS signalhandler.h)
+ list(APPEND pulseview_HEADERS signalhandler.hpp)
endif()
if(ENABLE_DECODE)
)
list(APPEND pulseview_HEADERS
- pv/data/decoderstack.h
- pv/view/decodetrace.h
- pv/widgets/decodergroupbox.h
- pv/widgets/decodermenu.h
+ pv/data/decoderstack.hpp
+ pv/view/decodetrace.hpp
+ pv/widgets/decodergroupbox.hpp
+ pv/widgets/decodermenu.hpp
)
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-mwindows")
endif()
-if(ENABLE_COTIRE)
- include(cotire)
- cotire(${PROJECT_NAME})
-endif()
-
#===============================================================================
#= Installation
#-------------------------------------------------------------------------------