cmake_minimum_required(VERSION 2.8.12)
-include(GNUInstallDirs)
+project(pulseview C CXX)
-project(pulseview)
+include(GNUInstallDirs)
# Let AUTOMOC and AUTOUIC process GENERATED files.
if(POLICY CMP0071)
endif()
endif()
+# Check availability of features which depend on library versions.
+# TODO Ideally use check_symbol_exists() instead, reduce boilerplate.
+if(ENABLE_DECODE)
+ include(CheckCSourceCompiles)
+ include(CMakePushCheckState)
+ cmake_push_check_state()
+ set(CMAKE_REQUIRED_INCLUDES "${PKGDEPS_INCLUDE_DIRS}")
+ set(CMAKE_REQUIRED_LIBRARIES "sigrokdecode")
+ foreach (LPATH ${PKGDEPS_LIBRARY_DIRS})
+ list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-L${LPATH}")
+ endforeach ()
+ check_c_source_compiles("
+ #include <libsigrokdecode/libsigrokdecode.h>
+ int main(int argc, char *argv[])
+ {
+ (void)argc;
+ (void)argv;
+ return srd_session_send_eof(NULL);
+ }
+ " HAVE_SRD_SESSION_SEND_EOF)
+ cmake_pop_check_state()
+endif()
+
#===============================================================================
#= System Introspection
#-------------------------------------------------------------------------------
pv/data/analogsegment.cpp
pv/data/logic.cpp
pv/data/logicsegment.cpp
+ pv/data/mathsignal.cpp
pv/data/signalbase.cpp
pv/data/signaldata.cpp
pv/data/segment.cpp
pv/views/trace/cursorpair.cpp
pv/views/trace/flag.cpp
pv/views/trace/header.cpp
+ pv/views/trace/mathsignal.cpp
pv/views/trace/marginwidget.cpp
pv/views/trace/logicsignal.cpp
pv/views/trace/ruler.cpp
# This list includes only QObject derived class headers.
set(pulseview_HEADERS
+ pv/exprtk.hpp
pv/logging.hpp
pv/globalsettings.hpp
pv/mainwindow.hpp
pv/data/analogsegment.hpp
pv/data/logic.hpp
pv/data/logicsegment.hpp
+ pv/data/mathsignal.hpp
pv/data/signalbase.hpp
pv/dialogs/connect.hpp
pv/dialogs/inputoutputoptions.hpp
pv/views/trace/flag.hpp
pv/views/trace/header.hpp
pv/views/trace/logicsignal.hpp
+ pv/views/trace/mathsignal.hpp
pv/views/trace/marginwidget.hpp
pv/views/trace/ruler.hpp
pv/views/trace/signal.hpp
add_definitions(-Wall -Wextra)
add_definitions(-std=c++11)
add_definitions(-DBOOST_MATH_DISABLE_FLOAT128=1)
+if(WIN32)
+ add_definitions(-Wa,-mbig-obj -O3)
+endif()
if(ENABLE_FLOW)
add_definitions(-DENABLE_FLOW)