Return-Path: X-Original-To: apmail-celix-dev-archive@www.apache.org Delivered-To: apmail-celix-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5010D185F5 for ; Thu, 4 Feb 2016 21:49:00 +0000 (UTC) Received: (qmail 7582 invoked by uid 500); 4 Feb 2016 21:49:00 -0000 Delivered-To: apmail-celix-dev-archive@celix.apache.org Received: (qmail 7546 invoked by uid 500); 4 Feb 2016 21:49:00 -0000 Mailing-List: contact dev-help@celix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@celix.apache.org Delivered-To: mailing list dev@celix.apache.org Received: (qmail 7525 invoked by uid 99); 4 Feb 2016 21:48:59 -0000 Received: from Unknown (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Feb 2016 21:48:59 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 71B94C0BE4 for ; Thu, 4 Feb 2016 21:48:59 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1 X-Spam-Level: * X-Spam-Status: No, score=1 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=disabled Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id EhTMj0vzMfBz for ; Thu, 4 Feb 2016 21:48:57 +0000 (UTC) Received: from dd7632.kasserver.com (dd7632.kasserver.com [85.13.132.30]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTPS id C438024E24 for ; Thu, 4 Feb 2016 21:48:56 +0000 (UTC) Received: from [192.168.43.35] (unknown [31.161.169.220]) by dd7632.kasserver.com (Postfix) with ESMTPSA id C7B891581E0E for ; Thu, 4 Feb 2016 22:48:49 +0100 (CET) Subject: Re: Updated CMake bundle and deploy commands To: dev@celix.apache.org References: From: Bjoern Petri X-Enigmail-Draft-Status: N1110 Message-ID: <56B3C73E.6060301@sundevil.de> Date: Thu, 4 Feb 2016 22:48:46 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 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_ 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 >