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 2014/09/09 22:03:56 UTC
svn commit: r1623876 - in /celix/trunk/cmake: FindCELIX.cmake
cmake_celix/Packaging.cmake
Author: pnoltes
Date: Tue Sep 9 20:03:56 2014
New Revision: 1623876
URL: http://svn.apache.org/r1623876
Log:
CELIX-144: Changed FindCelix, additional include(..) not needed anymore. assuming celix binaries/headers are findable relative form FindCELIX.cmake. Also exports CELIX_BUNDLES_DIR for use in the deploy.cmake files. Packinging now regonizes bunles with a full path (e.g. using CELIX_BUNDLES_DIR) and add those bundles to the deployment.
Modified:
celix/trunk/cmake/FindCELIX.cmake
celix/trunk/cmake/cmake_celix/Packaging.cmake
Modified: celix/trunk/cmake/FindCELIX.cmake
URL: http://svn.apache.org/viewvc/celix/trunk/cmake/FindCELIX.cmake?rev=1623876&r1=1623875&r2=1623876&view=diff
==============================================================================
--- celix/trunk/cmake/FindCELIX.cmake (original)
+++ celix/trunk/cmake/FindCELIX.cmake Tue Sep 9 20:03:56 2014
@@ -16,39 +16,55 @@
# under the License.
-# - Try to find Celix
+# - Try to find Celix define the variables for the binaries/headers and include
+# the Celix cmake modules needed to build bundles
+#
# Once done this will define
# CELIX_FOUND - System has Apache Celix
# CELIX_INCLUDE_DIRS - The Apache Celix include directories
# CELIX_LIBRARIES - The libraries needed to use Apache Celix
-##
# CELIX_LAUNCHER - The path to the celix launcher
+# CELIX_BUNDLES_DIR - The path where the Celix provided bundles are installed
+
+set(CELIX_DIR_FROM_FINDCELIX "${CMAKE_CURRENT_LIST_DIR}/../../../..")
+
find_path(CELIX_INCLUDE_DIR celix_errno.h
- PATHS $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
+ PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
PATH_SUFFIXES include include/celix)
find_library(CELIX_FRAMEWORK_LIBRARY NAMES celix_framework
- PATHS $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
+ PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
PATH_SUFFIXES lib lib64)
find_library(CELIX_UTILS_LIBRARY NAMES celix_utils
- PATHS $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
+ PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
PATH_SUFFIXES lib lib64)
find_program(CELIX_LAUNCHER NAMES celix
- PATHS $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
+ PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
PATH_SUFFIXES bin)
+find_file(CELIX_CMAKECELIX_FILE CMakeCelix.cmake
+ PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
+ PATH_SUFFIXES share/celix/cmake/modules)
+
+#NOTE assuming shell.zip is always installed.
+find_path(CELIX_BUNDLES_DIR shell.zip
+ PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
+ PATH_SUFFIXES share/celix/bundles)
+
+
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set CELIX_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(CELIX DEFAULT_MSG
- CELIX_FRAMEWORK_LIBRARY CELIX_UTILS_LIBRARY CELIX_INCLUDE_DIR CELIX_LAUNCHER)
-mark_as_advanced(CELIX_INCLUDE_DIR CELIX_FRAMEWORK_LIBRARY CELIX_UTILS_LIBRARY CELIX_LAUNCHER)
+ CELIX_FRAMEWORK_LIBRARY CELIX_UTILS_LIBRARY CELIX_INCLUDE_DIR CELIX_LAUNCHER CELIX_CMAKECELIX_FILE)
+mark_as_advanced(CELIX_INCLUDE_DIR CELIX_FRAMEWORK_LIBRARY CELIX_UTILS_LIBRARY CELIX_LAUNCHER CELIX_CMAKECELIX_FILE)
if(CELIX_FOUND)
set(CELIX_LIBRARIES ${CELIX_FRAMEWORK_LIBRARY} ${CELIX_UTILS_LIBRARY})
set(CELIX_INCLUDE_DIRS ${CELIX_INCLUDE_DIR})
+ include(${CELIX_CMAKECELIX_FILE})
endif()
Modified: celix/trunk/cmake/cmake_celix/Packaging.cmake
URL: http://svn.apache.org/viewvc/celix/trunk/cmake/cmake_celix/Packaging.cmake?rev=1623876&r1=1623875&r2=1623876&view=diff
==============================================================================
--- celix/trunk/cmake/cmake_celix/Packaging.cmake (original)
+++ celix/trunk/cmake/cmake_celix/Packaging.cmake Tue Sep 9 20:03:56 2014
@@ -336,15 +336,25 @@ MACRO(deploy)
FOREACH(BUNDLE ${DEPLOY_BUNDLES})
SET(DEP_NAME ${DEPLOY_NAME}_${BUNDLE})
- get_property(bundle_file TARGET ${BUNDLE} PROPERTY BUNDLE)
- add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/deploy/${DEPLOY_NAME}/bundles/${BUNDLE}.zip
- COMMAND ${CMAKE_COMMAND} -E copy ${bundle_file}
- ${CMAKE_CURRENT_BINARY_DIR}/deploy/${DEPLOY_NAME}/bundles/${BUNDLE}.zip
- DEPENDS ${BUNDLE}
- COMMENT "Deploying ${BUNDLE} to ${DEPLOY_NAME}"
- )
- SET(BUNDLES "${BUNDLES} bundles/${BUNDLE}.zip")
- SET(DEPS ${DEPS};${CMAKE_CURRENT_BINARY_DIR}/deploy/${DEPLOY_NAME}/bundles/${BUNDLE}.zip)
+ IF(EXISTS ${BUNDLE}) #it is a full path not a bundle name (e.g. a target)
+ get_filename_component(BUNDLE_NAME ${BUNDLE} NAME_WE)
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/deploy/${DEPLOY_NAME}/bundles/${BUNDLE_NAME}.zip
+ COMMAND ${CMAKE_COMMAND} -E copy ${BUNDLE}
+ ${CMAKE_CURRENT_BINARY_DIR}/deploy/${DEPLOY_NAME}/bundles/${BUNDLE_NAME}.zip
+ COMMENT "Deploying ${BUNDLE} to ${DEPLOY_NAME}"
+ )
+ ELSE()
+ set(BUNDLE_NAME ${BUNDLE})
+ get_property(bundle_file TARGET ${BUNDLE} PROPERTY BUNDLE)
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/deploy/${DEPLOY_NAME}/bundles/${BUNDLE}.zip
+ COMMAND ${CMAKE_COMMAND} -E copy ${bundle_file}
+ ${CMAKE_CURRENT_BINARY_DIR}/deploy/${DEPLOY_NAME}/bundles/${BUNDLE}.zip
+ DEPENDS ${BUNDLE}
+ COMMENT "Deploying ${BUNDLE} to ${DEPLOY_NAME}"
+ )
+ ENDIF()
+ SET(BUNDLES "${BUNDLES} bundles/${BUNDLE_NAME}.zip")
+ SET(DEPS ${DEPS};${CMAKE_CURRENT_BINARY_DIR}/deploy/${DEPLOY_NAME}/bundles/${BUNDLE_NAME}.zip)
ENDFOREACH(BUNDLE)
FOREACH(BUNDLE ${DEPLOY_DRIVERS})