summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-10-23Improving readabilityRomain Forlot4-100/+191
Change-Id: I2f14f0304a5f40ddb146d779bc5c3aad94d872b6 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-23Add another mode to build a test widgetRomain Forlot1-6/+2
By default, the test widget is built using a cmake option, this commit adds the ability to use makefile target to build it. Change-Id: I2691c7e4549190bd7594387eacf6cb8344ecf9c1 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-23cmake: coverage: disable compiler optimization for COVERAGE buildMatt Ranostay1-1/+1
Switch to -O0 compile option to allow more accurate coverage reports that function inlining and OOO execution can skew. Bug-AGL: SPEC-1807 Change-Id: If3ea7e9fe931ac9087d4c4966d0b3ca77308eaf7 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-10-23Improved test widget launcher scriptRomain Forlot1-17/+7
Improved test widget launcher script which calls verb synchronously and therefore we can correctly detect the end of the test session and exit. Change-Id: I66e404cfe1a25f1986bc722572efa93979d43bc2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-23set default link flags to the target propertyRomain Forlot1-0/+9
set default link flags to the target property for binding target. Change-Id: I12387d310abd993a5a3861f04c7bc0cef941d2b7 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-23Use a custom test-config.xml file for test widgetRomain Forlot3-6/+12
Change-Id: I2c71f5cd1bbfa6d6e2d2c48aaf004b24811dbee1 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-23Convert app-templates to a cmake moduleRomain Forlot10-72/+105
- Changes PATH to find correctly all cmake files. - Clean useless code now it's integrated as CMake module - Clean variable usage - Create module entry point Bugs-AGL: SPEC-1682 Change-Id: I6943129677603b786c7144a92880d82795a916cd Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15common.cmake: fixed erroneous search path for os-releaseThierry Bultel1-1/+1
Change-Id: I20eb2c342e33d838b9f8c80b7ec93c32794b4eeb Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-10-15Fix: missing gcov symbol in compiled binariesRomain Forlot1-2/+2
Missing link option because of a wrong test against CMAKE_BUILD_TYPE value. Change-Id: I3b0a4cb090f4c53df8868a5f757a11f6046b3e3e Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15app-templates doc: Changed doc to fit new format.CorentinLGS12-934/+1
-Split book.json in 2. -Deleted unwanted files. Change-Id: Idaa2bc838917cade2b3ff1848e21415acae72aec Signed-off-by: CorentinLGS <corentinlgs@gmail.com>
2018-10-15Update DocsRomain Forlot2-26/+92
Change-Id: If1c1e14233a765058a372fc25a88b21e8824f4d7 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix: typoRomain Forlot1-1/+1
Change-Id: I3a27495d637960699d34e972aae2cd1655d6a6da Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Rollback about TEST build typeRomain Forlot4-28/+28
This implies to much side effects over a complete AGL image build. So it's better to not affect the CMAKE_BUILD_TYPE variable to determine wether or not the test WGT file is generated. Change-Id: I77e8bdb085d164a4dd387ac48c425c011840473b Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Adding a TEST build typeRomain Forlot2-32/+17
Change-Id: Id2a2ede0f01bfc48757904f43b01e52a1c8b110d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Change default compilation options.Romain Forlot2-6/+24
This changes the default build type to RELEASE as it would be built using Yocto. Debug build should be activated if needed temporary as the other type: coverage and profiling. Doing this you are able to detect compilation error that would happens when building with Yocto and if you need to debug your program you only need to recompile changing temporary the build type to DEBUG. Bugs-AGL: SPEC-1644 Change-Id: I1823509a1a48415d3d440dd84d1e43ef48736ebe Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Test widget only if there are test materialsRomain Forlot1-5/+13
This checks if there is a target with a TEST LABELS property which would indicate that there is something to pack in the test widget, else it would generate an empty and useless test widget. Change-Id: If2a3eb32762f5d62877ea19faed70d4b6e68a0a0 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Handles more test LABELS.Romain Forlot1-2/+22
You may need everything except for a binding since the afb-test binding offers the possibility to emulate other Apis. Or you can rely on platform binding if needed but developping bindings only used for testing purpose isn't a good solution and should be avoided. Change-Id: I39e1a43bbe4d73b36f0155913125f0df837d2ec5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Missing flag for COVERAGE build typeRomain Forlot1-0/+3
Change-Id: Icebe1850e5949c277722ac83958f73c0eed493c7 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Create a test widgetRomain Forlot6-25/+188
Create a test widget in addition of the normal one when you use any build type except of RELEASE. This widget will only provide the test files (configuration + test + fixtures ...). It joins the test framework binding to your binding or app then you only have to access to your defined test API and launch the tests. The entry point is a bash script which is in charge to launch all tests it finds. Change-Id: I8f4a670f17fd4e4319c53a861074fb5e10b63aad Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix: interpreted '&' characterRomain Forlot1-1/+1
Use of '&' in CLOSING_MESSAGE is incorrectly interpreted by cmake which tries to launch the afb-daemon when using the autobuild script. This is not a problem since the build is finished but that produces unwanted warning messages. Change-Id: I910538c80539bbe6ec63cf42a7642506821bb33b Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15More accurate comment about widget template file.Romain Forlot1-8/+8
Also remove an unused variable. Change-Id: Idd6b67b5d302dd489dd15797355507a08912206d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Align sample on actual default compile optionsRomain Forlot1-1/+1
Change-Id: Ie46fe389c22dabb4bc7081be4dcafb2fc37a6951 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Add support to binding version 3.Romain Forlot1-4/+13
Add a new LABELS "BINDINGV3" to handle the v3 case. This implies the same things than for v2 but generates the API definition using the new version capabilities through afb-genskel tool. Change-Id: Ib7b60f3f79c3634f27c90b2f9bf4aaf5b3ef2fcb Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Warning if not using wgtpkg-pack to make a widgetRomain Forlot1-1/+6
Also use zip host command instead of embedded CMake zip command which could not be unzipped on a board. Using the host zip command it allows to build the wgt file as a zip archive but it can't be installed using afm-util like a real widget file but could still be unzipped manually. Change-Id: I5e13c27164294d99de1918df8d84cb04fc439317 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Rework CMAKE_INSTALL_PREFIX and INSTALL_PREFIX varSebastien Douheret2-5/+4
Following change ID 1ec753146f, CMAKE_INSTALL_PREFIX has been replaced by INSTALL_PREFIX. So differ CMAKE_PREFIX_PATH and LD_LIBRARY_PATH setting in 03-macros in order to be sure that CMAKE_INSTALL_PREFIX has been set correctly. Change-Id: I6effcaaab658fd24c929cd4a30fa38ad8f4df145 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-10-15Be able to overwrite BUILD_TYPE using CLIRomain Forlot2-2/+9
If not defined using CLI CMake set the variable CMAKE_BUILD_TYPE to an empty value. As it is a CACHE variable it can't be overwritten except if you force it. This fix setting this variable the first defined value wins: CLI > Config.cmake > Default value (DEBUG) Change-Id: I7ff3c9063febf71b898fa7f19058ce2fb25fae01 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Use CACHE variable for other common CMAKE variableRomain Forlot3-3/+11
This is done to be able to overwite from CLI those variables. CMAKE_INSTALL_PREFIX is a special case since it is set by default to '/usr/local' at CMake invocation. So overwriting by CLI is fine but set it up using config.cmake file not. So since CMake v3.7 there is a variable to know if this variable has been set by default or not. Change-Id: I60c5161fa9a4134d100ef709d0966d599871ad44 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix:: wrong wgt using RELEASE BUILD TYPERomain Forlot1-0/+2
The wgt filename is suffixed with the build type except for RELEASE build type. In this case, the name wasn't set. This fix this issue. Change-Id: I5a0be07c5f380676ba9ecfdd1b51ebab95aca3dd Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix: SYSROOT location detection... Wrong test.Romain Forlot1-1/+1
Change-Id: I8c783cf3bc966b2bec54cab98de97f1e47d3b54c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Change the default debug compilation options.Romain Forlot1-4/+27
Because fortify source need optimization then the most correct optimization to chose is -0g for debugging purpose. Also be able to specify options for Clang which could differ slightly from GNU. Change-Id: I166c0cb62cbf9fc171cffc29c29df993f5ccb8f5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Clearer coverage compilation options configurationRomain Forlot2-11/+12
Rename CCOV to COVERAGE to make it more clearer which compilation profile use and add a suffix to the built widget name except for the RELEASE built type which output the normal name. Change-Id: Ied0dfb47c25402c4146ebb190d65d17cff9ec360 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Don't overwrite the autobuild script if it existsRomain Forlot1-3/+7
Bug-AGL: SPEC-1529 Change-Id: I0c048e8bfe4f8eb23f31fb22808168b706cf12f8 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Disable the in-tree build method.Romain Forlot1-0/+2
In-tree build could lead to problems and is not recommended because only one-setup, generated files spread over the project tree, clean is a pain in the ass and it just trash completely your git repo... Bug-AGL: SPEC-1534 Change-Id: I68cfd0e03933d87db7f6b2bdb88f22ddd94c2b98 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Detect Yocto as OS distributionRomain Forlot1-1/+2
When you are in a Yocto Environment there isn't os-release file, so if the Yocto env is detected then position manually the OSRELEASE variable to yocto-build. Change-Id: I10029664100bb73aa74eaa85c1a4295c4ab65428 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix: wrong compile options addedRomain Forlot1-3/+0
Change-Id: I697e3812be657abc0b1877e55044225cc001c93e Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fallback using zip format if no wgtpkg-pack foundRomain Forlot1-1/+11
wgtpkg-pack tool is part of "application-framework-main" project and not mandatory when developing natively. As a wgt package is a zip file then use the zip format to simulate a real wgt package. Change-Id: If2d5a86e93b9c9dc707658b2367f59a7824eddf6 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-1502-variables.cmake: Avoid checking CXX version if not requiredJosé Bollo1-1/+1
Change-Id: Id5a8987d3222df9cfaa258cdce8353dad6ca9a4a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-10-15config.cmake.sample: Remove dependency to libsystemdJosé Bollo1-1/+4
The dependency to libsystemd isn't strictly required. Change-Id: I763e6a8d63af921c25c8dfdfb2d2021671dfd9d2 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-10-15config.cmake.sample: Remove dependency to libmicrohttpdJosé Bollo1-1/+0
The dependency to libmlicrohttpd is a fake. Just remove it! Change-Id: I511acc0ea9207aa973aac28fe02b1262ad8a47c2 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-10-15Added -D_FORTIFY_SOURCE=2 to CFLAGSThierry Bultel2-6/+7
Added this option, to match the given ones when building from yocto with bitbake. Also fixed the sample example, and some copy-paste issues on build targets (RELEASE/DEBUG/PROFILING/CCOV). Change-Id: I759305e54d427e6763f32b1a86207fe35add1b3f Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-10-15start-on-target: uses RSYNC_PREFIX path for configThierry Bultel1-1/+11
Bindings using the controller need to have a right base search path for the config files, loaded plugins, and other extra files (lua, for instance). Therefore, in the development workflow here, where the binding is uploaded to the target at a typically unsusual location, the afb-daemon is given the RSYNC_PREFIX/etc as a base through the CONFIG_CONTROL_PATH env variable. Change-Id: Ieb39174918f0d51985e1d63b9f7c6509a05f284a Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-10-15Fixed spelling.Sebastien Douheret1-13/+13
Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-10-15Improve OS detectionRomain Forlot1-4/+11
Every distribution name detected in ID_LIKE field could be used. Change-Id: I767b1bb20521248b30269955ce6a15912a62df33 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix: OS detectionRomain Forlot1-1/+1
Change-Id: Idcf5e85bfeab4edf1dbf52b6a0e3470ad350f939 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Launch from workdirRomain Forlot1-1/+1
This will ensure we are to be able to correctly debug with GDB. Indeed workdir afb-daemon parameter need to be set at the current dir to correctly retrieve source files path for GDB Change-Id: Ib59e80ec48314d5d58e033d894314d0bd676fb85 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Change closing that could fix native debuggingRomain Forlot1-1/+1
Change-Id: I5b1f48d2ad70bb5903e13e1df76d523ee12a52b1 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix filename pattern to match .cmake filesRomain Forlot1-1/+1
Change-Id: I1c659045f178f5e45d31b0203abcd91485b55838 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Adding cmake file at the root directoryRomain Forlot1-0/+2
It may be needed to include additionnal files from the root dir as populate and remote_target_populate targets are created at inclusion parts you can't adds target using app-template macros after the config.cmake first inclusion. Change-Id: I92a98d997aa239ab56183da8dc95f6db993c17a2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Adds commit hash to the version.Romain Forlot1-1/+10
Added the short hash coming from git lastest git commit to the version number. In addition of the dirty flag it make possible to know from where modifications divergences begin. Change-Id: Id25256f896c8179009d8588f79e7801cc2c90821 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Change default sample settings.Romain Forlot1-2/+2
No needs to force CMAKE build type to debug as it's the default. Only kept for convenience if needed to specify other build type. Change-Id: Idf88f09eebf6ab4defe070b7df23ebf769861c63 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>