A Modern Cross-platform C++ Gui Library

CopperSpice is of a set of individual libraries used to develop cross platform software applications in C++.
You can use CopperSpice with many existing tool chains from the command line, from QtCreator, VI, emacs or your
preferred development environment using CMake or Autotools.

It is an open source project released under the LGPL V2.1 license and was derived from the Qt framework.

Our motivation for developing CopperSpice was to change the fundamental design and turn their framework into a
set of libraries for C++ developers. We are accomplishing this by leveraging modern C++ functionality. CopperSpice
currently requires C++14 or newer.

CopperSpice consists of the following libraries with can be linked into any existing C++ application.

Any C++ application using CopperSpice can be built with CMake, GNU Autotools, or any other
build system

CopperSpice can be linked directly into any standard C++ application

BSD Libraries

CsSignal is a library for thread aware Signal/Slot delivery. It is used by CopperSpice
for efficiency while maintaining the full API.

CsString is a Unicode aware string library. It is used by CopperSpice to support UTF-8 (QString8) and
UTF-16. (QString16)

libGuarded encapsulates a mutex with the corresponding data. There are several different
classes available to support multi-threading allowing developers to choose the most appropriate
solution. It is used by the CsSignal library.

For more information refer to our presentations from CppNow, CppCon, and our YouTube videos.
Presentations

Converting to CopperSpice

The process of converting to CopperSpice is simple and quick. Simply convert your Qt application
header files one time using our PepperMill utility. The Makefiles from our demo program KitchenSink, DoxyPress,or
and the Diamond Editor applications can be used as a guide to create your project files.

Getting Started

The CS Overview documentation includes how to build CopperSpice from soucre, setting up a project using
CopperSpice, and how to migrate from Qt to CopperSpice.
CS Overview Documentation