From 31849a506897aeee0a50721540e145f5c2ff13a7 Mon Sep 17 00:00:00 2001 From: Raphael Dumusc Date: Fri, 10 Jul 2015 19:44:38 +0200 Subject: [PATCH 1/2] DesktopStreamer OSX: zip the application for Puppet deployment --- apps/DesktopStreamer/CMakeLists.txt | 7 +++++++ doc/RelNotes.md | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/DesktopStreamer/CMakeLists.txt b/apps/DesktopStreamer/CMakeLists.txt index d7bd351..ed2552d 100644 --- a/apps/DesktopStreamer/CMakeLists.txt +++ b/apps/DesktopStreamer/CMakeLists.txt @@ -44,5 +44,12 @@ endif() common_gui_application(${DESKTOPSTREAMER_APP_NAME}) +if(APPLE) + # create a zip for Puppet deployment + install(CODE "execute_process(COMMAND zip -r + ${DESKTOPSTREAMER_APP_NAME}-${VERSION}.zip ${DESKTOPSTREAMER_APP_NAME}.app + WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/bin)" COMPONENT apps) +endif() + set(CPACK_PACKAGE_LICENSE "LGPL") include(CPackConfig) diff --git a/doc/RelNotes.md b/doc/RelNotes.md index 934c47d..607d4f7 100644 --- a/doc/RelNotes.md +++ b/doc/RelNotes.md @@ -20,13 +20,14 @@ if you find any other issue with this release. # Changes {#Changes} -## git master (0.6) +## Deflect 0.6 * Many classes of the Server part have been renamed * Various API fixes * Project-wide codestyle cleanup * DesktopStreamer: Minor fixes for desktop interaction, only show checkbox on supported platforms (OSX) +* DesktopStreamer OSX: zip the application for Puppet deployment ## Deflect 0.5 From f9f91f971a80f2e35fdfb09ff8fb7bfaa8a0b4e3 Mon Sep 17 00:00:00 2001 From: Raphael Dumusc Date: Mon, 13 Jul 2015 16:42:11 +0200 Subject: [PATCH 2/2] Separte changelog from documentation, use README.md as main page --- CMakeLists.txt | 6 ++--- README.md | 42 +++++++++++++++++++++++++------ doc/CMakeLists.txt | 2 +- doc/{RelNotes.md => Changelog.md} | 34 ++++++++----------------- 4 files changed, 50 insertions(+), 34 deletions(-) rename doc/{RelNotes.md => Changelog.md} (54%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9005478..3b23f51 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,8 +15,7 @@ set(VERSION_MINOR "6") set(VERSION_PATCH "1") set(VERSION_ABI 1) -set(DEFLECT_DESCRIPTION - "The client library to write applications for DisplayCluster") +set(DEFLECT_DESCRIPTION "A fast C++ library for streaming pixels and events") set(DEFLECT_DEPENDENT_LIBRARIES Boost) include(Common) @@ -29,8 +28,9 @@ add_subdirectory(apps) add_subdirectory(tests) add_subdirectory(doc) +set(DOXYGEN_MAINPAGE_MD README.md) +set(DOXYGEN_EXTRA_INPUT ${PROJECT_SOURCE_DIR}/README.md) include(DoxygenRule) # must be after all targets -include(PackageConfig) set(CTEST_CUSTOM_WARNING_EXCEPTION ${CTEST_CUSTOM_WARNING_EXCEPTION} # http://public.kitware.com/Bug/view.php?id=10179 diff --git a/README.md b/README.md index 73d0b0e..e22afdd 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,49 @@ # Deflect -Welcome to Deflect, a C++ library for building applications to stream pixels -to DisplayCluster. +Welcome to Deflect, a C++ library for streaming pixels to other Deflect-based +applications, for example +[DisplayCluster](https://github.com/BlueBrain/DisplayCluster). +Deflect offers a stable API marked with version 1.0 (for the client part). ## Features Deflect provides the following functionality: -* Stream pixels to a DisplayCluster instance -* Register for receiving events from a DisplayCluster instance -* DesktopStreamer, an application to stream the desktop to DisplayCluster + +* Stream pixels to a remote Server from one or multiple sources +* Register for receiving events from the Server +* Compressed or uncompressed streaming +* Fast multi-threaded JPEG compression (using libjpeg-turbo) + +The following applications are provided which make use of the streaming API: + +* DesktopStreamer: A small utility that lets you stream your desktop. +* SimpleStreamer: A simple example to demonstrate streaming of an OpenGL + application. ## Building from source -``` +~~~ git clone https://github.com/BlueBrain/Deflect.git mkdir Deflect/build cd Deflect/build cmake .. make -``` +~~~ + +## ChangeLog + +To keep track of the changes between releases check the +[changelog](doc/Changelog.md). + +## About + +Deflect is a cross-platform library, designed to run on any modern operating +system, including all Unix variants. Deflect uses CMake to create a +platform-specific build environment. The following platforms and build +environments are tested: + +* Linux: Ubuntu 14.04 and RHEL 6 (Makefile, x64) +* Mac OS X: 10.7 - 10.10 (Makefile, x86_64) + +The [latest API documentation](http://bluebrain.github.io/Deflect-0.6/index.html) +can be found on [bluebrain.github.io](http://bluebrain.github.io). diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 0ae1089..7168299 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,5 +1,5 @@ # Copyright (c) 2015 Daniel Nachbaur -install(FILES RelNotes.md ../LGPL.txt ../LICENSE.txt DESTINATION ${DOC_DIR} +install(FILES Changelog.md ../LGPL.txt ../LICENSE.txt DESTINATION ${DOC_DIR} COMPONENT doc) diff --git a/doc/RelNotes.md b/doc/Changelog.md similarity index 54% rename from doc/RelNotes.md rename to doc/Changelog.md index 607d4f7..5b4def3 100644 --- a/doc/RelNotes.md +++ b/doc/Changelog.md @@ -1,36 +1,21 @@ -Release Notes {#mainpage} +Changelog {#Changelog} ============ -[TOC] - -# Introduction {#Introduction} - -Welcome to Deflect, a C++ library to develop applications that can send -and receive pixel streams from other Deflect-based applications, for -example DisplayCluster. Deflect offers a stable API marked with version -1.0 for the streaming part. The following applications are provided -which make use of the streaming API: - -* DesktopStreamer: A small utility that lets you stream your desktop. -* SimpleStreamer: A simple example to demonstrate streaming of an OpenGL - application. - -Please file a [Bug Report](https://github.com/BlueBrain/Deflect/issues) -if you find any other issue with this release. - -# Changes {#Changes} - ## Deflect 0.6 -* Many classes of the Server part have been renamed -* Various API fixes -* Project-wide codestyle cleanup +### 0.6.1 (13-07-2015) * DesktopStreamer: Minor fixes for desktop interaction, only show checkbox on supported platforms (OSX) * DesktopStreamer OSX: zip the application for Puppet deployment +### 0.6.0 (28-06-2015) +* Many classes of the Server part have been renamed +* Various API fixes +* Project-wide codestyle cleanup + ## Deflect 0.5 +### 0.5.1 (12-05-2015) * Streamers can register for events immediately, without waiting for the DisplayCluster host to have opened a window * Desktopstreamer supports autodiscovery of DisplayCluster hosts using Zeroconf @@ -39,6 +24,9 @@ if you find any other issue with this release. ## Deflect 0.4 +### 0.4.1 (24-04-2015) * DesktopStreamer properly handles AppNap on OSX 10.9. * DesktopStreamer detects Retina displays automatically (no retina checkbox). + +### 0.4.0 (07-01-2015) * First release, based on the DisplayCluster 0.4 dcStream library