]> sigrok.org Git - pulseview.git/blobdiff - CMakeLists.txt
Use boost::filesystem::path to get the filename from a path
[pulseview.git] / CMakeLists.txt
index 94d32a41f1d53e6b892f81c6150f57b106bebba6..1b9c7d1a2b50fb3106a61c11e81c90df49ff87a7 100644 (file)
@@ -51,6 +51,12 @@ if(WIN32)
        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
 #-------------------------------------------------------------------------------
@@ -74,11 +80,18 @@ find_package(Threads)
 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
 #-------------------------------------------------------------------------------
@@ -114,6 +127,11 @@ set(pulseview_SOURCES
        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
@@ -146,6 +164,7 @@ set(pulseview_SOURCES
        pv/widgets/colourpopup.cpp
        pv/widgets/popup.cpp
        pv/widgets/popuptoolbutton.cpp
+       pv/widgets/sweeptimingwidget.cpp
        pv/widgets/wellarray.cpp
 )
 
@@ -154,6 +173,7 @@ 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
@@ -181,6 +201,7 @@ set(pulseview_HEADERS
        pv/widgets/colourpopup.h
        pv/widgets/popup.h
        pv/widgets/popuptoolbutton.h
+       pv/widgets/sweeptimingwidget.h
        pv/widgets/wellarray.h
 )
 
@@ -202,11 +223,12 @@ if(ENABLE_DECODE)
                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
@@ -277,6 +299,10 @@ set(PULSEVIEW_LINK_LIBS
 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})