From c326a053cdf8a4a9ce0fb02448293b45083d553c Mon Sep 17 00:00:00 2001 From: fulup Date: Sat, 1 Jul 2017 00:22:00 +0200 Subject: Ongoing work --- conf.d/app-templates | 2 +- conf.d/autobuild/agl/autobuild | 47 ++++++++++++++ conf.d/autobuild/linux/autobuild | 47 ++++++++++++++ conf.d/cmake/config.cmake | 134 +++++++++++++++++++++++++++++++++++++++ conf.d/config.cmake | 122 ----------------------------------- 5 files changed, 229 insertions(+), 123 deletions(-) create mode 100755 conf.d/autobuild/agl/autobuild create mode 100755 conf.d/autobuild/linux/autobuild create mode 100644 conf.d/cmake/config.cmake delete mode 100644 conf.d/config.cmake (limited to 'conf.d') diff --git a/conf.d/app-templates b/conf.d/app-templates index 0d3bfaf..011277d 160000 --- a/conf.d/app-templates +++ b/conf.d/app-templates @@ -1 +1 @@ -Subproject commit 0d3bfaf0888cb350f8721db4a4115ecb8dc4f005 +Subproject commit 011277d2af3cfee674b50fa8a7362e91e8ad29e8 diff --git a/conf.d/autobuild/agl/autobuild b/conf.d/autobuild/agl/autobuild new file mode 100755 index 0000000..31e29f7 --- /dev/null +++ b/conf.d/autobuild/agl/autobuild @@ -0,0 +1,47 @@ +#!/usr/bin/make -f +# Copyright (C) 2015, 2016 "IoT.bzh" +# Author "Romain Forlot" +# +# Licensed 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. + +THISFILE := $(lastword $(MAKEFILE_LIST)) +BUILD_DIR := $(abspath $(dir $(THISFILE)/../../../../..)/build) + +.PHONY: all clean distclean configure build package + +all: build + +clean: + @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} clean) || echo Nothing to clean + +distclean: + @rm -rf ${BUILD_DIR} + +configure: ${BUILD_DIR}/Makefile + +build: configure + @cmake --build ${BUILD_DIR} ${BUILD_ARGS} --target all + +package: build + @mkdir -p ${BUILD_DIR}/$@/bin + @mkdir -p ${BUILD_DIR}/$@/etc + @mkdir -p ${BUILD_DIR}/$@/lib + @mkdir -p ${BUILD_DIR}/$@/htdocs + @mkdir -p ${BUILD_DIR}/$@/data + @[ "${DEST}" ] && mkdir -p ${DEST} + @cmake --build ${BUILD_DIR} --target widget + @[ "${DEST}" ] && cp ${BUILD_DIR}/*wgt ${DEST} + +${BUILD_DIR}/Makefile: + @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR} + @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CONFIGURE_ARGS} ..) diff --git a/conf.d/autobuild/linux/autobuild b/conf.d/autobuild/linux/autobuild new file mode 100755 index 0000000..31e29f7 --- /dev/null +++ b/conf.d/autobuild/linux/autobuild @@ -0,0 +1,47 @@ +#!/usr/bin/make -f +# Copyright (C) 2015, 2016 "IoT.bzh" +# Author "Romain Forlot" +# +# Licensed 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. + +THISFILE := $(lastword $(MAKEFILE_LIST)) +BUILD_DIR := $(abspath $(dir $(THISFILE)/../../../../..)/build) + +.PHONY: all clean distclean configure build package + +all: build + +clean: + @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} clean) || echo Nothing to clean + +distclean: + @rm -rf ${BUILD_DIR} + +configure: ${BUILD_DIR}/Makefile + +build: configure + @cmake --build ${BUILD_DIR} ${BUILD_ARGS} --target all + +package: build + @mkdir -p ${BUILD_DIR}/$@/bin + @mkdir -p ${BUILD_DIR}/$@/etc + @mkdir -p ${BUILD_DIR}/$@/lib + @mkdir -p ${BUILD_DIR}/$@/htdocs + @mkdir -p ${BUILD_DIR}/$@/data + @[ "${DEST}" ] && mkdir -p ${DEST} + @cmake --build ${BUILD_DIR} --target widget + @[ "${DEST}" ] && cp ${BUILD_DIR}/*wgt ${DEST} + +${BUILD_DIR}/Makefile: + @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR} + @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CONFIGURE_ARGS} ..) diff --git a/conf.d/cmake/config.cmake b/conf.d/cmake/config.cmake new file mode 100644 index 0000000..e9367bc --- /dev/null +++ b/conf.d/cmake/config.cmake @@ -0,0 +1,134 @@ +########################################################################### +# Copyright 2015, 2016, 2017 IoT.bzh +# +# author: Fulup Ar Foll +# +# Licensed 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. +########################################################################### + +# Project Info +# ------------------ +set(PROJECT_NAME unicens-agent) +set(PROJECT_VERSION "0.1") +set(PROJECT_PRETTY_NAME "Audio Agent") +set(PROJECT_DESCRIPTION "Expose Alsa through AGL AppFw") +set(PROJECT_URL "https://github.com/iotbzh/audio-bindings") +set(PROJECT_ICON "icon.png") +set(PROJECT_AUTHOR "Fulup, Ar Foll") +set(PROJECT_AUTHOR_MAIL "fulup@iot.bzh") +set(PROJECT_LICENCE "Apache-V2") +set(PROJECT_LANGUAGES,"C") + + +# Where are stored default templates files from submodule or subtree app-templates in your project tree +# relative to the root project directory +set(PROJECT_APP_TEMPLATES_DIR "conf.d/app-templates") + +# Use any directory that does not start with _ as valid source rep +set(PROJECT_SRC_DIR_PATTERN "[^_]*") + +# Compilation Mode (AFB_DEBUG, RELEASE) +# ---------------------------------- +set(CMAKE_BUILD_TYPE "AFB_DEBUG") + +# Static constante definition +# ----------------------------- +add_compile_options(-DMAX_SND_CARD=16) + +# Compiler selection if needed. Overload the detected compiler. +# ----------------------------------------------- +set (gcc_minimal_version 4.9) +#set(CMAKE_C_COMPILER "gcc") +#set(CMAKE_CXX_COMPILER "g++") + +# PKG_CONFIG required packages +# ----------------------------- +set (PKG_REQUIRED_LIST + alsa + libsystemd>=222 + libmicrohttpd>=0.9.54 + afb-daemon + json-c +) + +# LANG Specific compile flags set for all build types +# set(CMAKE_C_FLAGS "") +# set(CMAKE_CXX_FLAGS "") + +# Do not optimise when debugging +set(CMAKE_C_FLAGS_DEBUG "-g -ggdb -Wp,-U_FORTIFY_SOURCE") + +# Define CONTROL_CDEV_NAME should match MOST driver values +# --------------------------------------------------------- + add_compile_options(-DCONTROL_CDEV_TX="/dev/inic-usb-ctx") + add_compile_options(-DCONTROL_CDEV_RX="/dev/inic-usb-crx") + +# Print a helper message when every thing is finished +# ---------------------------------------------------- +set(CLOSING_MESSAGE "Debug in ./buid: afb-daemon --port=1234 --ldpaths=. --workdir=. --roothttp=../htdocs --tracereq=common --token='' --verbose") + +# (BUG!!!) as PKG_CONFIG_PATH does not work [should be an env variable] +# --------------------------------------------------------------------- +set(INSTALL_PREFIX $ENV{HOME}/opt) +set(CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}/lib64/pkgconfig ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig) +set(LD_LIBRARY_PATH ${CMAKE_INSTALL_PREFIX}/lib64 ${CMAKE_INSTALL_PREFIX}/lib) + +# Optional dependencies order +# --------------------------- +#set(EXTRA_DEPENDENCIES_ORDER) + +# Optional Extra global include path +# ----------------------------------- +# set(EXTRA_INCLUDE_DIRS) + +# Optional extra libraries +# ------------------------- +# set(EXTRA_LINK_LIBRARIES) + +# Optional force binding installation +# ------------------------------------ +# set(BINDINGS_INSTALL_PREFIX PrefixPath ) + +# Optional force widget prefix generation +# ------------------------------------------------ +# set(WIDGET_PREFIX DestinationPath) + +# Optional Widget entry point file. +# --------------------------------------------------------- +# This is the file that will be executed, loaded,... +# at launch time by the application framework + +# set(WIDGET_ENTRY_POINT EntryPoint_Path) + +# Optional Widget Mimetype specification +# -------------------------------------------------- +# Choose between : +# - application/x-executable +# - application/vnd.agl.url +# - application/vnd.agl.service +# - application/vnd.agl.native +# - text/vnd.qt.qml +# - application/vnd.agl.qml +# - application/vnd.agl.qml.hybrid +# - application/vnd.agl.html.hybrid +# +set(WIDGET_TYPE application/vnd.agl.service) + +# Optional force binding Linking flag +# ------------------------------------ +# set(BINDINGS_LINK_FLAG LinkOptions ) + +# This include is mandatory and MUST happens at the end +# of this file, else you expose you to unexpected behavior +# ----------------------------------------------------------- +include(${PROJECT_APP_TEMPLATES_DIR}/cmake/common.cmake) diff --git a/conf.d/config.cmake b/conf.d/config.cmake deleted file mode 100644 index 8ced9f6..0000000 --- a/conf.d/config.cmake +++ /dev/null @@ -1,122 +0,0 @@ -########################################################################### -# Copyright 2015, 2016, 2017 IoT.bzh -# -# author: Fulup Ar Foll -# -# Licensed 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. -########################################################################### - -# Project Info -# ------------------ -set(PROJECT_NAME unicens-agent) -set(PROJECT_VERSION "0.1") -set(PROJECT_PRETTY_NAME "Audio Agent") -set(PROJECT_DESCRIPTION "Expose Alsa through AGL AppFw") -set(PROJECT_URL "https://github.com/iotbzh/audio-bindings") -set(PROJECT_ICON "icon.png") -set(PROJECT_AUTHOR "Fulup, Ar Foll") -set(PROJECT_AUTHOR_MAIL "fulup@iot.bzh") -set(PROJECT_LICENCE "Apache-V2") -set(PROJECT_LANGUAGES,"C") - -# Where are stored default templates files from submodule or subtree app-templates in your project tree -# relative to the root project directory -set(PROJECT_APP_TEMPLATES_DIR "conf.d/app-templates") - -# Compilation Mode (DEBUG, RELEASE) -# ---------------------------------- -set(CMAKE_BUILD_TYPE "DEBUG") - -# Static constante definition -# ----------------------------- -add_compile_options(-DMAX_SND_CARD=16) - -# Compiler selection if needed. Overload the detected compiler. -# ----------------------------------------------- -set (gcc_minimal_version 4.9) -#set(CMAKE_C_COMPILER "gcc") -#set(CMAKE_CXX_COMPILER "g++") - -# PKG_CONFIG required packages -# ----------------------------- -set (PKG_REQUIRED_LIST - alsa - libsystemd>=222 - libmicrohttpd>=0.9.54 - afb-daemon - json-c -) - -# LANG Specific compile flags set for all build types -# set(CMAKE_C_FLAGS "") -# set(CMAKE_CXX_FLAGS "") - -# Define CONTROL_CDEV_NAME should match MOST driver values -# --------------------------------------------------------- - add_compile_options(-DCONTROL_CDEV_TX="/dev/inic-usb-ctx") - add_compile_options(-DCONTROL_CDEV_RX="/dev/inic-usb-crx") - -# Print a helper message when every thing is finished -# ---------------------------------------------------- -set(CLOSING_MESSAGE "Test with: afb-daemon --ldpaths=. --port=1234 --workdir=.. --roothttp=./htdocs --tracereq=common --token='' --verbose") - -# (BUG!!!) as PKG_CONFIG_PATH does not work [should be an env variable] -# --------------------------------------------------------------------- -set(INSTALL_PREFIX $ENV{HOME}/opt) -set(CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}/lib64/pkgconfig ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig) -set(LD_LIBRARY_PATH ${CMAKE_INSTALL_PREFIX}/lib64 ${CMAKE_INSTALL_PREFIX}/lib) - -# Optional dependencies order -# --------------------------- -#set(EXTRA_DEPENDENCIES_ORDER) - -# Optional Extra global include path -# ----------------------------------- -# set(EXTRA_INCLUDE_DIRS) - -# Optional extra libraries -# ------------------------- -# set(EXTRA_LINK_LIBRARIES) - -# Optional force binding installation -# ------------------------------------ -# set(BINDINGS_INSTALL_PREFIX PrefixPath ) - -# Optional force widget prefix generation -# ------------------------------------------------ -# set(WIDGET_PREFIX DestinationPath) - -# Optional Widget entry point file. -# --------------------------------------------------------- -# This is the file that will be executed, loaded,... -# at launch time by the application framework - -# set(WIDGET_ENTRY_POINT EntryPoint_Path) - -# Optional Widget Mimetype specification -# -------------------------------------------------- -# Choose between : -# - application/x-executable -# - application/vnd.agl.url -# - application/vnd.agl.service -# - application/vnd.agl.native -# - text/vnd.qt.qml -# - application/vnd.agl.qml -# - application/vnd.agl.qml.hybrid -# - application/vnd.agl.html.hybrid -# -set(WIDGET_TYPE application/vnd.agl.service) - -# Optional force binding Linking flag -# ------------------------------------ -# set(BINDINGS_LINK_FLAG LinkOptions ) -- cgit 1.2.3-korg