summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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>
2018-10-15Forgot updating README also...Romain Forlot1-13/+44
Change-Id: If650347cb598c27fe11fbb60666af57189bc00f6 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Update documentationRomain Forlot2-13/+44
Better description to use BINDINGV2 labels. Adding documentation for macros: - add_input_files - set_openapi_filename Change-Id: I7eb685faf4a5d4f92343d826877066b54b0012f0 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Use LFSH named, rename data to varRomain Forlot4-6/+3
Change-Id: I63ad812fc69c0ac38db0b16af405614fa68f6d54 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Use new CPP generation from afb-genskelRomain Forlot2-3/+6
Include a new options calling afb-genskel depending on PROJECT_LANGUAGES variable Change-Id: Id7719b399eac58f0ced54a49e09350a587e4e997 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Update README with latest docs modificationsRomain Forlot1-2/+36
Change-Id: If00a115e7f58ed6f2fcd6d4ebe00d96df58c0747 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Doesn't set rpath for built target and update docRomain Forlot2-3/+12
Rpath could be set using a target property if needed in the mean time no rpath is used by default. Change-Id: Ia704b00972545ed73dee98ea88e17d0ef08cf014 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Details external library.Romain Forlot2-2/+32
Linting and little typo fixes. Change-Id: I714477b429c9257595ee8eae05ba1ef4901234a2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Deprecate PROJECT_LIBDIR and PROJECT_RESOURCES varRomain Forlot1-2/+2
Change-Id: I9fc0e4389ade90e22e4ede77720effeff87834b7 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Make sure to point to correct dir for cmake scriptRomain Forlot1-2/+2
Change-Id: I1ec3541aa5ab6f82a91e150193c954e586cb06f8 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix variables checking.Romain Forlot1-2/+2
Change-Id: Ifbe95bbcb7f192ec9e84c26a73dc260926360b37 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15CMake doesn't path protection.Romain Forlot2-3/+5
Keep using a classic CMake variable not escape with quote for path PKG_TEMPLATE_PREFIX else path isn't correct for internal cmake usage. Change-Id: I9ebff240e28c5cc8922ff6bbc5e6c14a62997f65 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Compare to manual Project version if not from gitRomain Forlot1-0/+7
Change-Id: I7e83d2e587757edf5cfa22709ead85ce82f52dcc Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15No failure if none tags found on project git repoRomain Forlot1-5/+9
Change-Id: Idb46117feb860c84a14b6c256ee809e31546fd7c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Protect path with space in it.Romain Forlot3-16/+5
Bug-AGL: SPEC-1117 Change-Id: I36ba8047c3dc722c6c99ecbd90e14d5d717cb808 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Check version between app-templates and project.Romain Forlot4-1/+38
PROJECT_VERSION could be detected if project is located in AGL gerrit repo or with personal tags when in personal repository This version is checked against app-templates version which is aligned on AGL tags. A warning is displayed if app-templates version is outdated related to project_version. Also a "dirty" flag is appended to the project version if git repo isn't in sync with its remote counterpart. Then you could know if see an installed widget on a target that got that "-dirty" flag appended to the version that this widget include code that could not be merged in the git repository. Bug-AGL: SPEC-951 Change-Id: I99687560d19d746c887fc7a095e71407bda34325 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15CleaningRomain Forlot1-101/+0
Change-Id: Ia040321ddf86d80c04b63f56041b571b24a802ec Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Could specify others default install directoriesRomain Forlot2-5/+7
Path to default package BINDIR, LIBDIR, ETCDIR, DATADIR and HTTPDIR. Change-Id: I0e820f48f60e5e18053077fdbaa1d45912d5bb12 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix finding config templateScott Murray1-1/+3
Commit 9a73785 ("Better handling icon&config.xml to build widget") seems to have accidentally broken an application providing its own config template, resulting in the stock templates always being used. That results in breakage like extra permissions in the app's version not being picked up. The logic for setting WIDGET_CONFIG_TEMPLATE has been reverted to what it was previously to fix the behavior. Change-Id: I245bc08f466b883b61c286faed933a5e57a74845 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2018-10-15Disallow build in-source.Romain Forlot1-26/+37
Change-Id: If606d1ad283a37b7a2c1d4e45d8459ace2ba76c5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Keep libraries and binding in the same directoryRomain Forlot1-5/+3
Change-Id: I40a3424b689d03e3f6cf471495ed869511a30d2d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Update README and documentationRomain Forlot4-37/+179
Instructions to include external library into a widget Change-Id: Ic5c8c477fdbc1d374f1f88260b51cb9f200d02e1 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Include ExternalProject CMake module by defaultRomain Forlot1-0/+3
Change-Id: Icf3929e6f2b0c28d3281ee451527ec1085ac9c7f Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15CleaningRomain Forlot1-12/+0
Change-Id: Id06766a8c24dd21fdee6211a384bfccf7c6535ad Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Handle imported target to populate package folderRomain Forlot1-113/+91
Can use an external library builded as an external project or an already built library/executable to include it into a widget. Change-Id: Ia3282f875fe0f6f9e8f1153d87ccfbecf8559dbb Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>