Skip to content

Commit

Permalink
Merge tag 'rel/celix-2.0.0.rc1'
Browse files Browse the repository at this point in the history
CELIX-282: Tagging celix-2.0.0.rc1
  • Loading branch information
pnoltes committed Oct 26, 2016
2 parents 3a37954 + 2a958a3 commit 95c06ab
Show file tree
Hide file tree
Showing 486 changed files with 13,223 additions and 16,116 deletions.
10 changes: 6 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ env:
- COVERITY_SCAN_TOKEN="iomLSuaE8KOZLDog-KK7Ug"
- COVERITY_SCAN_BUILD_URL="https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh"
- COVERITY_SCAN_BUILD="curl -s $COVERITY_SCAN_BUILD_URL | sed 's/https:\/\/scan.coverity.com\/builds/https:\/\/scan.coverity.com\/builds?project=Apache+Celix/g' | bash"
- COVERITY_SCAN_ALWAYS_ON="n"

matrix:
include:
Expand All @@ -44,11 +45,11 @@ before_install:
before_script:
- wget https://github.com/cpputest/cpputest.github.io/blob/master/releases/cpputest-3.7.1.tar.gz?raw=true -O /tmp/cpputest.tar.gz
- tar -xzvf /tmp/cpputest.tar.gz -C /tmp
- if [ "$CC" = "clang" ]; then export CXX="clang++"; fi && cd /tmp/cpputest-3.7.1 && ./configure --prefix=/usr && make && sudo make install && cd -
- cd /tmp/cpputest-3.7.1 && ./configure --prefix=/usr && make && sudo make install && cd -
- if [ "$CC" = "clang" ]; then export CXX="clang++"; fi && cd /tmp/cpputest-3.7.1 && ./configure --prefix=/usr/local && make && sudo make install && cd -
- cd /tmp/cpputest-3.7.1 && ./configure --prefix=/usr/local && make && sudo make install && cd -
- git clone https://github.com/akheron/jansson.git jansson-build
- cd jansson-build && git checkout 2.7
- cmake -DJANSSON_BUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr . && make
- cmake -DJANSSON_BUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local . && make
- sudo make install
- cd -
- mkdir build install
Expand Down Expand Up @@ -95,5 +96,6 @@ after_success:
gem install coveralls-lcov &&
make coverage &&
lcx="lcov --output-file=coverage.info " && for i in `find . -name "*.info.cleaned"`; do lcx+=" --add-tracefile=$i"; done && $lcx && coveralls-lcov --repo-token=9dpeTAjiGoQU5hgXFe0ezk65iu40oc3WY coverage.info;
if [ $(( $TRAVIS_BUILD_NUMBER % 5 )) -eq 0 ]; then make clean & eval "$COVERITY_SCAN_BUILD"; fi
if [ $(( $TRAVIS_BUILD_NUMBER % 5 )) -eq 0 -o ${COVERITY_SCAN_ALWAYS_ON} = "y" ]; then make clean & eval "$COVERITY_SCAN_BUILD"; fi
fi;

72 changes: 3 additions & 69 deletions BUILDING
Original file line number Diff line number Diff line change
Expand Up @@ -10,73 +10,7 @@ Notes
* More information about the build system, and how to extend it, can be found at
the website: http://celix.apache.org/documentation.html


Quick Start
-----------

# Create a build directory next to the celix source directory
$ mkdir celix-build; cd celix-build
$ ccmake ../celix

# When this is the first time the CMake cache is created, a configuration has to be created
# This is done by running Configure (c) in CMake.

# Enable/Disable the required sub projects (BUILD_{NAME} entries)
# Optionally, enable advanced mode (t) and change CMAKE_INSTALL_PREFIX
# Run Configure (might be needed multiple times)
# Run Generate (this also returns to the shell)
$ make

# To deploy the included examples
$ make deploy
# Navigate to <subproject>/deploy/<deployname>
$ sh run.sh

# To install the release (framework, headers and bundles)
$ make install-all

# To see a list of all available targets
$ make help


Unit testing using CppUTest
---------------------------

Apache Celix has build options that enable a set of unit tests for each component. These tests
are based on CppUTest, which needs to be installed separately.
To run the tests
$ make test
To get a HTML page with the test coverage
$ make coverage
The coverage results are found in <build_dir>/coverage_results/index.html

Background information
----------------------

Apache Celix uses CMake to generate the build files needed for compilation.
deployment and installation.
Building
--------

* CMake (http://www.cmake.org)
CMake generated build files based on specific CMake files. To setup a build
a console (ccmake) and GUI (cmake-gui) method is provided. With these editors
include paths, installation prefix etc can be changed.
CMake stores the configuration in a cache, which is used during the build.
To keep the cache/build files separate from the source, a out-of-source build
is preferred. To start from scratch, the build directory can be deleted and
new build files can be generated.
* Apache Celix Subprojects
Since Apache Celix provides a modular framework, it makes sense to provide the
available components as modules as well. To enable/disable these modules cmake
is used. In the GUI or console there are settings named BUILD_{NAME} which can
be switched on or off. On http://celix.apache.org/subprojects.html a
list of all subprojects is given.
* Apache Celix deployment/installation
With a modular system it doesn't make sense to simply install everything to
the file system. Depending on the needs different version/modules can be
needed.
To cater for this, Celix provides deployment support which takes care of
copying the required bundles to a named target. A basic run script is
created as well.
Installing the framework (and its dependencies) might make sense, every target
needs the framework. To install only the framework a dedicated target is
available: make install-release.
See documents/building/readme.md for howto build Apache Celix
Loading

0 comments on commit 95c06ab

Please sign in to comment.