Commit 493d61d6 authored by DreamSourceLab's avatar DreamSourceLab
Browse files

Initial version.

parents
*.[oa]
*~
*.Plo
*.pc
*.pc.in
*.Po
This diff is collapsed.
##
## This file is part of the PulseView project.
##
## Copyright (C) 2012 Joel Holdsworth <joel@airwebreathe.org.uk>
## Copyright (C) 2012-2013 Alexandru Gagniuc <mr.nuke.me@gmail.com>
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 2 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
##
cmake_minimum_required(VERSION 2.6)
include(FindPkgConfig)
include(GNUInstallDirs)
project(DSLogic-gui)
#===============================================================================
#= User Options
#-------------------------------------------------------------------------------
option(DISABLE_WERROR "Build without -Werror" FALSE)
option(ENABLE_SIGNALS "Build with UNIX signals" TRUE)
option(ENABLE_TESTS "Enable unit tests" FALSE)
option(STATIC_PKGDEPS_LIBS "Statically link to (pkgconfig) libraries" FALSE)
if(WIN32)
# On Windows/MinGW we need to statically link to libraries.
# 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)
# Windsws does not support UNIX signals
set(ENABLE_SIGNALS FALSE)
endif()
#===============================================================================
#= Dependencies
#-------------------------------------------------------------------------------
list(APPEND PKGDEPS
libsigrok4DSLogic>=0.2.0
)
find_package(PkgConfig)
pkg_check_modules(PKGDEPS REQUIRED ${PKGDEPS})
find_package(Qt4 REQUIRED)
# Find the platform's thread library (needed for boost-thread).
# This will set ${CMAKE_THREAD_LIBS_INIT} to the correct, OS-specific value.
find_package(Threads)
if(WIN32)
# On Windows/MinGW the 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)
else()
find_package(Boost 1.42 COMPONENTS system thread REQUIRED)
endif()
#===============================================================================
#= Config Header
#-------------------------------------------------------------------------------
set(DS_TITLE DSLogic)
set(DS_DESCRIPTION "A GUI for DSLogic")
set(DS_VERSION_MAJOR 0)
set(DS_VERSION_MINOR 1)
set(DS_VERSION_MICRO 0)
set(DS_VERSION_STRING
${DS_VERSION_MAJOR}.${DS_VERSION_MINOR}.${DS_VERSION_MICRO}
)
configure_file (
${PROJECT_SOURCE_DIR}/config.h.in
${PROJECT_BINARY_DIR}/config.h
)
#===============================================================================
#= Sources
#-------------------------------------------------------------------------------
set(DSLogic_SOURCES
main.cpp
pv/devicemanager.cpp
pv/mainwindow.cpp
pv/sigsession.cpp
pv/data/analog.cpp
pv/data/analogsnapshot.cpp
pv/data/group.cpp
pv/data/groupsnapshot.cpp
pv/data/logic.cpp
pv/data/logicsnapshot.cpp
pv/data/signaldata.cpp
pv/data/snapshot.cpp
pv/decoder/decoder.cpp
pv/decoder/decoderfactory.cpp
pv/decoder/democonfig.cpp
pv/decoder/ds1wire.cpp
pv/decoder/dsdmx512.cpp
pv/decoder/dsi2c.cpp
pv/decoder/dsserial.cpp
pv/decoder/dsspi.cpp
pv/dialogs/about.cpp
pv/dialogs/connect.cpp
pv/dialogs/deviceoptions.cpp
pv/dialogs/search.cpp
pv/dock/fakelineedit.cpp
pv/dock/measuredock.cpp
pv/dock/protocoldock.cpp
pv/dock/searchdock.cpp
pv/dock/triggerdock.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/binding_deviceoptions.cpp
pv/toolbars/devicebar.cpp
pv/toolbars/filebar.cpp
pv/toolbars/logobar.cpp
pv/toolbars/samplingbar.cpp
pv/toolbars/trigbar.cpp
pv/view/analogsignal.cpp
pv/view/cursor.cpp
pv/view/groupsignal.cpp
pv/view/header.cpp
pv/view/logicsignal.cpp
pv/view/protocolsignal.cpp
pv/view/ruler.cpp
pv/view/signal.cpp
pv/view/timemarker.cpp
pv/view/view.cpp
pv/view/viewport.cpp
)
set(DSLogic_HEADERS
pv/sigsession.h
pv/mainwindow.h
pv/decoder/democonfig.h
pv/dock/fakelineedit.h
pv/dock/measuredock.h
pv/dock/protocoldock.h
pv/dock/searchdock.h
pv/dock/triggerdock.h
pv/dialogs/about.h
pv/dialogs/connect.h
pv/dialogs/deviceoptions.h
pv/dialogs/search.h
pv/toolbars/samplingbar.h
pv/toolbars/devicebar.h
pv/toolbars/filebar.h
pv/toolbars/logobar.h
pv/toolbars/trigbar.h
pv/view/cursor.h
pv/view/header.h
pv/view/ruler.h
pv/view/timemarker.h
pv/view/groupsignal.h
pv/view/protocolsignal.h
pv/view/view.h
pv/view/viewport.h
)
set(DSLogic_FORMS
pv/dialogs/about.ui
pv/dialogs/search.ui
pv/decoder/dmx512config.ui
pv/decoder/i2cconfig.ui
pv/decoder/serialconfig.ui
pv/decoder/spiconfig.ui
pv/decoder/wire1config.ui
)
set(DSLogic_RESOURCES
DSLogic.qrc
)
qt4_wrap_cpp(DSLogic_HEADERS_MOC ${DSLogic_HEADERS})
qt4_wrap_ui(DSLogic_FORMS_HEADERS ${DSLogic_FORMS})
qt4_add_resources(DSLogic_RESOURCES_RCC ${DSLogic_RESOURCES})
include(${QT_USE_FILE})
#===============================================================================
#= Global Definitions
#-------------------------------------------------------------------------------
add_definitions(${QT_DEFINITIONS})
add_definitions(-Wall -Wextra -Wno-return-type -Wno-ignored-qualifiers)
if(NOT DISABLE_WERROR)
add_definitions(-Werror)
endif()
#===============================================================================
#= Global Include Directories
#-------------------------------------------------------------------------------
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${Boost_INCLUDE_DIRS}
)
if(STATIC_PKGDEPS_LIBS)
include_directories(${PKGDEPS_STATIC_INCLUDE_DIRS})
else()
include_directories(${PKGDEPS_INCLUDE_DIRS})
endif()
#===============================================================================
#= Linker Configuration
#-------------------------------------------------------------------------------
link_directories(${Boost_LIBRARY_DIRS})
set(DSLOGIC_LINK_LIBS
${Boost_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
${QT_LIBRARIES}
)
if(STATIC_PKGDEPS_LIBS)
link_directories(${PKGDEPS_STATIC_LIBRARY_DIRS})
list(APPEND DSLOGIC_LINK_LIBS ${PKGDEPS_STATIC_LIBRARIES})
else()
link_directories(${PKGDEPS_LIBRARY_DIRS})
list(APPEND DSLOGIC_LINK_LIBS ${PKGDEPS_LIBRARIES})
endif()
add_executable(${PROJECT_NAME}
${DSLogic_SOURCES}
${DSLogic_HEADERS_MOC}
${DSLogic_FORMS_HEADERS}
${DSLogic_RESOURCES_RCC}
)
target_link_libraries(${PROJECT_NAME} ${DSLOGIC_LINK_LIBS})
if(WIN32)
# Pass -mwindows so that no "DOS box" will open when PulseView is started.
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-mwindows")
endif()
#===============================================================================
#= Installation
#-------------------------------------------------------------------------------
# Install the executable.
install(TARGETS ${PROJECT_NAME} DESTINATION bin/)
# Install the manpage.
install(FILES doc/DSLogic.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT doc)
#===============================================================================
#= Packaging (handled by CPack)
#-------------------------------------------------------------------------------
set(CPACK_PACKAGE_VERSION_MAJOR ${DS_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${DS_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${DS_VERSION_MICRO})
set(CPACK_PACKAGE_DESCRIPTION_FILE ${CMAKE_CURRENT_SOURCE_DIR}/README)
set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/COPYING)
set(CPACK_SOURCE_IGNORE_FILES ${CMAKE_CURRENT_BINARY_DIR} ".gitignore" ".git")
set(CPACK_SOURCE_PACKAGE_FILE_NAME
"${CMAKE_PROJECT_NAME}-${DS_VERSION_MAJOR}.${DS_VERSION_MINOR}.${DS_VERSION_MICRO}")
set(CPACK_SOURCE_GENERATOR "TGZ")
include(CPack)
#===============================================================================
#= Tests
#-------------------------------------------------------------------------------
if(ENABLE_TESTS)
add_subdirectory(test)
enable_testing()
add_test(test ${CMAKE_CURRENT_BINARY_DIR}/test/DSLogic-test)
endif(ENABLE_TESTS)
This diff is collapsed.
<RCC>
<qresource prefix="/">
<file>icons/search.png</file>
<file>icons/next.png</file>
<file>icons/pre.png</file>
<file>icons/file.png</file>
<file>icons/photo.png</file>
<file>icons/save.png</file>
<file>icons/open.png</file>
<file>icons/params.png</file>
<file>stylesheet.qss</file>
<file>icons/down-arrow.png</file>
<file>icons/slider-handle.png</file>
<file>icons/set.png</file>
<file>icons/add.png</file>
<file>icons/del.png</file>
<file>icons/trigger.png</file>
<file>icons/measure.png</file>
<file>icons/search-bar.png</file>
<file>icons/protocol.png</file>
<file>icons/logo_noColor.png</file>
<file>icons/logo_color.png</file>
<file>icons/logo_muColor.png</file>
<file>icons/about.png</file>
<file>icons/capture.png</file>
<file>icons/stop.png</file>
<file>icons/start.png</file>
<file>icons/dsl_logo.png</file>
<file>icons/logo.png</file>
</qresource>
</RCC>
-------------------------------------------------------------------------------
INSTALL
-------------------------------------------------------------------------------
Requirements
------------
- git
- g++
- make
- libtool
- pkg-config >= 0.22
- cmake >= 2.6
- libglib >= 2.28.0
- Qt >= 4.5
- libboost >= 1.42 (including the following libs):
- libboost-system
- libboost-thread
- libsigrok4DSLogic >= 0.2.0
Building and installing
-----------------------
Get the DSLogic-gui source code from: www.dreamsourcelab.com/download.html
In order to build it, run:
$ cd DSLogic-gui
$ cmake .
$ make
For installing PulseView:
$ make install
See the following wiki page for more (OS-specific) instructions:
http://sigrok.org/wiki/Building
Creating a source distribution package
--------------------------------------
In order to build a source package begin with an unconfigured source tree.
$ mkdir dist
$ cd dist
$ cmake ..
$ make package_source
0.1.0 (2013-12-15)
------------------
* Initial release.
-------------------------------------------------------------------------------
README
-------------------------------------------------------------------------------
DSLogic-gui is GUI for DSLogic software, it's based on PulseView
from the sigrok project.
The sigrok project aims at creating a portable, cross-platform,
Free/Libre/Open-Source signal analysis software suite that supports various
device types (such as logic analyzers, oscilloscopes, multimeters, and more).
PulseView is a Qt-based LA/scope/MSO GUI for sigrok.
Status
------
DSLogic-gui is in a usable state and has had official tarball releases.
However, it is still work in progress. Some basic functionality
is available and working, but other things are still on the TODO list.
Copyright and license
---------------------
DSLogic-gui is licensed under the terms of the GNU General Public License
(GPL), version 3 or later.
While some individual source code files are licensed under the GPLv2+, and
some files are licensed under the GPLv3+, this doesn't change the fact that
the program as a whole is licensed under the terms of the GPLv3+ (e.g. also
due to the fact that it links against GPLv3+ libraries).
Please see the individual source files for the full list of copyright holders.
Copyright notices
-----------------
A copyright notice indicating a range of years, must be interpreted as having
had copyrightable material added in each of those years.
Example:
Copyright (C) 2010-2013 Contributor Name
is to be interpreted as
Copyright (C) 2010,2011,2012,2013 Contributor Name
Mailing lists
-------------
There are two mailing lists for sigrok/PulseView:
https://lists.sourceforge.net/lists/listinfo/sigrok-devel
https://lists.sourceforge.net/lists/listinfo/sigrok-commits
IRC
---
You can find the sigrok developers in the #sigrok IRC channel on Freenode.
Website
-------
http://sigrok.org/wiki/PulseView
http://dreamsourcelab.com
/*
* This file is part of the PulseView project.
*
* Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _DSLOGIC_CONFIG_H
#define _DSLOGIC_CONFIG_H
/* Application details */
#define DS_TITLE "DSLogic"
#define DS_DESCRIPTION "A GUI for DSLogic"
#define DS_BIN_NAME "DSLogic-gui"
/* DSLogic version information */
#define DS_VERSION_MAJOR 0
#define DS_VERSION_MINOR 1
#define DS_VERSION_MICRO 0
#define DS_VERSION_STRING "0.1.0"
#endif
/*
* This file is part of the PulseView project.
*
* Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _DSLOGIC_CONFIG_H
#define _DSLOGIC_CONFIG_H
/* Application details */
#define DS_TITLE "@DS_TITLE@"
#define DS_DESCRIPTION "@DS_DESCRIPTION@"
#define DS_BIN_NAME "@PROJECT_NAME@"
/* DSLogic version information */
#define DS_VERSION_MAJOR @DS_VERSION_MAJOR@
#define DS_VERSION_MINOR @DS_VERSION_MINOR@
#define DS_VERSION_MICRO @DS_VERSION_MICRO@
#define DS_VERSION_STRING "@DS_VERSION_STRING@"
#endif
/*
* This file is part of the PulseView project.
*
* Copyright (C) 2012 Joel Holdsworth <joel@airwebreathe.org.uk>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef DSLOGIC_EXTDEF_H
#define DSLOGIC_EXTDEF_H
#define countof(x) (sizeof(x)/sizeof(x[0]))
#define begin_element(x) (&x[0])
#define end_element(x) (&x[countof(x)])
#endif // DSLOGIC_EXTDEF_H
File added
DSLogic-gui/icons/about.png

1.03 KB

DSLogic-gui/icons/add.png

198 Bytes

DSLogic-gui/icons/capture.png

2.01 KB

DSLogic-gui/icons/del.png

566 Bytes

DSLogic-gui/icons/down-arrow.png

165 Bytes

DSLogic-gui/icons/dsl_logo.png

16.4 KB

DSLogic-gui/icons/file.png

450 Bytes

DSLogic-gui/icons/fullscreen.png

7.23 KB

Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment