X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=cmake%2Fcommon.cmake;h=524e023440b404c63a8d3a4163890d4a8314b8dc;hb=1b16a2806eb6a22be45468771f7e72700112d1de;hp=1d43a73e4401bc5ec1cce800284e4c5fc5e8a827;hpb=2de0f6ce0d934bad9a80908bbc4a93a837f20eeb;p=staging%2Fxdg-launcher.git diff --git a/cmake/common.cmake b/cmake/common.cmake index 1d43a73..524e023 100644 --- a/cmake/common.cmake +++ b/cmake/common.cmake @@ -52,6 +52,10 @@ macro(PROJECT_TARGET_ADD TARGET_NAME) set(TARGET_NAME ${TARGET_NAME}) endmacro(PROJECT_TARGET_ADD) +macro(PROJECT_PKGDEP_ADD PKG_NAME) + set_property(GLOBAL APPEND PROPERTY PROJECT_PKG_DEPS ${PKG_NAME}) +endmacro(PROJECT_PKGDEP_ADD) + # Check GCC minimal version if (gcc_minimal_version) message (STATUS "${Blue}-- Check gcc_minimal_version (found gcc version ${CMAKE_C_COMPILER_VERSION}) (found g++ version ${CMAKE_CXX_COMPILER_VERSION})${ColourReset}") @@ -155,12 +159,12 @@ macro(remote_targets_populate) ) if(NOT RSYNC_TARGET OR NOT RSYNC_PREFIX) - message (".. Warning: RSYNC_TARGET RSYNC_PREFIX not defined 'make remote-target-populate' not instanciated") + message ("${Yellow}.. Warning: RSYNC_TARGET RSYNC_PREFIX not defined 'make remote-target-populate' not instanciated${ColourReset}") add_custom_target(remote-target-populate - COMMENT "*** Fatal: RSYNC_TARGET RSYNC_PREFIX required with 'make remote-target-populate'" + COMMENT "${Red}*** Fatal: RSYNC_TARGET RSYNC_PREFIX environment variables required with 'make remote-target-populate'${ColourReset}" COMMAND exit -1 ) - else() + else() configure_file(${SSH_TEMPLATE_DIR}/start-on-target.in ${CMAKE_CURRENT_BINARY_DIR}/target/start-on-${RSYNC_TARGET}.sh) configure_file(${GDB_TEMPLATE_DIR}/gdb-on-target.in ${CMAKE_CURRENT_BINARY_DIR}/target/gdb-on-${RSYNC_TARGET}.ini) @@ -168,7 +172,7 @@ macro(remote_targets_populate) add_custom_target(remote-target-populate DEPENDS populate COMMAND chmod +x ${CMAKE_CURRENT_BINARY_DIR}/target/start-on-${RSYNC_TARGET}.sh - COMMAND rsync --archive --delete ${PROJECT_PKG_DIR}/ ${RSYNC_TARGET}:${RSYNC_PREFIX}/${PROJECT_NAME} + COMMAND rsync --archive --delete ${PROJECT_PKG_BUILD_DIR}/ ${RSYNC_TARGET}:${RSYNC_PREFIX}/${PROJECT_NAME} COMMENT "${REMOTE_LAUNCH}" ) endif() @@ -239,25 +243,27 @@ macro(rpm_package_build) endmacro(rpm_package_build) macro(project_package_build) - if(EXISTS ${TEMPLATE_RPM_DIR}) + if(EXISTS ${RPM_TEMPLATE_DIR}) rpm_package_build() endif() - if(EXISTS ${TEMPLATE_WGT_DIR}) + if(EXISTS ${WGT_TEMPLATE_DIR}) wgt_package_build() endif() - if(EXISTS ${TEMPLATE_DEB_DIR}) + if(EXISTS ${DEB_TEMPLATE_DIR}) deb_package_build() endif() endmacro(project_package_build) macro(project_subdirs_add) - if(${ARGV0}) + set (ARGSLIST ${ARGN}) + list(LENGTH ARGSLIST ARGSNUM) + if(${ARGSNUM} GREATER 0) file(GLOB filelist "${ARGV0}") else() - file(GLOB filelist "*") - endif(${ARGV0}) + file(GLOB filelist "*") + endif() foreach(filename ${filelist}) if(EXISTS "${filename}/CMakeLists.txt") @@ -276,6 +282,9 @@ project(${PROJECT_NAME} VERSION ${PROJECT_VERSION} LANGUAGES ${PROJECT_LANGUAGES set(PROJECT_LIBDIR "${CMAKE_SOURCE_DIR}/libs" CACHE PATH "Subpath to libraries") set(PROJECT_RESOURCES "${CMAKE_SOURCE_DIR}/data" CACHE PATH "Subpath to data") +set(AFB_TOKEN "" CACHE PATH "Default AFB_TOKEN") +set(AFB_REMPORT "1234" CACHE PATH "Default AFB_TOKEN") + INCLUDE(FindPkgConfig) INCLUDE(CheckIncludeFiles) INCLUDE(CheckLibraryExists) @@ -344,18 +353,20 @@ if(PACKAGE_PREFIX) else() set(PROJECT_PKG_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/package CACHE PATH "Where the package will be built") endif() -set(PROJECT_PKG_ENTRY_POINT ${CMAKE_SOURCE_DIR}/packaging CACHE PATH "Where package build files, like rpm.spec file or config.xml, are write.") -set (PKG_TEMPLATE_PREFIX ${CMAKE_SOURCE_DIR}/etc CACHE PATH "Default Package Templates Directory") -set(SSH_TEMPLATE_DIR ${PKG_TEMPLATE_PREFIX}/ssh) -set(GDB_TEMPLATE_DIR ${PKG_TEMPLATE_PREFIX}/gdb) -set(TEMPLATE_WGT_DIR "${CMAKE_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/default/wgt" CACHE PATH "Subpath to a directory where are stored needed files to build widget") -set(TEMPLATE_RPM_DIR "${CMAKE_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/default/rpm" CACHE PATH "Subpath to a directory where are stored needed files to build rpm package") -set(TEMPLATE_DEB_DIR "${CMAKE_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/default/deb" CACHE PATH "Subpath to a directory where are stored needed files to build deb package") +set (PKG_TEMPLATE_PREFIX ${CMAKE_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR} CACHE PATH "Default Package Templates Directory") +set(SSH_TEMPLATE_DIR "${PKG_TEMPLATE_PREFIX}/ssh" CACHE PATH "Subpath to a directory where are stored needed files to launch on remote target to debuging purposes") +set(GDB_TEMPLATE_DIR "${PKG_TEMPLATE_PREFIX}/gdb" CACHE PATH "Subpath to a directory where are stored needed files to launch debuging server on a remote target. Use gdbserver.") +set(WGT_TEMPLATE_DIR "${PKG_TEMPLATE_PREFIX}/wgt" CACHE PATH "Subpath to a directory where are stored needed files to build widget") +set(RPM_TEMPLATE_DIR "${PKG_TEMPLATE_PREFIX}/rpm" CACHE PATH "Subpath to a directory where are stored needed files to build rpm package") +set(DEB_TEMPLATE_DIR "${PKG_TEMPLATE_PREFIX}/deb" CACHE PATH "Subpath to a directory where are stored needed files to build deb package") + +string(REGEX REPLACE "^(.*)/.*$" "\\1" ENTRY_POINT "${PKG_TEMPLATE_PREFIX}") +set(PROJECT_PKG_ENTRY_POINT ${ENTRY_POINT}/packaging CACHE PATH "Where package build files, like rpm.spec file or config.xml, are write.") # Default Linkflag if(NOT BINDINGS_LINK_FLAG) - set(BINDINGS_LINK_FLAG "-Wl,--version-script=${CMAKE_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/default/cmake/export.map") + set(BINDINGS_LINK_FLAG "-Wl,--version-script=${PKG_TEMPLATE_PREFIX}/cmake/export.map") endif() # Add a dummy target to enable global dependency order