option(DISABLE_WERROR "Build without -Werror" FALSE)
option(ENABLE_SIGNALS "Build with UNIX signals" TRUE)
-option(ENABLE_DECODE "Build with libsigrokdecode" FALSE)
+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)
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)
+endif()
+
#===============================================================================
#= Dependencies
#-------------------------------------------------------------------------------
if(WIN32)
# 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 system thread_win32 REQUIRED)
+ find_package(Boost 1.42 COMPONENTS filesystem system thread_win32 REQUIRED)
else()
- find_package(Boost 1.42 COMPONENTS system thread REQUIRED)
+ find_package(Boost 1.42 COMPONENTS filesystem system thread REQUIRED)
endif()
+#===============================================================================
+#= System Introspection
+#-------------------------------------------------------------------------------
+
+include(memaccess)
+memaccess_check_unaligned_le(HAVE_UNALIGNED_LITTLE_ENDIAN_ACCESS)
+
#===============================================================================
#= Config Header
#-------------------------------------------------------------------------------
pv/devicemanager.cpp
pv/mainwindow.cpp
pv/sigsession.cpp
+ pv/storesession.cpp
pv/data/analog.cpp
pv/data/analogsnapshot.cpp
pv/data/logic.cpp
pv/data/logicsnapshot.cpp
pv/data/signaldata.cpp
pv/data/snapshot.cpp
+ pv/device/device.cpp
+ pv/device/file.cpp
+ pv/device/devinst.cpp
+ pv/device/inputfile.cpp
+ pv/device/sessionfile.cpp
pv/dialogs/about.cpp
pv/dialogs/connect.cpp
+ pv/dialogs/storeprogress.cpp
pv/popups/deviceoptions.cpp
pv/popups/probes.cpp
pv/prop/bool.cpp
pv/widgets/colourpopup.cpp
pv/widgets/popup.cpp
pv/widgets/popuptoolbutton.cpp
+ pv/widgets/sweeptimingwidget.cpp
pv/widgets/wellarray.cpp
)
set(pulseview_HEADERS
pv/mainwindow.h
pv/sigsession.h
+ pv/storesession.h
+ pv/device/devinst.h
pv/dialogs/about.h
pv/dialogs/connect.h
+ pv/dialogs/storeprogress.h
pv/popups/probes.h
pv/popups/deviceoptions.h
pv/prop/bool.h
pv/widgets/colourpopup.h
pv/widgets/popup.h
pv/widgets/popuptoolbutton.h
+ pv/widgets/sweeptimingwidget.h
pv/widgets/wellarray.h
)
pv/data/decoderstack.cpp
pv/data/decode/annotation.cpp
pv/data/decode/decoder.cpp
+ pv/data/decode/row.cpp
+ pv/data/decode/rowdata.cpp
pv/prop/binding/decoderoptions.cpp
pv/view/decodetrace.cpp
pv/widgets/decodergroupbox.cpp
pv/widgets/decodermenu.cpp
- pv/widgets/wellarray.cpp
)
list(APPEND pulseview_HEADERS
if(STATIC_PKGDEPS_LIBS)
link_directories(${PKGDEPS_STATIC_LIBRARY_DIRS})
list(APPEND PULSEVIEW_LINK_LIBS ${PKGDEPS_STATIC_LIBRARIES})
+if(WIN32)
+ # Workaround for a MinGW linking issue.
+ list(APPEND PULSEVIEW_LINK_LIBS "-llzma -llcms2")
+endif()
else()
link_directories(${PKGDEPS_LIBRARY_DIRS})
list(APPEND PULSEVIEW_LINK_LIBS ${PKGDEPS_LIBRARIES})