summaryrefslogtreecommitdiffstats
path: root/cmake/cmake.d/03-macros.cmake
AgeCommit message (Collapse)AuthorFilesLines
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 Forlot1-66/+113
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-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 Forlot1-3/+7
Change-Id: I2c71f5cd1bbfa6d6e2d2c48aaf004b24811dbee1 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-23Convert app-templates to a cmake moduleRomain Forlot1-24/+4
- 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-15Rollback about TEST build typeRomain Forlot1-21/+22
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 Forlot1-20/+12
Change-Id: Id2a2ede0f01bfc48757904f43b01e52a1c8b110d 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-15Create a test widgetRomain Forlot1-20/+56
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-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 Douheret1-0/+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-15Use CACHE variable for other common CMAKE variableRomain Forlot1-0/+7
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-15Clearer coverage compilation options configurationRomain Forlot1-8/+9
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-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-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-15Use new CPP generation from afb-genskelRomain Forlot1-2/+5
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-15Fix variables checking.Romain Forlot1-2/+2
Change-Id: Ifbe95bbcb7f192ec9e84c26a73dc260926360b37 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-15Check version between app-templates and project.Romain Forlot1-0/+9
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-15Could specify others default install directoriesRomain Forlot1-5/+0
Path to default package BINDIR, LIBDIR, ETCDIR, DATADIR and HTTPDIR. Change-Id: I0e820f48f60e5e18053077fdbaa1d45912d5bb12 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
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-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>
2018-10-15Control install destination directoryRomain Forlot1-3/+11
Either put all in a dedicated binding directory like a classic widget install, either put all directly a CMAKE_INSTALL_PREFIX root directory. Change-Id: I54ebe8a680ea09af73c7fc9e6646fdd203fdeb98 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix: No build error on input files checkedRomain Forlot1-16/+52
Output a warning if no checker found but at usage must crash the build if input files has errors. Change-Id: I282c4eb2303922ce1cd7055b51182ed222b62d08 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Handle controller plugin populate and installRomain Forlot1-7/+16
Change-Id: Ib48817e4634990b6369de29ce81fa86354d73652 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Clearer output when checking data fileRomain Forlot1-3/+3
Change-Id: I942b11b460c15618cc3c6a731f588d7a8b91abcf Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Don't fails if data files checker not found.Romain Forlot1-3/+3
Change-Id: If28a37406175dc318c3ed62153e3276f2eb77525 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Copying content not the directory.Romain Forlot1-1/+1
Change-Id: I3d221379459ff5451b6933fac2383c8c3797d0d3 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Disabling packaging target. To be externalizedRomain Forlot1-6/+6
Change-Id: I4ff1c05eae2a8542f1ad002acc6bf0d4a7ff72d6 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Added populate binding config filesRomain Forlot1-0/+16
Change-Id: I9fd0ccd917c0fbbfe67910a169001c85220a78c0 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Dirty fix to handle distro specific packages depsRomain Forlot1-9/+0
Could include first distro specific file to be able to modify variable from config.cmake and then process classic submodule cmake files. Change-Id: Id5dad2504d44c86cb165ad56f5314e9c0c545f0b Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix: output msg if build fail on remote populateRomain Forlot1-1/+6
Change-Id: Id0ee4805854181dab1885af42f9c9f4603ad796f Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15add_input_target targets built by defaultRomain Forlot1-1/+1
Adding to 'all' target Change-Id: I3b4696ced961a5ccc6a35cbb1ab64cbd489af45b Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Generic default CLOSING_MESSAGE in sample configRomain Forlot1-2/+2
Change-Id: I6886b4d7844e208f3f996418d9658567e8d8f135 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix: use of filter in Cmake 3.5Romain Forlot1-3/+6
Need using a variable for regex... Change-Id: Ie5b050a3588dec10d0cc4365aa7272a90f10eb30 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix: mistapedRomain Forlot1-1/+1
Change-Id: I6252ed2ed8defaba8d848ce0d500a8a83be4cd90 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Workaround to bugged list filter backport functionRomain Forlot1-6/+13
Change-Id: I520bcb09add89567083f0c06bde92dae08206c50 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Format: Remove spaces at EOLRomain Forlot1-1/+1
Change-Id: If16b9cd45e5955b8ca8049fee1ea97a9d43d5cb7 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Add macros to make a 2nd pass on required moduleRomain Forlot1-0/+9
Useful when adding module dependant of distro as they do not named their packages the same way... Change-Id: I0422ce4cdad48f9e815d24510376ad11941d5e3d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Install automatically managed for populate targetsRomain Forlot1-88/+99
All populated targets will install in CMAKE_INSTALL_PREFIX/PROJECT_NAME Change-Id: I37df0c6dfde34a04e515e70b06f56929bd76c51a Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Fix: BINDINGV2 target not populatedRomain Forlot1-7/+9
Miss dependencies... Change-Id: Ief8a5c764a6a36c042eebbd66b83f12e2f08b36a Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-15Better handling icon&config.xml to build widgetRomain Forlot1-7/+11
Default value set Change-Id: Ie1370ff9e89bb80044fc847b4cf37ba19314ecc1 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>