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 2018/01/18 17:05:13 UTC
[10/19] celix git commit: CELIX-418: Added packed configuration for
docker executables
CELIX-418: Added packed configuration for docker executables
Project: http://git-wip-us.apache.org/repos/asf/celix/repo
Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/6f78b670
Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/6f78b670
Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/6f78b670
Branch: refs/heads/feature/CELIX-417-cmake-refactor
Commit: 6f78b67016d703325cbcee76b5a68fa953dac3b9
Parents: 9ff00c3
Author: Roy Lenferink <le...@gmail.com>
Authored: Wed Jan 3 10:18:42 2018 +0100
Committer: Roy Lenferink <le...@gmail.com>
Committed: Wed Jan 3 10:18:42 2018 +0100
----------------------------------------------------------------------
cmake/cmake_celix/DockerPackaging.cmake | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/celix/blob/6f78b670/cmake/cmake_celix/DockerPackaging.cmake
----------------------------------------------------------------------
diff --git a/cmake/cmake_celix/DockerPackaging.cmake b/cmake/cmake_celix/DockerPackaging.cmake
index 0acd7cc..8b7d8ab 100644
--- a/cmake/cmake_celix/DockerPackaging.cmake
+++ b/cmake/cmake_celix/DockerPackaging.cmake
@@ -95,7 +95,33 @@ function(add_celix_docker)
else ()
add_custom_command(OUTPUT ${LAUNCHER_SRC}
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/celix/gen
- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${LAUNCHER_ORG} ${LAUNCHER_SRC}
+ )
+
+ if (DOCKER_CXX)
+ set(LAUNCHER_STAGE1 "${CMAKE_CURRENT_BINARY_DIR}/${DOCKER_TARGET}-docker-main-stage1.cc")
+ else()
+ set(LAUNCHER_STAGE1 "${CMAKE_CURRENT_BINARY_DIR}/${DOCKER_TARGET}-docker-main-stage1.c")
+ endif()
+
+ file(GENERATE
+ OUTPUT "${LAUNCHER_STAGE1}"
+ CONTENT "#include <celix_launcher.h>
+
+int main(int argc, char *argv[]) {
+ const char * config = \"cosgi.auto.start.1=$<JOIN:$<TARGET_PROPERTY:${DOCKER_TARGET},DOCKER_BUNDLES>, >\\n\\
+$<JOIN:$<TARGET_PROPERTY:${DOCKER_TARGET},DOCKER_PROPERTIES>,\\n\\
+>\";
+
+ properties_pt packedConfig = properties_loadFromString(config);
+
+ return celixLauncher_launchWithArgsAndProps(argc, argv, packedConfig);
+}
+"
+ )
+
+ file(GENERATE
+ OUTPUT "${LAUNCHER_SRC}"
+ INPUT "${LAUNCHER_STAGE1}"
)
add_executable(${DOCKER_TARGET} ${LAUNCHER_SRC})