celix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bjoern Petri <bjoern.pe...@sundevil.de>
Subject Re: Updated CMake bundle and deploy commands
Date Thu, 04 Feb 2016 21:48:46 GMT

Nice to see that we can finally
build in parallel!

+1 from my side

Bjoern





On 04.02.2016 14:44, Pepijn Noltes wrote:
> Hi All,
> 
> I have been working on a revamp of the Celix specific CMake commands. The
> main reason to do this was to get rid of the deploy.cmake files.
> At the moment these files are needed when you want to create a "deployment"
> of a selection of bundes.
> One of the problems is that even if you disabled a certain subdirectory the
> deploy.cmake in that directory will still be processed. To counter this
> additional CMake code is needed.
> 
> To solve this and some other issues I rewrote the Packaging.cmake so that
> to process is more based on CMake target properties [1] and CMake generator
> expressions [2]. I also took the liberty to split up and rename the
> commands in a more CMake style (e.g. add_<target_type> commands)
> 
> Differences are
> - No separate deploy.cmake needed. You can use add_deploy in normal
> CMakeLists.txt files. Also as result no additional test concerning
> subprojects are needed.
> - bundle command has become add_bundle command
> - deploy command has become add_deploy command
> - possibility to create multiple bundles in one CMakeLists.txt file.
> - There are several supporting CMake commands for add_bundle and add_deploy
> - version info of bundle also used for so version information
> - libcelix_framework, libcelix_utils and libcelix_dfi are now generated
> with a so version.
> - Added CMake commands are documented in documents dir, see [3]
> - Legacy wrapper command for bundle -> add_bundle and deploy-> add_deploy
> exists. Supporting most, but not all old features.
> - For the Celix project all existing bundle commands and deploy.cmake files
> are updated to the new commands
> - If jar or zip command is present on the host system, make install can be
> used. If not make install-all (CPack) must be used. CMake will generate a
> message for this.
> - add_deploy supports adding not yet existing bundle targets. Removing the
> need for certain add_bundle ordering.
> - support for Ninja and "make -j"
> - Moved and updated the "Apache Celix Subprojects", "building Apache Celix"
> and "Getting Started with Apache Celix" to the documents dir, see [4]. [5]
> and [6]
> 
> If there are no objections I would like to merge this feature into the
> development branch.
> The documentation still needs some work and there are probably still some
> bugs. but I would prefer to push this in preparation of a next Celix
> release.
> 
> [1] https://cmake.org/cmake/help/v3.4/command/set_target_properties.html
> [2]
> https://cmake.org/cmake/help/v3.4/manual/cmake-generator-expressions.7.html?highlight=generator
> [3]
> https://github.com/apache/celix/blob/feature/CELIX-335_deploy_refactoring/documents/cmake_commands/readme.md
> [4]
> https://github.com/apache/celix/tree/feature/CELIX-335_deploy_refactoring/documents/subprojects
> [5]
> https://github.com/apache/celix/tree/feature/CELIX-335_deploy_refactoring/documents/building
> [6]
> https://github.com/apache/celix/tree/feature/CELIX-335_deploy_refactoring/documents/getting_started
> 
> 
> Greetings,
> Pepijn
> 

Mime
View raw message