celix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pnol...@apache.org
Subject celix git commit: CELIX-414: Adds support for creating a CXX deployment, which will compile a C++ launcer executable and updates the add_deploy documentation
Date Fri, 10 Nov 2017 10:34:18 GMT
Repository: celix
Updated Branches:
  refs/heads/develop 5fbeb4b8e -> 0a78d5d54


CELIX-414: Adds support for creating a CXX deployment, which will compile a C++ launcer executable
and updates the add_deploy documentation


Project: http://git-wip-us.apache.org/repos/asf/celix/repo
Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/0a78d5d5
Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/0a78d5d5
Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/0a78d5d5

Branch: refs/heads/develop
Commit: 0a78d5d54f19f7ac11e6ab7b5fc023d37ada8fcd
Parents: 5fbeb4b
Author: Pepijn Noltes <pepijnnoltes@gmail.com>
Authored: Fri Nov 10 11:31:45 2017 +0100
Committer: Pepijn Noltes <pepijnnoltes@gmail.com>
Committed: Fri Nov 10 11:33:06 2017 +0100

----------------------------------------------------------------------
 cmake/cmake_celix/DeployPackaging.cmake |  8 ++++++--
 dfi/private/src/dyn_interface.c         |  2 +-
 documents/cmake_commands/readme.md      | 10 ++++++----
 examples/dm_example_cxx/CMakeLists.txt  |  1 +
 4 files changed, 14 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/celix/blob/0a78d5d5/cmake/cmake_celix/DeployPackaging.cmake
----------------------------------------------------------------------
diff --git a/cmake/cmake_celix/DeployPackaging.cmake b/cmake/cmake_celix/DeployPackaging.cmake
index 2b21265..3f75d37 100644
--- a/cmake/cmake_celix/DeployPackaging.cmake
+++ b/cmake/cmake_celix/DeployPackaging.cmake
@@ -34,7 +34,7 @@ function(add_celix_container)
     list(GET ARGN 0 CONTAINER_TARGET)
     list(REMOVE_AT ARGN 0)
 
-    set(OPTIONS COPY)
+    set(OPTIONS COPY CXX)
     set(ONE_VAL_ARGS GROUP NAME LAUNCHER DIR)
     set(MULTI_VAL_ARGS BUNDLES PROPERTIES)
     cmake_parse_arguments(CONTAINER "${OPTIONS}" "${ONE_VAL_ARGS}" "${MULTI_VAL_ARGS}" ${ARGN})
@@ -66,7 +66,11 @@ function(add_celix_container)
     set(CONTAINER_PROPS "${CONTAINER_LOC}/config.properties")
     set(CONTAINER_ECLIPSE_LAUNCHER "${CONTAINER_LOC}/${CONTAINER_NAME}.launch")
 
-    set(LAUNCHER_SRC "${CMAKE_CURRENT_BINARY_DIR}/${CONTAINER_TARGET}.launcher.c")
+    if (CONTAINER_CXX)
+	    set(LAUNCHER_SRC "${CMAKE_CURRENT_BINARY_DIR}/${CONTAINER_TARGET}.launcher.cc")
+    else()
+	    set(LAUNCHER_SRC "${CMAKE_CURRENT_BINARY_DIR}/${CONTAINER_TARGET}.launcher.c")
+    endif()
 
     add_custom_command(OUTPUT ${LAUNCHER_SRC}
         COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CELIX_CMAKE_DIRECTORY}/cmake_celix/main.c.in
${LAUNCHER_SRC}

http://git-wip-us.apache.org/repos/asf/celix/blob/0a78d5d5/dfi/private/src/dyn_interface.c
----------------------------------------------------------------------
diff --git a/dfi/private/src/dyn_interface.c b/dfi/private/src/dyn_interface.c
index cbd675b..63aafac 100644
--- a/dfi/private/src/dyn_interface.c
+++ b/dfi/private/src/dyn_interface.c
@@ -288,7 +288,7 @@ static int dynInterface_parseMethods(dyn_interface_type *intf, FILE *stream)
{
         ungetc(peek, stream);
 
         char *id;
-        status = dynCommon_parseNameAlsoAccept(stream, "();[{}/", &id);
+        status = dynCommon_parseNameAlsoAccept(stream, ".();[{}/", &id);
 
         if (status == OK) {
             status = dynCommon_eatChar(stream, '=');

http://git-wip-us.apache.org/repos/asf/celix/blob/0a78d5d5/documents/cmake_commands/readme.md
----------------------------------------------------------------------
diff --git a/documents/cmake_commands/readme.md b/documents/cmake_commands/readme.md
index 87eb56f..1287299 100644
--- a/documents/cmake_commands/readme.md
+++ b/documents/cmake_commands/readme.md
@@ -150,14 +150,15 @@ install_bundle(<bundle_target>
 # Deployments
 
 ## add_deploy
-Add a deployment, consisting out of a selection of bundles, for the project. 
+Add a deployment, consisting out of a selection of bundles and a simple Celix launcher.
 Deployments can be used to run/test a selection of bundles in the celix framework.
 A deployment can be found in `<cmake_build_dir>/deploy[/<group_name>]/<deploy_name>`.

-Use the run.sh to run the deployments.
+Use the `<deploy_target_name>` executable to run the deployments.
 
 ```CMake
 add_deploy(<deploy_target_name>
     [COPY] 
+    [CXX]
     [GROUP group_name]
     [NAME deploy_name]
     [LAUNCHER launcher]
@@ -176,7 +177,8 @@ If the bundle target is never added CMake will give an error:
     $<TARGET_PROPERTY:foo,BUNDLE_FILE>
 ```
 
-- If COPY is provided the selected bundles will be copied in a bundles dir and the generated
config.properties will use relative paths to the bundle locations. Default bundles will not
be copied and the generated config.properties will use absolute references to the bundle locations.
+- If the COPY option is provided the selected bundles will be copied in a bundles dir and
the generated config.properties will use relative paths to the bundle locations. Default bundles
will not be copied and the generated config.properties will use absolute references to the
bundle locations.
+- If CXX option is provided the deploy launcher will be build as C++ executable and as result
be linked with the required C++ libraries of the used compiler
 - If GROUP is provided the deployment will be grouped in the provided group name. 
 - If NAME is provided that name will be used for the deployment dir. Default the deploy target
name will be used.
 - If LAUNCHER is provided that path or target will be used as launcher executable for the
deployment. If no LAUNCHER is not provided the celix executable will be used.
@@ -290,4 +292,4 @@ TODO
 TODO
 
 ## docker_instructions
-TODO
\ No newline at end of file
+TODO

http://git-wip-us.apache.org/repos/asf/celix/blob/0a78d5d5/examples/dm_example_cxx/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/dm_example_cxx/CMakeLists.txt b/examples/dm_example_cxx/CMakeLists.txt
index 3c6ee42..9572142 100644
--- a/examples/dm_example_cxx/CMakeLists.txt
+++ b/examples/dm_example_cxx/CMakeLists.txt
@@ -33,6 +33,7 @@ if (BUILD_DEPENDENCY_MANAGER_CXX)
 
     add_deploy("dm_example_cxx"
         COPY 
+	CXX
         BUNDLES
             shell
             shell_tui


Mime
View raw message