summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-11-06Adding packaging filesRomain Forlot40-3/+95
Change-Id: I70d30588c59e6a0d3c451c74fc6cc565b5eea167 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-11-06Merge "Fix: missing files in test widget"Stéphane Desneux1-1/+3
2018-11-06Upgrade the autobuild scriptRomain Forlot3-28/+44
This update the autobuild script generated by the CMakeAfbTemplates module making clearer build dir variable and change the way to build using the classic way with cmake .. ; make etc. Remove also an intermediate target that wasn't needed. Change the directory where the autobuild script is generated. Added a README instruction about the autobuild script coming from the SPEC-495 description Change-Id: I24905b348adbdba2dca5ffa146812461a4030690 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-11-02Fix: missing files in test widgetRomain Forlot1-1/+3
Adds the config.xml file and the test launcher script in the widget when built using the test_widget target. Without config.xml file the widget can't be installed. Change-Id: Iaedfcef49ae0d6748e55f6fa5e07d373124ed078 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-11-02Install the module in the system cmake pathRomain Forlot1-9/+3
Change-Id: Ib9a826842d9ce88e27eb564fd9fee9725c161ed2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-30Select the test set to runRomain Forlot1-7/+26
The widget launcher script has been modified to use the environment variable VERBSELECTED and VERBARGS. Then you are able to select a test set defined by the testVerb configuration section in your JSON configuration file. You can also use the special argument {'lavaOutput': true} to enable specials Lava markers on the output. Change-Id: If677cbbc8cb6cf6eb1bdf9f76b83f5e7976dd5a5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-23Fix: mismatch between built and expected lib nameRomain Forlot1-1/+2
The module expect that a library built without specifying any prefix to the target will then have no prefix but cmake set it to "lib" by default. So we need to adjust the expected lib file name expected in the module. Change-Id: I6feaa6c5ff9efd9a06ac90a515e6e454b6d90421 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
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>