You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by pn...@apache.org on 2017/11/10 10:34:18 UTC
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
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 <pe...@gmail.com>
Authored: Fri Nov 10 11:31:45 2017 +0100
Committer: Pepijn Noltes <pe...@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