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 2016/01/07 16:49:12 UTC

[2/3] celix git commit: CELIX-335: Refactor cmake packaging

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/device_access/example/consuming_driver/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/device_access/example/consuming_driver/CMakeLists.txt b/device_access/example/consuming_driver/CMakeLists.txt
index 96dc8e8..061d350 100644
--- a/device_access/example/consuming_driver/CMakeLists.txt
+++ b/device_access/example/consuming_driver/CMakeLists.txt
@@ -15,13 +15,13 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET_HEADER(BUNDLE_SYMBOLICNAME "apache_celix_word_consuming_driver_example")
-SET(BUNDLE_VERSION "0.0.1")
-SET_HEADERS("Bundle-Name: Apache Celix Device Access Word Consuming Driver Example")
-
-bundle(word_consumingdriver SOURCES 
-	private/src/activator 
-	private/src/consuming_driver
+add_bundle(word_consumingdriver
+ 	SYMBOLIC_NAME "apache_celix_word_consuming_driver_example"
+ 	VERSION "0.0.1"
+ 	NAME "Apache Celix Device Access Word Consuming Driver Example"
+	SOURCES
+		private/src/activator
+		private/src/consuming_driver
 )
 
 include_directories(${PROJECT_SOURCE_DIR}/device_access/device_access/public/include)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/device_access/example/refining_driver/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/device_access/example/refining_driver/CMakeLists.txt b/device_access/example/refining_driver/CMakeLists.txt
index df5470b..d16584f 100644
--- a/device_access/example/refining_driver/CMakeLists.txt
+++ b/device_access/example/refining_driver/CMakeLists.txt
@@ -15,13 +15,13 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET_HEADER(BUNDLE_SYMBOLICNAME "apache_celix_char_refining_driver_example")
-SET(BUNDLE_VERSION "0.0.1")
-SET_HEADERS("Bundle-Name: Apache Celix Device Access Char Refining Driver Example")
-
-bundle(char_refiningdriver SOURCES 
-	private/src/activator 
-	private/src/refining_driver
+add_bundle(char_refiningdriver
+ 	SYMBOLIC_NAME "apache_celix_char_refining_driver_example"
+ 	NAME "Apache Celix Device Access Char Refining Driver Example"
+ 	VERSION "0.0.1"
+	SOURCES
+		private/src/activator
+		private/src/refining_driver
 )
 
 include_directories(${PROJECT_SOURCE_DIR}/device_access/device_access/public/include)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/dfi/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/dfi/CMakeLists.txt b/dfi/CMakeLists.txt
index 8e3c0b1..4697a0c 100644
--- a/dfi/CMakeLists.txt
+++ b/dfi/CMakeLists.txt
@@ -53,6 +53,7 @@ add_library(celix_dfi SHARED
     public/include/json_rpc.h
     ${MEMSTREAM_INCLUDES}
 )
+set_target_properties(celix_dfi PROPERTIES "SOVERSION" 1)
 target_link_libraries(celix_dfi celix_utils ${FFI_LIBRARIES} ${JANSSON_LIBRARY})
 
 install(TARGETS celix_dfi DESTINATION lib COMPONENT framework)
@@ -67,7 +68,7 @@ if (ENABLE_TESTING)
 
 	SET(CMAKE_SKIP_BUILD_RPATH  FALSE) #TODO needed?
 	SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) #TODO needed?
-	SET(CMAKE_INSTALL_RPATH "${PROJECT_BINARY_DIR}/dfi")
+    SET(CMAKE_INSTALL_RPATH "${PROJECT_BINARY_DIR}/dfi" "${PROJECT_BINARY_DIR}/utils")
 
 
 	add_executable(test_dfi
@@ -82,11 +83,8 @@ if (ENABLE_TESTING)
 	)
 	target_link_libraries(test_dfi celix_dfi ${FFI_LIBRARIES} ${CPPUTEST_LIBRARY})
 
-	add_custom_target(copy-input
-		COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_LIST_DIR}/private/test/schemas schemas
-		COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_LIST_DIR}/private/test/descriptors descriptors
-	)
-	add_dependencies(test_dfi copy-input)
+    file(COPY ${CMAKE_CURRENT_LIST_DIR}/private/test/schemas DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+    file(COPY ${CMAKE_CURRENT_LIST_DIR}/private/test/descriptors DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
 
 	add_test(NAME run_test_dfi COMMAND test_dfi)
 	SETUP_TARGET_FOR_COVERAGE(test_dfi_cov test_dfi ${CMAKE_BINARY_DIR}/coverage/test_dfi/test_dfi)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/event_admin/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/event_admin/CMakeLists.txt b/event_admin/CMakeLists.txt
index 277e5f9..68a582f 100644
--- a/event_admin/CMakeLists.txt
+++ b/event_admin/CMakeLists.txt
@@ -25,4 +25,8 @@ if(EVENT_ADMIN)
 	add_subdirectory(event_handler)
 	add_subdirectory(event_publisher)
 	
-endif(EVENT_ADMIN)
\ No newline at end of file
+	deploy("event_admin" BUNDLES event_admin shell shell_tui log_service log_writer)
+    deploy("event_publisher_example" BUNDLES event_admin event_publisher shell shell_tui log_service log_writer)
+	deploy("event_handler_example" BUNDLES event_admin event_handler shell shell_tui log_service log_writer)
+	deploy("event_admin_example" BUNDLES event_admin event_publisher event_handler shell shell_tui log_service log_writer)
+endif(EVENT_ADMIN)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/event_admin/deploy.cmake
----------------------------------------------------------------------
diff --git a/event_admin/deploy.cmake b/event_admin/deploy.cmake
deleted file mode 100644
index 3b1c15b..0000000
--- a/event_admin/deploy.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-is_enabled(EVENT_ADMIN)
-if(EVENT_ADMIN)
-	deploy("event_admin" BUNDLES event_admin shell shell_tui log_service log_writer)
-    deploy("event_publisher_example" BUNDLES event_admin event_publisher shell shell_tui log_service log_writer)
-	deploy("event_handler_example" BUNDLES event_admin event_handler shell shell_tui log_service log_writer)
-	deploy("event_admin_example" BUNDLES event_admin event_publisher event_handler shell shell_tui log_service log_writer)
-endif(EVENT_ADMIN)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/event_admin/event_admin/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/event_admin/event_admin/CMakeLists.txt b/event_admin/event_admin/CMakeLists.txt
index 3245a41..b2e8013 100644
--- a/event_admin/event_admin/CMakeLists.txt
+++ b/event_admin/event_admin/CMakeLists.txt
@@ -22,12 +22,8 @@ include_directories(private/include)
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
 include_directories("${PROJECT_SOURCE_DIR}/log_service/public/include")
 
-SET_HEADER(BUNDLE_SYMBOLICNAME "eventadmin")
-SET(BUNDLE_VERSION "0.0.1")
-SET_HEADERS("Bundle-Name: Event admin")
-
-
-bundle(event_admin 
+add_bundle(event_admin
+    VERSION 0.0.0
 	SOURCES 
 		private/src/event_admin_activator.c
 		private/src/event_admin_impl.c
@@ -38,7 +34,7 @@ bundle(event_admin
 		${PROJECT_SOURCE_DIR}/log_service/public/src/log_helper.c
 )
 
-install_bundle(event_admin
+install_add_bundle(event_admin
 	HEADERS
 	    public/include/event_admin.h
 	    public/include/event_constants.h

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/event_admin/event_handler/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/event_admin/event_handler/CMakeLists.txt b/event_admin/event_handler/CMakeLists.txt
index fc02c0b..6c269aa 100644
--- a/event_admin/event_handler/CMakeLists.txt
+++ b/event_admin/event_handler/CMakeLists.txt
@@ -22,18 +22,15 @@ include_directories(private/include)
 include_directories(${PROJECT_SOURCE_DIR}/event_admin/event_admin/public/include)
 include_directories("${PROJECT_SOURCE_DIR}/log_service/public/include")
 
-SET_HEADER(BUNDLE_SYMBOLICNAME "eventhandler")
-SET(BUNDLE_VERSION "0.0.1")
-SET_HEADERS("Bundle-Name: Event Handler")
 
-
-bundle(event_handler 
+add_bundle(event_handler
+    VERSION 0.0.0
 	SOURCES 
 		private/src/event_handler_activator.c
 		private/src/event_handler_impl.c
 		${PROJECT_SOURCE_DIR}/log_service/public/src/log_helper.c
 )
 
-install_bundle(event_handler)
+install_add_bundle(event_handler)
 
 target_link_libraries(event_handler celix_framework celix_utils ${APR_LIBRARY} ${APRUTIL_LIBRARY})

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/event_admin/event_publisher/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/event_admin/event_publisher/CMakeLists.txt b/event_admin/event_publisher/CMakeLists.txt
index 4989ea4..a7fd886 100644
--- a/event_admin/event_publisher/CMakeLists.txt
+++ b/event_admin/event_publisher/CMakeLists.txt
@@ -22,17 +22,13 @@ include_directories(private/include)
 include_directories(${PROJECT_SOURCE_DIR}/event_admin/event_admin/public/include)
 include_directories(${PROJECT_SOURCE_DIR}/log_service/public/include)
 
-SET_HEADER(BUNDLE_SYMBOLICNAME "event_publisher")
-SET(BUNDLE_VERSION "0.0.1")
-SET_HEADERS("Bundle-Name: Event Publisher")
-
-
-bundle(event_publisher SOURCES 
+add_bundle(event_publisher SOURCES
+    VERSION 0.0.0
 	private/src/event_publisher_activator.c
 	private/src/event_publisher_impl.c
 	${PROJECT_SOURCE_DIR}/log_service/public/src/log_helper.c	
 )
 
-install_bundle(event_publisher)
+install_add_bundle(event_publisher)
 
 target_link_libraries(event_publisher celix_framework celix_utils ${APR_LIBRARY} ${APRUTIL_LIBRARY})

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index c4eb9b4..81fe2e1 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -35,4 +35,18 @@ if (EXAMPLES)
     add_subdirectory(locking)
     
     add_subdirectory(embedding)
+
+    add_deploy(chapter01-greeting-example-d BUNDLES shell shell_tui log_service chapter01-greeting-example-client chapter01-greeting-example)
+    add_deploy(chapter04-correct-lookup-d BUNDLES shell shell_tui log_service chapter04-correct-lookup)
+    add_deploy(chapter04-correct-listener-d BUNDLES shell shell_tui log_service chapter04-correct-listener)
+
+    #deploy("hello_world" BUNDLES shell shell_tui apache_celix_examples_hello_world hello_world_test log_service log_writer)
+    add_deploy("wb" BUNDLES tracker publisherA publisherB shell shell_tui log_service log_writer)
+    add_deploy("wb_dp" BUNDLES tracker_depman publisherA publisherB shell shell_tui log_service log_writer dm_shell)
+    add_deploy("echo" BUNDLES echo_server echo_client shell shell_tui)
+    add_deploy("producer_consumer" BUNDLES producer consumer database shell shell_tui)
+    if (NOT ANDROID)
+        add_deploy("mongoose_deploy" BUNDLES shell shell_tui log_service mongoose)
+    endif ()
+
 endif(EXAMPLES)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/deploy.cmake
----------------------------------------------------------------------
diff --git a/examples/deploy.cmake b/examples/deploy.cmake
deleted file mode 100644
index cd7debd..0000000
--- a/examples/deploy.cmake
+++ /dev/null
@@ -1,34 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-is_enabled(EXAMPLES)
-if (EXAMPLES)
-	deploy(chapter01-greeting-example BUNDLES shell shell_tui log_service chapter01-greeting-example-client chapter01-greeting-example)
-	deploy(chapter04-correct-lookup BUNDLES shell shell_tui log_service chapter04-correct-lookup)
-	deploy(chapter04-correct-listener BUNDLES shell shell_tui log_service chapter04-correct-listener)
-	
-	deploy("hello_world" BUNDLES shell shell_tui apache_celix_examples_hello_world hello_world_test log_service log_writer)
-	deploy("wb" BUNDLES tracker publisherA publisherB shell shell_tui log_service log_writer)
-	deploy("wb_dp" BUNDLES tracker_depman publisherA publisherB shell shell_tui log_service log_writer dm_shell)
-	deploy("echo" BUNDLES echo_server echo_client shell shell_tui)
-	deploy("producer_consumer" BUNDLES producer consumer database shell shell_tui)
-	if (NOT ANDROID)
-		deploy("mongoose" BUNDLES shell shell_tui log_service apache_celix_examples_mongoose)
-	endif ()
-
-    #deploy("locking_example" BUNDLES benchmark_runner reference_benchmark start_stop_benchmark mutex_benchmark math_provider shell shell_tui log_service log_writer)
-
-endif (EXAMPLES)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/dm_example/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/dm_example/CMakeLists.txt b/examples/dm_example/CMakeLists.txt
index a08e7b4..18738ef 100644
--- a/examples/dm_example/CMakeLists.txt
+++ b/examples/dm_example/CMakeLists.txt
@@ -26,4 +26,19 @@ if (BUILD_DEPENDENCY_MANAGER)
     add_subdirectory(phase2b)
     add_subdirectory(phase3)
 
+
+    add_deploy("dm_example"
+        COPY 
+        BUNDLES
+            phase1
+            phase2a
+            phase2b
+            phase3
+            shell
+            shell_tui
+            dm_shell
+        PROPERTIES
+            LOGHELPER_ENABLE_STDOUT_FALLBACK=true
+    )
+
 endif ()

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/dm_example/deploy.cmake
----------------------------------------------------------------------
diff --git a/examples/dm_example/deploy.cmake b/examples/dm_example/deploy.cmake
deleted file mode 100644
index 1def6fc..0000000
--- a/examples/dm_example/deploy.cmake
+++ /dev/null
@@ -1,32 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-if (BUILD_EXAMPLES AND BUILD_DEPENDENCY_MANAGER AND BUILD_SHELL AND BUILD_SHELL_TUI)
-    deploy("dm_example"
-            BUNDLES
-                phase1
-                phase2a
-                phase2b
-                phase3
-                shell
-                shell_tui
-                dm_shell
-            PROPERTIES
-                LOGHELPER_ENABLE_STDOUT_FALLBACK=true
-
-    )
-endif ()
-

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/dm_example/phase1/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase1/CMakeLists.txt b/examples/dm_example/phase1/CMakeLists.txt
index 6fc8c77..91c3d4f 100644
--- a/examples/dm_example/phase1/CMakeLists.txt
+++ b/examples/dm_example/phase1/CMakeLists.txt
@@ -15,13 +15,12 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "phase1")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(phase1
-        SOURCES
-            private/src/phase1_activator
-            private/src/phase1_cmp.c
+add_bundle(phase1
+    SYMBOLIC_NAME phase2
+    VERSION 0.0.1
+    SOURCES
+        private/src/phase1_activator
+        private/src/phase1_cmp.c
 )
 
 include_directories(

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/dm_example/phase2a/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase2a/CMakeLists.txt b/examples/dm_example/phase2a/CMakeLists.txt
index afe53cc..da4804b 100644
--- a/examples/dm_example/phase2a/CMakeLists.txt
+++ b/examples/dm_example/phase2a/CMakeLists.txt
@@ -15,12 +15,12 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "phase2a")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(phase2a SOURCES
-        private/src/phase2a_activator
-        private/src/phase2a_cmp
+add_bundle(phase2a
+        SYMBOLIC_NAME phase2a
+        VERSION 0.0.1
+        SOURCES
+                private/src/phase2a_activator
+                private/src/phase2a_cmp
 )
 
 include_directories(

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/dm_example/phase2b/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase2b/CMakeLists.txt b/examples/dm_example/phase2b/CMakeLists.txt
index 820f6c9..c032fed 100644
--- a/examples/dm_example/phase2b/CMakeLists.txt
+++ b/examples/dm_example/phase2b/CMakeLists.txt
@@ -15,12 +15,12 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "phase2b")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(phase2b SOURCES
-        private/src/phase2b_activator
-        private/src/phase2b_cmp
+add_bundle(phase2b
+        SYMBOLIC_NAME phase2b
+        VERSION 0.0.1
+        SOURCES
+                private/src/phase2b_activator
+                private/src/phase2b_cmp
 )
 
 include_directories(

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/dm_example/phase3/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/dm_example/phase3/CMakeLists.txt b/examples/dm_example/phase3/CMakeLists.txt
index 22c3d95..6ec41d8 100644
--- a/examples/dm_example/phase3/CMakeLists.txt
+++ b/examples/dm_example/phase3/CMakeLists.txt
@@ -15,12 +15,12 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "phase3")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(phase3 SOURCES
-        private/src/phase3_activator
-        private/src/phase3_cmp
+add_bundle(phase3
+        SYMBOLIC_NAME phase3
+        VERSION 0.0.1
+        SOURCES
+                private/src/phase3_activator
+                private/src/phase3_cmp
 )
 
 include_directories(

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/echo_service/client/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/echo_service/client/CMakeLists.txt b/examples/echo_service/client/CMakeLists.txt
index db512e6..de66952 100644
--- a/examples/echo_service/client/CMakeLists.txt
+++ b/examples/echo_service/client/CMakeLists.txt
@@ -15,15 +15,15 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_examples_echo_client")
-SET(BUNDLE_VERSION "0.0.1")
-SET(BUNDLE_NAME "Apache Celix Echo Client")
+add_bundle(echo_client
+	SYMBOLIC_NAME  "apache_celix_examples_echo_client"
+	VERSION "0.0.1"
+	NAME "Apache Celix Echo Client"
+	SOURCES
+		private/src/echo_client_activator
+		private/src/echo_client
 
-bundle(echo_client SOURCES 
-	private/src/echo_client_activator 
-	private/src/echo_client
-
-    private/include/echo_client_private.h
+		private/include/echo_client_private.h
 )
 
 include_directories("private/include")

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/echo_service/server/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/echo_service/server/CMakeLists.txt b/examples/echo_service/server/CMakeLists.txt
index b2f3001..fe2b268 100644
--- a/examples/echo_service/server/CMakeLists.txt
+++ b/examples/echo_service/server/CMakeLists.txt
@@ -15,15 +15,15 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_examples_echo_server")
-SET(BUNDLE_VERSION "0.0.1")
-SET(BUNDLE_NAME "Apache Celix Echo Server")
+add_bundle(echo_server
+	SYMBOLIC_NAME "apache_celix_examples_echo_server"
+	VERSION "0.0.1"
+	NAME "Apache Celix Echo Server"
+	SOURCES
+		private/src/echo_server_activator
+		private/src/echo_server
 
-bundle(echo_server SOURCES 
-	private/src/echo_server_activator 
-	private/src/echo_server
-    
-    private/include/echo_server_private.h
+		private/include/echo_server_private.h
 )
 
 include_directories("private/include")

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/embedding/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/embedding/CMakeLists.txt b/examples/embedding/CMakeLists.txt
index 44f2f19..c7475e7 100644
--- a/examples/embedding/CMakeLists.txt
+++ b/examples/embedding/CMakeLists.txt
@@ -15,14 +15,6 @@
 # specific language governing permissions and limitations
 # under the License.
 
-#SET_HEADER(BUNDLE_SYMBOLICNAME "apache_celix_examples_embedding")
-#SET_HEADERS("Bundle-Name: Apache Celix Shell TUI") 
-	
-#bundle(hello_world SOURCES private/src/activator)
-
-if(NOT ${WITH_APR})
-    message(FATAL_ERROR "Embedding example requires APR, enable WITH_APR option.")
-endif()
 
 add_executable(embedding private/src/main)
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/hello_world/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/hello_world/CMakeLists.txt b/examples/hello_world/CMakeLists.txt
index 4792e13..57bbce4 100644
--- a/examples/hello_world/CMakeLists.txt
+++ b/examples/hello_world/CMakeLists.txt
@@ -15,27 +15,32 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_examples_hello_world")
-SET(BUNDLE_VERSION "0.0.1")
-SET(BUNDLE_NAME "Apache Celix Shell TUI")
-
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
 include_directories("public/include")
 
-BUNDLE_LIBRARY(org.apache.incubator.celix.helloworld.sub
-    SOURCES private/src/test
-    LINK_LIBRARIES celix_framework
-    )
 
-BUNDLE_PRIVATE_LIBRARY(private
-    SOURCES private/src/activator
-    LINK_LIBRARIES celix_framework org.apache.incubator.celix.helloworld.sub
-    )
-    
-BUNDLE(
-    ACTIVATOR "apache_celix_examples_hello_world-private"
-    PRIVATE_LIBRARIES "private"
-    EXPORT_LIBRARIES org.apache.incubator.celix.helloworld.sub
-    )
+add_bundle(hello
+    VERSION "1.2"
+    SOURCES
+        private/src/activator.c
+)
+
+add_library(hello_testlib SHARED
+    private/src/test
+)
+set_library_version(hello_testlib "4.3.2") # sets target propery VERSION to 4.3.2 and SOVERSION to 4
+
+bundle_private_libs(hello
+    hello_testlib
+)
 
+add_deploy(helloworld_byref
+    GROUP hello
+    BUNDLES hello shell shell_tui
+)
 
+add_deploy(helloworld_withcopy
+    GROUP hello
+    COPY #Ensures that bundles are copied in the deploy location
+    BUNDLES hello shell shell_tui
+)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/hello_world_test/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/hello_world_test/CMakeLists.txt b/examples/hello_world_test/CMakeLists.txt
index e6fe6d0..49df4ff 100644
--- a/examples/hello_world_test/CMakeLists.txt
+++ b/examples/hello_world_test/CMakeLists.txt
@@ -15,16 +15,72 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_examples_hello_world_test")
-SET(BUNDLE_VERSION "0.0.1")
-SET_HEADERS("Bundle-Name: Apache Celix Shell TUI") 
-    
-bundle(hello_world_test 
-    SOURCES private/src/activator 
-    IMPORT_LIBRARIES "org.apache.incubator.celix.helloworld.sub")
-    #IMPORT_LIBRARIES "org.apache.incubator.celix.helloworld.sub;version=\"[1.0,2.0\)\"")
-target_link_libraries(hello_world_test celix_framework)
-target_link_libraries(hello_world_test org.apache.incubator.celix.helloworld.sub)
+#############################################################################
+## NOTE Examples of using add_bundle and add_deploy and assorted commands ##
+#############################################################################
+
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
-include_directories("${PROJECT_SOURCE_DIR}/examples/hello_world/public/include")
-include_directories("private/include")
+include_directories(public/include)
+
+add_bundle(hellotest1
+    VERSION "1.2"
+    SOURCES
+        private/src/activator
+)
+
+bundle_headers(hellotest1
+    "X-WebContent: web"
+    "X-MediaType: application/json"
+)
+
+add_library(tlib SHARED
+    private/src/test
+)
+set_library_version(tlib "4.3.2") # sets target propery VERSION to 4.3.2 and SOVERSION to 4
+
+bundle_private_libs(hellotest1
+    #/usr/local/lib/libjansson.4.dylib
+    /usr/lib64/libjansson.so.4
+)
+bundle_private_libs(hellotest1
+    tlib
+    #/usr/lib/libcurl.4.dylib 
+    /usr/lib64/libcurl.so.4
+)
+
+
+add_deploy(hello_test_deploy
+    BUNDLES hellotest1 hellotest2 #NOTE hellotest2 is still a unknown target
+    PROPERTIES 
+        "Test=true"
+)
+
+#add_deploy(hello_test_deploy_fail
+#    BUNDLES nonexisting
+#)
+
+#NOTE: Gives error:
+#Error evaluating generator expression:
+#
+#    $<TARGET_PROPERTY:nonexisting,BUNDLE_FILE>
+#
+#  Target "nonexisting" not found.
+
+
+
+add_library(hello2act SHARED
+    private/src/activator
+)
+set_library_version(hello2act "3.2.4") #sets VERSION prop to 3.2.4 and SOVERSION to 3
+add_bundle(hellotest2
+    VERSION "1.0.0" #can be the same as activator lib, but does not have to be
+    ACTIVATOR hello2act
+)
+
+add_bundle(hellotest3
+    VERSION "2.1.2"
+    #ACTIVATOR /usr/local/lib/libjansson.4.dylib
+    ACTIVATOR /usr/lib64/libjansson.so.4
+)
+
+

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/hello_world_test/private/src/activator.c
----------------------------------------------------------------------
diff --git a/examples/hello_world_test/private/src/activator.c b/examples/hello_world_test/private/src/activator.c
index 1a5f724..8bf9501 100644
--- a/examples/hello_world_test/private/src/activator.c
+++ b/examples/hello_world_test/private/src/activator.c
@@ -28,7 +28,6 @@
 
 #include "bundle_activator.h"
 
-#include "test.h"
 
 struct userData {
 	char * word;
@@ -49,8 +48,6 @@ celix_status_t bundleActivator_start(void * userData, bundle_context_pt __attrib
 	struct userData * data = (struct userData *) userData;
 	printf("Hello %s\n", data->word);
 
-	doo();
-
 	return CELIX_SUCCESS;
 }
 

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/hello_world_test/private/src/test.c
----------------------------------------------------------------------
diff --git a/examples/hello_world_test/private/src/test.c b/examples/hello_world_test/private/src/test.c
new file mode 100644
index 0000000..280fc61
--- /dev/null
+++ b/examples/hello_world_test/private/src/test.c
@@ -0,0 +1,32 @@
+/**
+ *Licensed to the Apache Software Foundation (ASF) under one
+ *or more contributor license agreements.  See the NOTICE file
+ *distributed with this work for additional information
+ *regarding copyright ownership.  The ASF licenses this file
+ *to you under the Apache License, Version 2.0 (the
+ *"License"); you may not use this file except in compliance
+ *with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *Unless required by applicable law or agreed to in writing,
+ *software distributed under the License is distributed on an
+ *"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ *specific language governing permissions and limitations
+ *under the License.
+ */
+/*
+ * test.c
+ *
+ *  \date       12 Feb 2014
+ *  \author     <a href="mailto:dev@celix.apache.org">Apache Celix Project Team</a>
+ *  \copyright  Apache License, Version 2.0
+ */
+
+#include <stdio.h>
+
+void doo()
+{
+    printf("Hello from second lib\n");
+}

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/hello_world_test/public/include/test.h
----------------------------------------------------------------------
diff --git a/examples/hello_world_test/public/include/test.h b/examples/hello_world_test/public/include/test.h
new file mode 100644
index 0000000..cdbd05d
--- /dev/null
+++ b/examples/hello_world_test/public/include/test.h
@@ -0,0 +1,34 @@
+/**
+ *Licensed to the Apache Software Foundation (ASF) under one
+ *or more contributor license agreements.  See the NOTICE file
+ *distributed with this work for additional information
+ *regarding copyright ownership.  The ASF licenses this file
+ *to you under the Apache License, Version 2.0 (the
+ *"License"); you may not use this file except in compliance
+ *with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *Unless required by applicable law or agreed to in writing,
+ *software distributed under the License is distributed on an
+ *"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ *specific language governing permissions and limitations
+ *under the License.
+ */
+/*
+ * test.h
+ *
+ *  \date       12 Feb 2014
+ *  \author     <a href="mailto:dev@celix.apache.org">Apache Celix Project Team</a>
+ *  \copyright  Apache License, Version 2.0
+ */
+
+#ifndef TEST_H_
+#define TEST_H_
+
+
+void doo(void);
+
+
+#endif /* TEST_H_ */

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/locking/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/locking/CMakeLists.txt b/examples/locking/CMakeLists.txt
index ccbdb70..fee34c6 100644
--- a/examples/locking/CMakeLists.txt
+++ b/examples/locking/CMakeLists.txt
@@ -24,3 +24,11 @@ add_subdirectory(mutex_benchmark)
 #add_subdirectory(reference_benchmark)
 #add_subdirectory(start_stop_benchmark)
 #add_subdirectory(modified_bool_benchmark)
+
+
+#add_deploy("locking_example_reference" BUNDLES benchmark_runner reference_benchmark math_provider shell shell_tui log_service log_writer)
+add_deploy("locking_example_mutex" BUNDLES benchmark_runner mutex_benchmark math_provider shell shell_tui log_service log_writer)
+
+#add_deploy("locking_example_suspend" BUNDLES benchmark_runner start_stop_benchmark math_provider shell shell_tui log_service log_writer)
+#add_deploy("locking_example_rcu" BUNDLES benchmark_runner rcu_benchmark mutex_benchmark math_provider shell shell_tui log_service log_writer)
+

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/locking/benchmark/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/locking/benchmark/CMakeLists.txt b/examples/locking/benchmark/CMakeLists.txt
index 12db9f5..7992c36 100644
--- a/examples/locking/benchmark/CMakeLists.txt
+++ b/examples/locking/benchmark/CMakeLists.txt
@@ -15,17 +15,16 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME benchmark_runner)
-SET(BUNDLE_VERSION 0.0.0)
-
 include_directories(private/include)
 include_directories(public/include)
 include_directories(${PROJECT_SOURCE_DIR}/framework/public/include)
 include_directories(${PROJECT_SOURCE_DIR}/utils/public/include)
 include_directories(${PROJECT_SOURCE_DIR}/shell/public/include)
 
-bundle(benchmark_runner SOURCES
-	private/src/benchmark_runner_activator 
+add_bundle(benchmark_runner
+	VERSION 0.0.1
+	SOURCES
+		private/src/benchmark_runner_activator
 )
 
 target_link_libraries(benchmark_runner celix_framework)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/locking/deploy.cmake
----------------------------------------------------------------------
diff --git a/examples/locking/deploy.cmake b/examples/locking/deploy.cmake
deleted file mode 100644
index ddc784e..0000000
--- a/examples/locking/deploy.cmake
+++ /dev/null
@@ -1,26 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-is_enabled(EXAMPLES)
-if (EXAMPLES)
-
-	#deploy("locking_example_reference" BUNDLES benchmark_runner reference_benchmark math_provider shell shell_tui log_service log_writer)
-	deploy("locking_example_mutex" BUNDLES benchmark_runner mutex_benchmark math_provider shell shell_tui log_service log_writer)
-
-	#deploy("locking_example_suspend" BUNDLES benchmark_runner start_stop_benchmark math_provider shell shell_tui log_service log_writer)
-	#deploy("locking_example_rcu" BUNDLES benchmark_runner rcu_benchmark mutex_benchmark math_provider shell shell_tui log_service log_writer)
-
-endif (EXAMPLES)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/locking/math_provider/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/locking/math_provider/CMakeLists.txt b/examples/locking/math_provider/CMakeLists.txt
index 31be386..de83d7e 100644
--- a/examples/locking/math_provider/CMakeLists.txt
+++ b/examples/locking/math_provider/CMakeLists.txt
@@ -15,9 +15,6 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME math_provider)
-SET(BUNDLE_VERSION 0.0.0)
-
 include_directories(public/include)
 include_directories(../benchmark/public/include)
 include_directories("${PROJECT_SOURCE_DIR}/framework/public/include")
@@ -25,9 +22,11 @@ include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
 include_directories("${PROJECT_SOURCE_DIR}/shell/public/include")
 include_directories(private/include)
 
-bundle(math_provider SOURCES 
-	private/src/provider_activator 
-	private/src/math_component
+add_bundle(math_provider
+	VERSION 0.0.1
+	SOURCES
+		private/src/provider_activator
+		private/src/math_component
 )
 
 target_link_libraries(math_provider celix_framework)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/locking/modified_bool_benchmark/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/locking/modified_bool_benchmark/CMakeLists.txt b/examples/locking/modified_bool_benchmark/CMakeLists.txt
index 46ceb7a..4f3d002 100644
--- a/examples/locking/modified_bool_benchmark/CMakeLists.txt
+++ b/examples/locking/modified_bool_benchmark/CMakeLists.txt
@@ -15,10 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME bool_benchmark)
-SET(BUNDLE_VERSION 0.0.0)
-
-bundle(modified_bool_benchmark SOURCES
+add_bundle(modified_bool_benchmark SOURCES
 	../benchmark/public/src/benchmark_activator
 	private/src/modified_bool_benchmark 
 )

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/locking/mutex_benchmark/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/locking/mutex_benchmark/CMakeLists.txt b/examples/locking/mutex_benchmark/CMakeLists.txt
index 11aa1f7..71ab71d 100644
--- a/examples/locking/mutex_benchmark/CMakeLists.txt
+++ b/examples/locking/mutex_benchmark/CMakeLists.txt
@@ -15,18 +15,17 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME mutex_benchmark)
-SET(BUNDLE_VERSION 0.0.0)
-
 include_directories(public/include)
 include_directories(../benchmark/public/include)
 include_directories("${PROJECT_SOURCE_DIR}/framework/public/include")
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
 include_directories("${PROJECT_SOURCE_DIR}/shell/public/include")
 
-bundle(mutex_benchmark SOURCES
-	../benchmark/public/src/benchmark_activator
-	private/src/mutex_benchmark 
+add_bundle(mutex_benchmark
+	VERSION 0.0.1
+	SOURCES
+		../benchmark/public/src/benchmark_activator
+		private/src/mutex_benchmark
 )
 
 target_link_libraries(mutex_benchmark celix_framework)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/locking/reference_benchmark/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/locking/reference_benchmark/CMakeLists.txt b/examples/locking/reference_benchmark/CMakeLists.txt
index 592bb9c..017d195 100644
--- a/examples/locking/reference_benchmark/CMakeLists.txt
+++ b/examples/locking/reference_benchmark/CMakeLists.txt
@@ -15,10 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME reference_benchmark)
-SET(BUNDLE_VERSION 0.0.0)
-
-bundle(reference_benchmark SOURCES
+add_bundle(reference_benchmark SOURCES
 	../benchmark/public/src/benchmark_activator
 	private/src/reference_benchmark 
 )

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/locking/start_stop_benchmark/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/locking/start_stop_benchmark/CMakeLists.txt b/examples/locking/start_stop_benchmark/CMakeLists.txt
index bca651e..ec88166 100644
--- a/examples/locking/start_stop_benchmark/CMakeLists.txt
+++ b/examples/locking/start_stop_benchmark/CMakeLists.txt
@@ -15,10 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME stop_benchmark)
-SET(BUNDLE_VERSION 0.0.0)
-
-bundle(start_stop_benchmark SOURCES
+add_bundle(start_stop_benchmark SOURCES
 	../benchmark/public/src/benchmark_activator
 	private/src/start_stop_benchmark 
 )

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/mongoose/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/mongoose/CMakeLists.txt b/examples/mongoose/CMakeLists.txt
index f67c3fc..0ef71e3 100644
--- a/examples/mongoose/CMakeLists.txt
+++ b/examples/mongoose/CMakeLists.txt
@@ -15,8 +15,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
-add_library(mongoose STATIC private/src/mongoose.c)
-SET_TARGET_PROPERTIES(mongoose PROPERTIES COMPILE_FLAGS -fPIC)
+add_library(mongooselib STATIC private/src/mongoose.c)
+SET_TARGET_PROPERTIES(mongooselib PROPERTIES COMPILE_FLAGS -fPIC)
 
 SET(BUNDLE_SYMBOLICNAME "apache_celix_examples_mongoose")
 SET(BUNDLE_VERSION "0.0.1")
@@ -28,14 +28,11 @@ if(WIN32)
 	  set(LIBS wsock32)
 endif(WIN32)
 
-bundle(
+add_bundle(mongoose
+    VERSION 0.0.1
     SOURCES
         private/src/activator
-    
         private/include/mongoose.h
-    DIRECTORIES 
-        root
-    LINK_LIBRARIES
-        celix_framework mongoose ${LIBS}
-        
-)
\ No newline at end of file
+)
+
+target_link_libraries(mongoose celix_framework mongooselib ${LIBS})
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/osgi-in-action/chapter01-greeting-example/client/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/osgi-in-action/chapter01-greeting-example/client/CMakeLists.txt b/examples/osgi-in-action/chapter01-greeting-example/client/CMakeLists.txt
index a124709..4639292 100644
--- a/examples/osgi-in-action/chapter01-greeting-example/client/CMakeLists.txt
+++ b/examples/osgi-in-action/chapter01-greeting-example/client/CMakeLists.txt
@@ -15,10 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_examples_chapter01_greeting_example_client")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(chapter01-greeting-example-client SOURCES private/src/client)
+add_bundle(chapter01-greeting-example-client VERSION 0.0.1 SOURCES private/src/client)
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
 include_directories("../greeting/public/include")
 target_link_libraries(chapter01-greeting-example-client celix_framework)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/osgi-in-action/chapter01-greeting-example/greeting/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/osgi-in-action/chapter01-greeting-example/greeting/CMakeLists.txt b/examples/osgi-in-action/chapter01-greeting-example/greeting/CMakeLists.txt
index 1127439..625cbda 100644
--- a/examples/osgi-in-action/chapter01-greeting-example/greeting/CMakeLists.txt
+++ b/examples/osgi-in-action/chapter01-greeting-example/greeting/CMakeLists.txt
@@ -15,10 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_examples_chapter01_greeting_example")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(chapter01-greeting-example SOURCES
+add_bundle(chapter01-greeting-example VERSION 0.0.1 SOURCES
     private/src/activator
     private/src/greeting_impl
     

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/osgi-in-action/chapter04-correct-listener/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/osgi-in-action/chapter04-correct-listener/CMakeLists.txt b/examples/osgi-in-action/chapter04-correct-listener/CMakeLists.txt
index 29ea04b..2e68124 100644
--- a/examples/osgi-in-action/chapter04-correct-listener/CMakeLists.txt
+++ b/examples/osgi-in-action/chapter04-correct-listener/CMakeLists.txt
@@ -16,8 +16,7 @@
 # under the License.
 
 SET(BUNDLE_SYMBOLICNAME "apache_celix_examples_chapter04_correct_listener")
-SET(BUNDLE_VERSION "0.0.1")
-bundle(chapter04-correct-listener SOURCES private/src/listener_example)
+add_bundle(chapter04-correct-listener VERSION 0.0.1 SOURCES private/src/listener_example)
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
 include_directories("${PROJECT_SOURCE_DIR}/log_service/public/include")
 target_link_libraries(chapter04-correct-listener celix_framework)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/osgi-in-action/chapter04-correct-lookup/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/osgi-in-action/chapter04-correct-lookup/CMakeLists.txt b/examples/osgi-in-action/chapter04-correct-lookup/CMakeLists.txt
index fdd2f7b..abbb3cf 100644
--- a/examples/osgi-in-action/chapter04-correct-lookup/CMakeLists.txt
+++ b/examples/osgi-in-action/chapter04-correct-lookup/CMakeLists.txt
@@ -15,10 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_examples_chapter04_correct_lookup")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(chapter04-correct-lookup SOURCES private/src/activator)
+add_bundle(chapter04-correct-lookup VERSION 0.0.1 SOURCES private/src/activator)
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
 include_directories("${PROJECT_SOURCE_DIR}/log_service/public/include")
 target_link_libraries(chapter04-correct-lookup celix_framework)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/osgi-in-action/chapter04-paint-example/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/osgi-in-action/chapter04-paint-example/CMakeLists.txt b/examples/osgi-in-action/chapter04-paint-example/CMakeLists.txt
index 4eeac73..23537c3 100644
--- a/examples/osgi-in-action/chapter04-paint-example/CMakeLists.txt
+++ b/examples/osgi-in-action/chapter04-paint-example/CMakeLists.txt
@@ -24,6 +24,8 @@ if(PKG_CONFIG_EXECUTABLE)
 	add_subdirectory(paint)
 	add_subdirectory(square)
 	add_subdirectory(triangle)
+
+	add_deploy("chapter04-paint-example" BUNDLES chapter04-paint-example circle square triangle shell shell_tui log_service log_writer)
 else(PKG_CONFIG_EXECUTABLE)
 	MESSAGE("No GTK found, not building the Paint Example")	
 endif(PKG_CONFIG_EXECUTABLE)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/osgi-in-action/chapter04-paint-example/circle/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/osgi-in-action/chapter04-paint-example/circle/CMakeLists.txt b/examples/osgi-in-action/chapter04-paint-example/circle/CMakeLists.txt
index 4fee874..5769ac9 100644
--- a/examples/osgi-in-action/chapter04-paint-example/circle/CMakeLists.txt
+++ b/examples/osgi-in-action/chapter04-paint-example/circle/CMakeLists.txt
@@ -31,7 +31,7 @@ link_directories(${GTK_LIBRARY_DIRS})
 link_directories(${GLIB_LIBRARY_DIRS})
 link_directories(${GTHR_LIBRARY_DIRS})
 
-bundle(circle SOURCES 
+add_bundle(circle VERSION 0.0.1 SOURCES
  	private/src/activator
  	private/src/circle_shape
     

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/osgi-in-action/chapter04-paint-example/deploy.cmake
----------------------------------------------------------------------
diff --git a/examples/osgi-in-action/chapter04-paint-example/deploy.cmake b/examples/osgi-in-action/chapter04-paint-example/deploy.cmake
deleted file mode 100644
index 1ad24bf..0000000
--- a/examples/osgi-in-action/chapter04-paint-example/deploy.cmake
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-is_enabled(EXAMPLES)
-if (EXAMPLES)
-	if(PKG_CONFIG_EXECUTABLE)
-		#deploy("chapter04-paint-example" BUNDLES chapter04-paint-example circle square triangle shell shell_tui log_service log_writer)
-	endif(PKG_CONFIG_EXECUTABLE)
-endif (EXAMPLES)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/osgi-in-action/chapter04-paint-example/paint/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/osgi-in-action/chapter04-paint-example/paint/CMakeLists.txt b/examples/osgi-in-action/chapter04-paint-example/paint/CMakeLists.txt
index 2e97760..6caa87f 100644
--- a/examples/osgi-in-action/chapter04-paint-example/paint/CMakeLists.txt
+++ b/examples/osgi-in-action/chapter04-paint-example/paint/CMakeLists.txt
@@ -35,7 +35,7 @@ link_directories(${GLIB_LIBRARY_DIRS})
 link_directories(${GTHR_LIBRARY_DIRS})
 link_directories(${GMODULE_LIBRARY_DIRS})
 
-bundle(chapter04-paint-example SOURCES 
+add_bundle(chapter04-paint-example  VERSION 0.0.1 SOURCES
 	private/src/activator
 	private/src/default_shape
 	private/src/shape_component

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/osgi-in-action/chapter04-paint-example/square/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/osgi-in-action/chapter04-paint-example/square/CMakeLists.txt b/examples/osgi-in-action/chapter04-paint-example/square/CMakeLists.txt
index d29b914..df87ee4 100644
--- a/examples/osgi-in-action/chapter04-paint-example/square/CMakeLists.txt
+++ b/examples/osgi-in-action/chapter04-paint-example/square/CMakeLists.txt
@@ -31,7 +31,7 @@ link_directories(${GTK_LIBRARY_DIRS})
 link_directories(${GLIB_LIBRARY_DIRS})
 link_directories(${GTHR_LIBRARY_DIRS})
 
-bundle(square SOURCES 
+add_bundle(square  VERSION 0.0.1  SOURCES
  	private/src/activator
  	private/src/square_shape
     

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/osgi-in-action/chapter04-paint-example/triangle/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/osgi-in-action/chapter04-paint-example/triangle/CMakeLists.txt b/examples/osgi-in-action/chapter04-paint-example/triangle/CMakeLists.txt
index d86295e..ff069b3 100644
--- a/examples/osgi-in-action/chapter04-paint-example/triangle/CMakeLists.txt
+++ b/examples/osgi-in-action/chapter04-paint-example/triangle/CMakeLists.txt
@@ -31,7 +31,7 @@ link_directories(${GTK_LIBRARY_DIRS})
 link_directories(${GLIB_LIBRARY_DIRS})
 link_directories(${GTHR_LIBRARY_DIRS})
 
-bundle(triangle SOURCES 
+add_bundle(triangle  VERSION 0.0.1 SOURCES
  	private/src/activator
  	private/src/triangle_shape
     

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/producer_consumer/consumer/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/producer_consumer/consumer/CMakeLists.txt b/examples/producer_consumer/consumer/CMakeLists.txt
index 4306d96..2803af7 100644
--- a/examples/producer_consumer/consumer/CMakeLists.txt
+++ b/examples/producer_consumer/consumer/CMakeLists.txt
@@ -15,15 +15,11 @@
 # specific language governing permissions and limitations
 # under the License.
 
-set(BUNDLE_SYMBOLICNAME "apache_celix_examples_consumer")
-set(BUNDLE_VERSION "1.0.0")
-set(BUNDLE_NAME "Apache Celix Consumer")
-
-
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
 include_directories("${PROJECT_SOURCE_DIR}/examples/producer_consumer/database/public/include")
 
-bundle(consumer
+add_bundle(consumer
+	VERSION 1.0.0
 	SOURCES
 	 	private/src/activator.c
 )

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/producer_consumer/database/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/producer_consumer/database/CMakeLists.txt b/examples/producer_consumer/database/CMakeLists.txt
index 87e8288..40b8b35 100644
--- a/examples/producer_consumer/database/CMakeLists.txt
+++ b/examples/producer_consumer/database/CMakeLists.txt
@@ -15,16 +15,12 @@
 # specific language governing permissions and limitations
 # under the License.
 
-set(BUNDLE_SYMBOLICNAME "apache_celix_examples_database")
-set(BUNDLE_VERSION "1.0.0")
-set(BUNDLE_NAME "Apache Celix Database")
-
-
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
 include_directories("${PROJECT_SOURCE_DIR}/examples/producer_consumer/database/private/include")
 include_directories("${PROJECT_SOURCE_DIR}/examples/producer_consumer/database/public/include")
 
-bundle(database 
+add_bundle(database
+	VERSION 1.0.0
 	SOURCES private/src/activator 
 		private/src/writer 
 		private/src/reader

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/producer_consumer/producer/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/producer_consumer/producer/CMakeLists.txt b/examples/producer_consumer/producer/CMakeLists.txt
index 6d764c8..83ba7d4 100644
--- a/examples/producer_consumer/producer/CMakeLists.txt
+++ b/examples/producer_consumer/producer/CMakeLists.txt
@@ -15,15 +15,11 @@
 # specific language governing permissions and limitations
 # under the License.
 
-set(BUNDLE_SYMBOLICNAME "apache_celix_examples_producer")
-set(BUNDLE_VERSION "1.0.0")
-set(BUNDLE_NAME "Apache Celix Producer")
-
-
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
 include_directories("${PROJECT_SOURCE_DIR}/examples/producer_consumer/database/public/include")
 
-bundle(producer
+add_bundle(producer
+	VERSION 1.0.0
 	SOURCES
 	 	private/src/activator.c
 )

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/whiteboard/publisherA/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/whiteboard/publisherA/CMakeLists.txt b/examples/whiteboard/publisherA/CMakeLists.txt
index ac86c00..a219360 100644
--- a/examples/whiteboard/publisherA/CMakeLists.txt
+++ b/examples/whiteboard/publisherA/CMakeLists.txt
@@ -15,10 +15,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_examples_publisher_a")
-SET(BUNDLE_VERSION "0.0.1")
 
-bundle(publisherA SOURCES private/src/activator private/src/publisher)
+add_bundle(publisherA VERSION 1.0.0 SOURCES private/src/activator private/src/publisher)
 include_directories("../publisherService/public/include")
 include_directories("../publisherService/private/include")
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/whiteboard/publisherB/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/whiteboard/publisherB/CMakeLists.txt b/examples/whiteboard/publisherB/CMakeLists.txt
index 5cc712e..74f0bb5 100644
--- a/examples/whiteboard/publisherB/CMakeLists.txt
+++ b/examples/whiteboard/publisherB/CMakeLists.txt
@@ -15,10 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_examples_publisher_b")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(publisherB SOURCES private/src/activator private/src/publisher)
+add_bundle(publisherB VERSION 1.0.0 SOURCES private/src/activator private/src/publisher)
 include_directories("../publisherService/public/include")
 include_directories("../publisherService/private/include")
 target_link_libraries(publisherB celix_framework)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/whiteboard/tracker/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/whiteboard/tracker/CMakeLists.txt b/examples/whiteboard/tracker/CMakeLists.txt
index c18763c..c44b206 100644
--- a/examples/whiteboard/tracker/CMakeLists.txt
+++ b/examples/whiteboard/tracker/CMakeLists.txt
@@ -15,10 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_examples_tracker")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(tracker SOURCES private/src/activator)
+add_bundle(tracker VERSION 1.0.0 SOURCES private/src/activator)
 include_directories("../publisherService/public/include")
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
 target_link_libraries(tracker celix_framework)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/examples/whiteboard/tracker_depman/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/whiteboard/tracker_depman/CMakeLists.txt b/examples/whiteboard/tracker_depman/CMakeLists.txt
index 9cc1b07..895da6c 100644
--- a/examples/whiteboard/tracker_depman/CMakeLists.txt
+++ b/examples/whiteboard/tracker_depman/CMakeLists.txt
@@ -15,10 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_examples_tracker_dm")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(tracker_depman SOURCES
+add_bundle(tracker_depman VERSION 1.0.0 SOURCES
     private/src/dependency_activator
     private/src/tracker
     

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/framework/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/framework/CMakeLists.txt b/framework/CMakeLists.txt
index 8d71524..2bc6980 100644
--- a/framework/CMakeLists.txt
+++ b/framework/CMakeLists.txt
@@ -30,12 +30,13 @@ if (FRAMEWORK)
     #    DESCRIPTION "The Apache Celix framework library"
     #    REQUIRED
     #)
-    
-    CELIX_ADD_COMPONENT(framework
-    	DISPLAY_NAME Framework
-        DESCRIPTION "The Apache Celix framework library"
-        GROUP all
-    )
+
+    #TODO setup intall framework
+    #CELIX_ADD_COMPONENT(framework
+    #	DISPLAY_NAME Framework
+    #    DESCRIPTION "The Apache Celix framework library"
+    #    GROUP all
+    #)
     
     add_definitions(-DUSE_FILE32API)
     include_directories(${ZLIB_INCLUDE_DIR})
@@ -69,6 +70,7 @@ if (FRAMEWORK)
 		${IO}
 	 
 	)
+    set_target_properties(celix_framework PROPERTIES "SOVERSION" 2)
 	if(NOT APPLE)
       set(UUID ${UUID_LIBRARY})
     endif()

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/framework/private/integration-test/test_bundle1/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/framework/private/integration-test/test_bundle1/CMakeLists.txt b/framework/private/integration-test/test_bundle1/CMakeLists.txt
index c37cf74..a8d9d53 100644
--- a/framework/private/integration-test/test_bundle1/CMakeLists.txt
+++ b/framework/private/integration-test/test_bundle1/CMakeLists.txt
@@ -15,9 +15,6 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET_HEADER(BUNDLE_SYMBOLICNAME "apache_celix_test_bundle1")
-SET_HEADERS("Bundle-Name: Apache Celix TestBundle1") 
-	
-bundle(test_bundle1 SOURCES src/activator)
+add_bundle(test_bundle1 SOURCES src/activator VERSION 0.0.1)
 include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
-target_link_libraries(test_bundle1 celix_framework)
\ No newline at end of file
+target_link_libraries(test_bundle1 celix_framework)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/framework/private/src/framework.c
----------------------------------------------------------------------
diff --git a/framework/private/src/framework.c b/framework/private/src/framework.c
index 8da65d1..2748c90 100644
--- a/framework/private/src/framework.c
+++ b/framework/private/src/framework.c
@@ -2435,12 +2435,10 @@ static celix_status_t framework_loadBundleLibraries(framework_pt framework, bund
     status = CELIX_DO_IF(status, bundleArchive_getCurrentRevision(archive, &revision));
     status = CELIX_DO_IF(status, bundleRevision_getManifest(revision, &manifest));
     if (status == CELIX_SUCCESS) {
-        char *library = NULL;
         char *privateLibraries = NULL;
         char *exportLibraries = NULL;
         char *activator = NULL;
 
-        library = manifest_getValue(manifest, OSGI_FRAMEWORK_HEADER_LIBRARY);
         privateLibraries = manifest_getValue(manifest, OSGI_FRAMEWORK_PRIVATE_LIBRARY);
         exportLibraries = manifest_getValue(manifest, OSGI_FRAMEWORK_EXPORT_LIBRARY);
         activator = manifest_getValue(manifest, OSGI_FRAMEWORK_BUNDLE_ACTIVATOR);
@@ -2450,11 +2448,8 @@ static celix_status_t framework_loadBundleLibraries(framework_pt framework, bund
         }
 
         if (privateLibraries != NULL) {
-            status = CELIX_DO_IF(status, framework_loadLibraries(framework, privateLibraries, activator, archive, &handle));
-        }
-
-        if (library != NULL) {
-            status = CELIX_DO_IF(status, framework_loadLibrary(framework, library, archive, &handle));
+            status = CELIX_DO_IF(status,
+                                 framework_loadLibraries(framework, privateLibraries, activator, archive, &handle));
         }
 
         if (status == CELIX_SUCCESS) {
@@ -2483,6 +2478,8 @@ static celix_status_t framework_loadLibraries(framework_pt framework, char *libr
         pathToken = strtok_r(NULL, ";", &path);
 
         while (pathToken != NULL) {
+
+            /*Disable version should be part of the lib name
             if (strncmp(pathToken, "version", 7) == 0) {
                 char *ver = strdup(pathToken);
                 char version[strlen(ver) - 9];
@@ -2491,15 +2488,16 @@ static celix_status_t framework_loadLibraries(framework_pt framework, char *libr
 
                 strcat(lib, "-");
                 strcat(lib, version);
-            }
+            }*/
             pathToken = strtok_r(NULL, ";", &path);
         }
 
-        status = framework_loadLibrary(framework, lib, archive, &handle);
+        char *trimmedLib = utils_stringTrim(lib);
+        status = framework_loadLibrary(framework, trimmedLib, archive, &handle);
 
         if (status == CELIX_SUCCESS) {
             if (activator != NULL) {
-                if (strcmp(lib, activator) == 0) {
+                if (strcmp(trimmedLib, activator) == 0) {
                     *activatorHandle = handle;
                 }
             }
@@ -2537,8 +2535,13 @@ static celix_status_t framework_loadLibrary(framework_pt framework, char *librar
     status = CELIX_DO_IF(status, bundleArchive_getArchiveRoot(archive, &archiveRoot));
     status = CELIX_DO_IF(status, bundleArchive_getCurrentRevisionNumber(archive, &revisionNumber));
 
-    memset(libraryPath, 0, sizeof(libraryPath));
-    int written = snprintf(libraryPath, 256, "%s/version%ld.%ld/%s%s%s", archiveRoot, refreshCount, revisionNumber, library_prefix, library, library_extension);
+    memset(libraryPath, 0, 256);
+    int written = 0;
+    if (strncmp("lib", library, 3) == 0) {
+        written = snprintf(libraryPath, 256, "%s/version%ld.%ld/%s", archiveRoot, refreshCount, revisionNumber, library);
+    } else {
+        written = snprintf(libraryPath, 256, "%s/version%ld.%ld/%s%s%s", archiveRoot, refreshCount, revisionNumber, library_prefix, library, library_extension);
+    }
 
     if (written >= 256) {
     	error = "library path is too long";

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/framework/private/src/manifest.c
----------------------------------------------------------------------
diff --git a/framework/private/src/manifest.c b/framework/private/src/manifest.c
index b84cb26..3cbb0e7 100644
--- a/framework/private/src/manifest.c
+++ b/framework/private/src/manifest.c
@@ -186,7 +186,8 @@ void manifest_write(manifest_pt manifest, char * filename) {
 
 char * manifest_getValue(manifest_pt manifest, const char * name) {
 	char * val = properties_get(manifest->mainAttributes, (char *) name);
-	return val;
+	bool isEmpty = utils_isStringEmptyOrNull(val);
+	return isEmpty ? NULL : val;
 }
 
 int fpeek(FILE *stream) {

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/framework/private/src/utils.c
----------------------------------------------------------------------
diff --git a/framework/private/src/utils.c b/framework/private/src/utils.c
index 862fba9..f8e5d1f 100644
--- a/framework/private/src/utils.c
+++ b/framework/private/src/utils.c
@@ -77,9 +77,26 @@ char * utils_stringTrim(char * string) {
 		end--;
 	}
 
+
+
 	return copy;
 }
 
+bool utils_isStringEmptyOrNull(const char * const str) {
+	bool empty = true;
+	if (str != NULL) {
+		int i;
+		for (i = 0; i < strnlen(str, 1024 * 1024); i += 1) {
+			if (!isspace(str[i])) {
+				empty = false;
+				break;
+			}
+		}
+	}
+
+	return empty;
+}
+
 celix_status_t thread_equalsSelf(celix_thread_t thread, bool *equals) {
 	celix_status_t status = CELIX_SUCCESS;
 

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/framework/public/include/constants.h
----------------------------------------------------------------------
diff --git a/framework/public/include/constants.h b/framework/public/include/constants.h
index eb29233..1064752 100644
--- a/framework/public/include/constants.h
+++ b/framework/public/include/constants.h
@@ -40,8 +40,6 @@ static const char * const OSGI_FRAMEWORK_BUNDLE_ACTIVATOR_START = "bundleActivat
 static const char * const OSGI_FRAMEWORK_BUNDLE_ACTIVATOR_STOP = "bundleActivator_stop";
 static const char * const OSGI_FRAMEWORK_BUNDLE_ACTIVATOR_DESTROY = "bundleActivator_destroy";
 
-static const char * const OSGI_FRAMEWORK_HEADER_LIBRARY = "library";
-
 static const char * const OSGI_FRAMEWORK_BUNDLE_SYMBOLICNAME = "Bundle-SymbolicName";
 static const char * const OSGI_FRAMEWORK_BUNDLE_VERSION = "Bundle-Version";
 static const char * const OSGI_FRAMEWORK_PRIVATE_LIBRARY = "Private-Library";

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/framework/public/include/utils.h
----------------------------------------------------------------------
diff --git a/framework/public/include/utils.h b/framework/public/include/utils.h
index 19788d3..1ac2438 100644
--- a/framework/public/include/utils.h
+++ b/framework/public/include/utils.h
@@ -38,6 +38,7 @@ FRAMEWORK_EXPORT unsigned int utils_stringHash(void * string);
 FRAMEWORK_EXPORT int utils_stringEquals(void * string, void * toCompare);
 FRAMEWORK_EXPORT char * string_ndup(const char *s, size_t n);
 FRAMEWORK_EXPORT char * utils_stringTrim(char * string);
+FRAMEWORK_EXPORT bool utils_isStringEmptyOrNull(const char * const str);
 
 FRAMEWORK_EXPORT int utils_compareServiceIdsAndRanking(long servId, long servRank, long otherServId, long otherServRank);
 

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/log_service/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/log_service/CMakeLists.txt b/log_service/CMakeLists.txt
index b431db0..9d7357a 100644
--- a/log_service/CMakeLists.txt
+++ b/log_service/CMakeLists.txt
@@ -17,12 +17,11 @@
 
 celix_subproject(LOG_SERVICE "Option to enable building the Log Service bundles" ON DEPS framework)
 if (LOG_SERVICE)
-	
-	SET_HEADER(BUNDLE_VERSION "1.0.0")
-	SET_HEADER(BUNDLE_SYMBOLICNAME "apache_celix_log_service")
-	SET_HEADERS("Bundle-Name: Apache Celix Log Service")
-	
-    bundle(log_service 
+
+    add_bundle(log_service
+    	SYMBOLIC_NAME "apache_celix_log_service"
+    	NAME "Apache Celix Log Service"
+    	VERSION "1.0.0"
     	SOURCES
 			private/src/log
 			private/src/log_entry

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/log_writer/log_writer_stdout/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/log_writer/log_writer_stdout/CMakeLists.txt b/log_writer/log_writer_stdout/CMakeLists.txt
index 34c3f53..b7b1bab 100644
--- a/log_writer/log_writer_stdout/CMakeLists.txt
+++ b/log_writer/log_writer_stdout/CMakeLists.txt
@@ -15,16 +15,16 @@
 # specific language governing permissions and limitations
 # under the License.
 
-SET_HEADER(BUNDLE_SYMBOLICNAME "apache_celix_log_writer")
-SET_HEADERS("Bundle-Name: Apache Celix Log Writer")
-SET_HEADER(BUNDLE_VERSION "1.0.0")
+add_bundle(log_writer
+	SYMBOLIC_NAME "apache_celix_log_writer"
+	VERSION "1.0.0"
+	NAME "Apache Celix Log Writer"
+	SOURCES
+		${PROJECT_SOURCE_DIR}/log_writer/log_writer/private/src/log_writer_activator
+		${PROJECT_SOURCE_DIR}/log_writer/log_writer/private/src/log_writer
+		${PROJECT_SOURCE_DIR}/log_writer/log_writer/private/include/log_writer.h
 
-bundle(log_writer SOURCES 
-	${PROJECT_SOURCE_DIR}/log_writer/log_writer/private/src/log_writer_activator
-	${PROJECT_SOURCE_DIR}/log_writer/log_writer/private/src/log_writer
-	${PROJECT_SOURCE_DIR}/log_writer/log_writer/private/include/log_writer.h
-
-	private/src/log_writer_stdout
+		private/src/log_writer_stdout
 )
 
 install_bundle(log_writer)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/log_writer/log_writer_syslog/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/log_writer/log_writer_syslog/CMakeLists.txt b/log_writer/log_writer_syslog/CMakeLists.txt
index 6b066cc..142ddcd 100644
--- a/log_writer/log_writer_syslog/CMakeLists.txt
+++ b/log_writer/log_writer_syslog/CMakeLists.txt
@@ -18,11 +18,11 @@ celix_subproject(LOG_WRITER_SYSLOG "Option to enable building the Syslog Writer"
 if (LOG_WRITER_SYSLOG)
     find_package(Syslog REQUIRED)
 
-    SET_HEADER(BUNDLE_SYMBOLICNAME "apache_celix_log_writer_syslog")
-    SET_HEADERS("Bundle-Name: Apache Celix Log Writer Syslog")
-    SET_HEADER(BUNDLE_VERSION "1.0.0")
-
-    bundle(log_writer_syslog SOURCES 
+    add_bundle(log_writer_syslog 
+        VERSION 1.0.0
+        SYMBOLIC_NAME "apache_celix_log_writer_syslog"
+        NAME "Apache Celix Log Writer Syslog"
+        SOURCES
         ${PROJECT_SOURCE_DIR}/log_writer/log_writer/private/src/log_writer_activator
         ${PROJECT_SOURCE_DIR}/log_writer/log_writer/private/src/log_writer
         ${PROJECT_SOURCE_DIR}/log_writer/log_writer/private/include/log_writer.h

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/remote_services/discovery_configured/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/remote_services/discovery_configured/CMakeLists.txt b/remote_services/discovery_configured/CMakeLists.txt
index e414572..32c51f5 100644
--- a/remote_services/discovery_configured/CMakeLists.txt
+++ b/remote_services/discovery_configured/CMakeLists.txt
@@ -31,11 +31,12 @@ if (RSA_DISCOVERY_CONFIGURED)
     include_directories("${PROJECT_SOURCE_DIR}/log_service/public/include")
     include_directories(private/include)
 
-    SET_HEADER(BUNDLE_SYMBOLICNAME "apache_celix_rsa_discovery_configured")
-    SET(BUNDLE_VERSION "0.0.1")
-    SET_HEADERS("Bundle-Name: Apache Celix RSA Configured Discovery")
+    add_bundle(discovery_configured 
+    VERSION 0.0.1
+    SYMBOLIC_NAME "apache_celix_rsa_discovery_configured"
+    NAME "Apache Celix RSA Configured Discovery"    
+    SOURCES
 
-    bundle(discovery_configured SOURCES
 	private/src/discovery_impl.c
 	${PROJECT_SOURCE_DIR}/remote_services/discovery/private/src/discovery_activator.c
 	${PROJECT_SOURCE_DIR}/remote_services/discovery/private/src/discovery.c

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/remote_services/discovery_etcd/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/remote_services/discovery_etcd/CMakeLists.txt b/remote_services/discovery_etcd/CMakeLists.txt
index aa1e08c..56bec30 100644
--- a/remote_services/discovery_etcd/CMakeLists.txt
+++ b/remote_services/discovery_etcd/CMakeLists.txt
@@ -33,13 +33,12 @@ if (RSA_DISCOVERY_ETCD)
 	include_directories("${PROJECT_SOURCE_DIR}/remote_services/remote_service_admin/public/include")
 	include_directories("${PROJECT_SOURCE_DIR}/log_service/public/include")
 	include_directories("private/include")
-
-	SET_HEADER(BUNDLE_SYMBOLICNAME "apache_celix_rsa_discovery_etcd")
-	SET(BUNDLE_VERSION "0.0.1")
-	SET_HEADERS("Bundle-Name: Apache Celix RSA Discovery ETCD")
-
     
-	bundle(discovery_etcd SOURCES
+	add_bundle(discovery_etcd 
+        VERSION 0.0.1
+        SYMBOLIC_NAME "apache_celix_rsa_discovery_etcd"
+        NAME "Apache Celix RSA Discovery ETCD"
+        SOURCES
 		private/src/discovery_impl.c
 		private/src/etcd.c
 	    private/src/etcd_watcher.c

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/remote_services/discovery_shm/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/remote_services/discovery_shm/CMakeLists.txt b/remote_services/discovery_shm/CMakeLists.txt
index 1e6ed00..862096c 100644
--- a/remote_services/discovery_shm/CMakeLists.txt
+++ b/remote_services/discovery_shm/CMakeLists.txt
@@ -32,11 +32,11 @@ find_package(CURL REQUIRED)
 	include_directories("${PROJECT_SOURCE_DIR}/log_service/public/include")
 	include_directories("private/include")
 
-	SET_HEADER(BUNDLE_SYMBOLICNAME "apache_celix_rsa_discovery_shm")
-	SET(BUNDLE_VERSION "0.0.1")
-	SET_HEADERS("Bundle-Name: Apache Celix RSA Discovery SHM")
-
-	bundle(discovery_shm SOURCES 
+	add_bundle(discovery_shm 
+        VERSION 0.0.1
+        SYMBOLIC_NAME "apache_celix_rsa_discovery_shm"
+        NAME "Apache Celix RSA Discovery SHM"
+        SOURCES
 		private/src/discovery_shm
 		private/src/discovery_shmWatcher
 		private/src/discovery_impl

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/remote_services/examples/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/remote_services/examples/CMakeLists.txt b/remote_services/examples/CMakeLists.txt
index 9246a0f..1948c5b 100644
--- a/remote_services/examples/CMakeLists.txt
+++ b/remote_services/examples/CMakeLists.txt
@@ -26,6 +26,75 @@ if (RSA_EXAMPLES)
     add_subdirectory(calculator_proxy2)
 
     add_subdirectory(calculator_shell)
+
+    if(BUILD_RSA_REMOTE_SERVICE_ADMIN_HTTP AND BUILD_RSA_DISCOVERY_CONFIGURED)
+        add_deploy(remote-services-cfg-server 
+            NAME "server"
+            GROUP "remote-services/remote-services-cfg"
+            BUNDLES discovery_configured topology_manager remote_service_admin_http calculator shell shell_tui log_service log_writer
+            PROPERTIES
+                RSA_PORT=8001
+                DISCOVERY_CFG_POLL_ENDPOINTS=http://localhost:8082/org.apache.celix.discovery.configured
+                DISCOVERY_CFG_SERVER_PORT=8081
+        )
+        deploy_bundles_dir(remote-services-cfg-server DIR_NAME "endpoints" BUNDLES
+            org.apache.celix.calc.api.Calculator_endpoint
+            org.apache.celix.calc.api.Calculator2_endpoint
+        )
+
+        add_deploy(remote-services-cfg-client
+            NAME "client"
+            GROUP "remote-services/remote-services-cfg"
+            BUNDLES topology_manager remote_service_admin_http shell shell_tui log_service log_writer calculator_shell discovery_configured
+            PROPERTIES
+                RSA_PORT=8002
+                DISCOVERY_CFG_POLL_ENDPOINTS=http://localhost:8081/org.apache.celix.discovery.configured
+                DISCOVERY_CFG_SERVER_PORT=8082
+        )
+        deploy_bundles_dir(remote-services-cfg-client DIR_NAME "endpoints"
+            BUNDLES org.apache.celix.calc.api.Calculator_proxy org.apache.celix.calc.api.Calculator2_proxy
+        )
+    endif()
+
+    if (BUILD_RSA_REMOTE_SERVICE_ADMIN_SHM AND BUILD_RSA_DISCOVERY_SHM)
+        add_deploy(remote-services-shm 
+            NAME "server"
+            GROUP "remote-services/remote-services-shm"
+            BUNDLES discovery_shm topology_manager remote_service_admin_shm calculator shell shell_tui log_service log_writer
+        )
+        deploy_bundles_dir(remote-services-shm DIR_NAME "endpoints"
+            BUNDLES org.apache.celix.calc.api.Calculator_endpoint
+        )
+
+        add_deploy(remote-services-shm-client 
+            NAME "client"
+            GROUP "remote-services/remote-services-shm"
+            BUNDLES topology_manager remote_service_admin_shm shell shell_tui log_service log_writer calculator_shell discovery_shm
+        )
+        deploy_bundles_dir(remote-services-shm-client DIR_NAME "endpoints"
+            BUNDLES org.apache.celix.calc.api.Calculator_proxy
+        )
+    endif ()
+
+    if (BUILD_RSA_DISCOVERY_ETCD AND BUILD_RSA_REMOTE_SERVICE_ADMIN_HTTP)
+        add_deploy(remote-services-etcd 
+            NAME "server"
+            GROUP "remote-services/remote-services-etcd"
+            BUNDLES discovery_etcd topology_manager remote_service_admin_http calculator shell shell_tui log_service log_writer
+        )
+        deploy_bundles_dir(remote-services-etcd DIR_NAME "endpoints"
+            BUNDLES org.apache.celix.calc.api.Calculator_endpoint
+        )
+
+        add_deploy("remote-services-etcd-client" 
+            NAME "client"
+            GROUP "remote-services/remote-services-etcd"
+            BUNDLES topology_manager remote_service_admin_http shell shell_tui log_service log_writer calculator_shell discovery_etcd
+        )
+        deploy_bundles_dir(remote-services-etcd-client DIR_NAME "endpoints"
+            BUNDLES org.apache.celix.calc.api.Calculator_proxy
+        )
+    endif ()
 endif (RSA_EXAMPLES)
 
 

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/remote_services/examples/calculator_endpoint/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/remote_services/examples/calculator_endpoint/CMakeLists.txt b/remote_services/examples/calculator_endpoint/CMakeLists.txt
index 25e5ad3..6e9c928 100644
--- a/remote_services/examples/calculator_endpoint/CMakeLists.txt
+++ b/remote_services/examples/calculator_endpoint/CMakeLists.txt
@@ -23,14 +23,13 @@ include_directories("../../remote_service_admin/public/include")
 include_directories("../calculator_service/public/include")
 include_directories("private/include")
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_remoting_calculator_endpoint")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(org.apache.celix.calc.api.Calculator_endpoint SOURCES 
+add_bundle(org.apache.celix.calc.api.Calculator_endpoint SOURCES
 	private/src/calculator_endpoint_activator
 	private/src/calculator_endpoint_impl.c
     
     private/include/calculator_endpoint_impl.h
+    VERSION 0.0.1
+    SYMBOLIC_NAME "apache_celix_remoting_calculator_endpoint"
 )
 
 target_link_libraries(org.apache.celix.calc.api.Calculator_endpoint celix_framework ${JANSSON_LIBRARIES})

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/remote_services/examples/calculator_endpoint2/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/remote_services/examples/calculator_endpoint2/CMakeLists.txt b/remote_services/examples/calculator_endpoint2/CMakeLists.txt
index 45bdf56..b75e6df 100644
--- a/remote_services/examples/calculator_endpoint2/CMakeLists.txt
+++ b/remote_services/examples/calculator_endpoint2/CMakeLists.txt
@@ -23,14 +23,13 @@ include_directories("../../remote_service_admin/public/include")
 include_directories("../calculator_service/public/include")
 include_directories("private/include")
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_remoting_calculator2_endpoint")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(org.apache.celix.calc.api.Calculator2_endpoint SOURCES 
+add_bundle(org.apache.celix.calc.api.Calculator2_endpoint SOURCES
 	private/src/calculator_endpoint_activator
 	private/src/calculator_endpoint_impl.c
     
     private/include/calculator_endpoint_impl.h
+    SYMBOLIC_NAME "apache_celix_remoting_calculator2_endpoint"
+    VERSION "0.0.1"
 )
 
 target_link_libraries(org.apache.celix.calc.api.Calculator2_endpoint celix_framework ${JANSSON_LIBRARIES})

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/remote_services/examples/calculator_proxy/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/remote_services/examples/calculator_proxy/CMakeLists.txt b/remote_services/examples/calculator_proxy/CMakeLists.txt
index 855e74e..9bbf089 100644
--- a/remote_services/examples/calculator_proxy/CMakeLists.txt
+++ b/remote_services/examples/calculator_proxy/CMakeLists.txt
@@ -24,15 +24,14 @@ include_directories("private/include")
 include_directories("../calculator_service/public/include")
 include_directories("../../endpoint_listener/public/include")
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_remoting_calculator_proxy")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(org.apache.celix.calc.api.Calculator_proxy SOURCES 
+add_bundle(org.apache.celix.calc.api.Calculator_proxy SOURCES
 	private/src/calculator_proxy_activator
 	private/src/calculator_proxy_impl.c
     ../../remote_service_admin/private/src/remote_proxy_factory_impl.c
     
     private/include/calculator_proxy_impl.h
+    VERSION 0.0.1
+    SYMBOLIC_NAME "apache_celix_remoting_calculator_proxy"
 )
 
 target_link_libraries(org.apache.celix.calc.api.Calculator_proxy celix_framework ${JANSSON_LIBRARIES})

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/remote_services/examples/calculator_proxy2/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/remote_services/examples/calculator_proxy2/CMakeLists.txt b/remote_services/examples/calculator_proxy2/CMakeLists.txt
index 3c6bf0f..01556e3 100644
--- a/remote_services/examples/calculator_proxy2/CMakeLists.txt
+++ b/remote_services/examples/calculator_proxy2/CMakeLists.txt
@@ -24,15 +24,14 @@ include_directories("private/include")
 include_directories("../calculator_service/public/include")
 include_directories("../../endpoint_listener/public/include")
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_remoting_calculator2_proxy")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(org.apache.celix.calc.api.Calculator2_proxy SOURCES 
+add_bundle(org.apache.celix.calc.api.Calculator2_proxy SOURCES
 	private/src/calculator_proxy_activator
 	private/src/calculator_proxy_impl.c
     ../../remote_service_admin/private/src/remote_proxy_factory_impl.c
     
     private/include/calculator_proxy_impl.h
+    VERSION 0.0.1
+    SYMBOLIC_NAME "apache_celix_remoting_calculator2_proxy"
 )
 
 target_link_libraries(org.apache.celix.calc.api.Calculator2_proxy celix_framework ${JANSSON_LIBRARIES})

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/remote_services/examples/calculator_service/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/remote_services/examples/calculator_service/CMakeLists.txt b/remote_services/examples/calculator_service/CMakeLists.txt
index a3cad0d..a18f22b 100644
--- a/remote_services/examples/calculator_service/CMakeLists.txt
+++ b/remote_services/examples/calculator_service/CMakeLists.txt
@@ -21,17 +21,17 @@ include_directories("../../remote_service_admin/public/include")
 include_directories("private/include")
 include_directories("public/include")
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_remoting_calculator_impl")
-SET(BUNDLE_VERSION "0.0.1")
-
-    bundle(calculator SOURCES
+add_bundle(calculator SOURCES
 	private/src/calculator_impl
 	private/src/calculator_activator
     
     private/include/calculator_impl.h
 
-    FILES
-        public/include/org.apache.celix.calc.api.Calculator2.descriptor
+    SYMBOLIC_NAME "apache_celix_remoting_calculator_impl"
+    VERSION 0.0.1
 )
 
+bundle_files(calculator public/include/org.apache.celix.calc.api.Calculator2.descriptor
+    DESTINATION .)
+
 target_link_libraries(calculator celix_framework)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/remote_services/examples/calculator_shell/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/remote_services/examples/calculator_shell/CMakeLists.txt b/remote_services/examples/calculator_shell/CMakeLists.txt
index b93afca..e45f041 100644
--- a/remote_services/examples/calculator_shell/CMakeLists.txt
+++ b/remote_services/examples/calculator_shell/CMakeLists.txt
@@ -20,10 +20,7 @@ include_directories("../../../utils/public/include")
 include_directories("../calculator_service/public/include")
 include_directories("../../../shell/public/include")
 
-SET(BUNDLE_SYMBOLICNAME "apache_celix_remoting_calculator_shell")
-SET(BUNDLE_VERSION "0.0.1")
-
-bundle(calculator_shell SOURCES
+add_bundle(calculator_shell SOURCES
     private/src/add_command 
     private/src/sub_command
     private/src/sqrt_command
@@ -32,10 +29,14 @@ bundle(calculator_shell SOURCES
     private/include/add_command.h
     private/include/sqrt_command.h
     private/include/sub_command.h
+    
+    VERSION 0.0.1
+    SYMBOLIC_NAME "apache_celix_remoting_calculator_shell"
+)
 
-
-        FILES
-            ../calculator_service/public/include/org.apache.celix.calc.api.Calculator2.descriptor
+bundle_files(calculator_shell 
+    ../calculator_service/public/include/org.apache.celix.calc.api.Calculator2.descriptor
+    DESTINATION .
 )
 
 target_link_libraries(calculator_shell celix_framework)

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/remote_services/examples/deploy.cmake
----------------------------------------------------------------------
diff --git a/remote_services/examples/deploy.cmake b/remote_services/examples/deploy.cmake
deleted file mode 100644
index 0515917..0000000
--- a/remote_services/examples/deploy.cmake
+++ /dev/null
@@ -1,59 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-is_enabled(RSA_EXAMPLES)
-if (RSA_EXAMPLES)
-    is_enabled(RSA_REMOTE_SERVICE_ADMIN_HTTP)
-    if (RSA_REMOTE_SERVICE_ADMIN_HTTP)
-        is_enabled(RSA_DISCOVERY_CONFIGURED)
-        if (RSA_DISCOVERY_CONFIGURED)
-            deploy("remote-services-cfg" BUNDLES discovery_configured topology_manager remote_service_admin_http calculator shell shell_tui log_service log_writer
-                                         ENDPOINTS
-                                            org.apache.celix.calc.api.Calculator_endpoint
-                                            org.apache.celix.calc.api.Calculator2_endpoint
-                                         PROPERTIES
-                                            RSA_PORT=8001
-                                            DISCOVERY_CFG_POLL_ENDPOINTS=http://localhost:8082/org.apache.celix.discovery.configured
-                                            DISCOVERY_CFG_SERVER_PORT=8081)
-            deploy("remote-services-cfg-client" BUNDLES topology_manager remote_service_admin_http shell shell_tui log_service log_writer calculator_shell discovery_configured
-                                                ENDPOINTS org.apache.celix.calc.api.Calculator_proxy org.apache.celix.calc.api.Calculator2_proxy
-                                            PROPERTIES
-                                                RSA_PORT=8002
-                                                DISCOVERY_CFG_POLL_ENDPOINTS=http://localhost:8081/org.apache.celix.discovery.configured
-                                                DISCOVERY_CFG_SERVER_PORT=8082)
-        endif ()
-    endif ()
-
-    is_enabled(RSA_REMOTE_SERVICE_ADMIN_SHM)
-    if (RSA_REMOTE_SERVICE_ADMIN_SHM)
-        is_enabled(RSA_DISCOVERY_SHM)
-        if (RSA_DISCOVERY_SHM)
-            deploy("remote-services-shm" BUNDLES discovery_shm topology_manager remote_service_admin_shm calculator shell shell_tui log_service log_writer
-                                         ENDPOINTS org.apache.celix.calc.api.Calculator_endpoint)
-            deploy("remote-services-shm-client" BUNDLES topology_manager remote_service_admin_shm shell shell_tui log_service log_writer calculator_shell discovery_shm
-                                                ENDPOINTS org.apache.celix.calc.api.Calculator_proxy)
-        endif ()
-    endif ()
-
-    is_enabled(RSA_DISCOVERY_ETCD)
-    if (RSA_DISCOVERY_ETCD)
-        deploy("remote-services-etcd" BUNDLES discovery_etcd topology_manager remote_service_admin_http calculator shell shell_tui log_service log_writer
-                                     ENDPOINTS org.apache.celix.calc.api.Calculator_endpoint)
-        deploy("remote-services-etcd-client" BUNDLES topology_manager remote_service_admin_http shell shell_tui log_service log_writer calculator_shell discovery_etcd
-                                            ENDPOINTS org.apache.celix.calc.api.Calculator_proxy)
-    endif ()
-
-endif (RSA_EXAMPLES)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/celix/blob/49ab9ab5/remote_services/remote_service_admin/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/remote_services/remote_service_admin/CMakeLists.txt b/remote_services/remote_service_admin/CMakeLists.txt
index 9d0f4f7..ac703e2 100644
--- a/remote_services/remote_service_admin/CMakeLists.txt
+++ b/remote_services/remote_service_admin/CMakeLists.txt
@@ -15,11 +15,6 @@
 # specific language governing permissions and limitations
 # under the License.
 
-CELIX_ADD_COMPONENT(remote_service_admin
-    DISPLAY_NAME remote_service_admin
-    DESCRIPTION Public files needed for RSA implementations
-    GROUP bundles
-)
 install (FILES 
         public/include/remote_endpoint_impl.h
         public/include/remote_endpoint.h