CopperSpice Overview  1.5.1
Downloading Source

In order to build the CopperSpice libraries from source it may be necessary to install additional utilities. The exact requirements depend on the platform your application will be run on. Refer to the Supported Platforms for information about the compilers and utilities required to build CopperSpice.

The following table details what is included in the CS source download.

File Type Description Notes
*.cpp Source Code CopperSpice source code
*.c Source Code, Usually 3rd Party CopperSpice source code
*.mm Source Code for Mac OS X CopperSpice source code
*.h Headers CopperSpice header files
CMakeLists.txt CMake Used by CMake to generate build files
*.cmake CMake Used by CMake to generate build files
configure Shell Script See Note A Autoconf See Note B Autoconf, intermediate file Used by configure to generate Makefile Automake Used by Automake to generate

Note A:   The configure file is a shell script and must be run in a Bourne shell interpreter. BASH is the most common shell for Windows development and is part of the MSYS utility.

Note B:   This file is used by Autoconf to generate the configure script file. If is changed, use Autoconf to regenerate the configure script.

The file will not need to be modified unless you are changing the version number.

CopperSpice Build Settings

  • All CopperSpice libraries are built with debug off by default.
  • The build process for the Webkit library was divided into multiple parts. This was required because of Makefile limitations on Windows. The libCsWebKit library was made by linking together the individual parts.
  • Windows

    • Libtool has a file test to ensure included libraries are valid import libraries. This test causes issues when linking uuid, dmoguids, and the strmiids libraries. These libraries are released with MingGW and not import libraries. They are static libraries.

      The CopperSpice Makefile was modified to explicitly bypass the Libtool file test with these libraries. To avoid this test explicit link commands were added.