warning messages about unused result occur.
This commit enables to remove the messages uding the option
-DWUNUSED=on
which makes a cleaner log
Signed-off-by: g-vidal <gerard.vidal@ens-lyon.fr>
Renamed find module from FindCordova to FindUpmCordovaGenerator to be
more descriptive with the intent of the find module. Updated the find
module to use find_package_handle_standard_args so a version can be
specified and handle REQUIRED keyword.
Signed-off-by: Noel Eck <noel.eck@intel.com>
The UPM Cordova binding generator creates Cordova plugs for each Java
package when BUILDCORDOVA=ON and BUILDSWIGJAVA=ON. This requires an NPM
install of the UPM Cordova plugin generator. Cordova bindings are built
under <build-dir>/cordova.
Signed-off-by: Noel Eck <noel.eck@intel.com>
MRAA deprecated mraa_gpio_use_mmaped which gets flagged as a warning
in UPM and then fails since -Werror is set.
For now, don't flag deprecations as warnings.
Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit changes how the UPM doc targets build. The doc targets no
longer rebuild each time.
* doc (doxygen) target depends only on C/C++ source
* jsdoc (yuidoc) depends on doc and a stamp file
* pydoc (sphinx) depends on the output index.xml from doc
* pyupm_doxy2swig depends on python2 python extensions
Signed-off-by: Noel Eck <noel.eck@intel.com>
The pydoc target copies python binaries and modules to pyupm. Since the
find command didn't make a distinction between python2/3 modules, a mix
of each could end up in pyupm. If sphinx runs under a mismatching
interpreter (mismatching against the python binaries) the build would
fail with load errors
* Only copy python2 modules (and binaries) to pyupm directory
* Explicitly run the sphinx tools w/python2
* Removed doc dependency to each library target (not needed).
Signed-off-by: Noel Eck <noel.eck@intel.com>
Added explicit error for sign compares to CMake. Updated a handful of C
source which compared unsigned vs signed.
Signed-off-by: Noel Eck <noel.eck@intel.com>
FindNpm REQUIRE functionality was not provided by FindNpm.cmake.
UpdatedUpdated FindNpm to extract version, global node_modules
directory, and to fail if REQUIRE was set and npm was not found.
Signed-off-by: Noel Eck <noel.eck@intel.com>
Removed the per-target install component in favor of a limited set of
insinstall components.
Available install components are: "upm" "upm-dev" "upm-java"
"upm-nodejs" "upm-python2" "upm-python3"
Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit adds node based tests provided by Nico to the ctest
framework already established in UPM.
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
* Use docker images from docker hub instead of building them on Travis
* Fix doxygen warnings for Markdown Files
* Modify Travis build matrix to include stages and additional jobs
* Add doxygen2jsdoc submodule
* Add doxyport submodule
* Remove duplicated code in doxy/node directory
* Generate documentation for each language in Travis
Signed-off-by: Nicolas Oliver <dario.n.oliver@intel.com>
Small change - updated from PATHS to HINTS. Search HINTS paths first to
provide location for mraa libraries.
Signed-off-by: Noel Eck <noel.eck@intel.com>
Setting the arch to native for arm.* should not generally be necessary.
If this is absolutely required, it can be passed manually. Setting
-march=native seems to fail on some versions of gnu gcc for arm.
Removed the force to -march=native in favor of letting cmake set the
arch.
If at some point, this would be required, a better way would be to add
the compile flag after testing if it is supported.
Example:
upm_add_compile_flags(CXX "-march=native")
Signed-off-by: Noel Eck <noel.eck@intel.com>
* Updated pom file generation: Generate pom files after all sensor
library targets have been created - allows for dependencies
* Changes for compiling on Android
* Check for mraa build options: Look at symbols in mraa library to
determine UPM build options (example: mraa_iio_init, mraa_firmata_init)
* Add per target summary for C/C++/java/nodejs/python
* Added hierarchy to fti include directory...
old: #include "upm_voltage.h"
new: #include "fti/upm_voltage.h"
* Removed unimplemented methods from mpu9150 library and java example
* Add utilities-c target for all c examples. Most of the C examples
rely on the upm_delay methods. Add a dependency on the utilities-c
target for all c examples.
* Updated the examples/CMakeLists.txt to add dependencies passed via
TARGETS to the target name parsed from the example name. Also updated
the interface example names to start with 'interfaces'.
* Updated src/examples/CMakeLists.txt to ALWAYS remove examples from the
example_src_list (moved this from end of function to beginning).
Signed-off-by: Noel Eck <noel.eck@intel.com>
* Renamed version.c to version.hpp
* Updated CMakelist file
* Updated upm.i file to support version
* Updated/modified src Cmakelists to support base upm and wrapper dependency
Signed-off-by: sisinty sasmita patra <sisinty.s.patra@intel.com>
Updated the examples to comprehend transitive dependencies. This means
that each example target will no longer have a giant list of -I includes
(the examples at the end of the list had includes for all previous
examples, upwards of 200 -I's on the command line).
* Created a CMakeLists.txt in the upm/examples directory, moved
common functionality to this level.
* C/C++ examples now look to the filename for their dependency
target name, ie; gas-mq2.cxx adds a dependency to the 'gas' target
* Updated a handful of C/C++ example names to reflect this
* Example CMake flow - glob the list of files, add targets for any
special case examples, then att targets for all the rest
Signed-off-by: Noel Eck <noel.eck@intel.com>
Updated cmake to use strip the full path to the base UPM directory
from generated documentation. This removes the build server full-
path from UPM documentation.
Old html:
upm: /iotdk/jenkins/workspace/upm-doc-stable/src/moisture/moisture.h File Reference
New html:
upm: src/moisture/moisture.h File Reference
Signed-off-by: Noel Eck <noel.eck@intel.com>
A handful of modules do not require mraa. Captured this in
src/CMakeLists.txt - only add mraa dependency for targets which
use:
upm_module_init(mraa ... )
or
upm_mixed_module_init(... REQUIRES mraa)
All sensors which use UPM interfaces (src/interfaces) now
explicitly add the interfaces target:
upm_module_init(interfaces ... )
or
upm_mixed_module_init(... REQUIRES interfaces)
Signed-off-by: Noel Eck <noel.eck@intel.com>
Moved require for Java/JNI/mraajava to top-level CMakeLists.txt
which will fail early if these are NOT found (vs failing in
the src-level CMakeLists.txt
Signed-off-by: Noel Eck <noel.eck@intel.com>
The java examples will now build if BUILDSWIGJAVA=on and
BUILDEXAMPLES=on. This is similar to the C/C++ examples.
* Replaced BUILDJAVAEXAMPLES w/BUILDEXAMPLES
* Updated docs
* Updated travis-ci
Signed-off-by: Noel Eck <noel.eck@intel.com>
* Removed -dirty
* Also removed redundant set(PACK_PACKAGE_VERSION ...
since the first gets overwritten by the second
Signed-off-by: Noel Eck <noel.eck@intel.com>
Fixed a problem where the C/CXX compile flags were getting
overwritten. Fixed warnings in a few sensor drivers.
This commit fixes#485
Signed-off-by: Noel Eck <noel.eck@intel.com>
* CMake option to enable -Werror as default
* Change to make sure all cxx examples have correct target name
* Added PUBLIC CXX compiler flags to ads1x15 and ozw targets to
work around compiler warnings
* Renamed cmake variable for compiler warnings
Signed-off-by: Noel Eck <noel.eck@intel.com>
The UPM ctests require python which will fail cmake configure if not
available. Defaulting to OFF for now.
Signed-off-by: Noel Eck <noel.eck@intel.com>
Added C/CXX warning messages similar to MRAA (w/ -Werror).
* Added syslog warning for missing switch cases
* Cleaned up uint vs int usage
* Fixed redifinition errors for C structs
* Added virtual destructors for base classes
* Removed redundant CMAKE_CXX_FLAGS from COMPILE_FLAGS for all three
wrapper languages. The CMAKE_CXX_FLAGS were showing up twice in
the compile commands for the wrappers.
* Added CMake WERROR option to enable/disable warnings as errors for
all targets.
* Disable a handful of compiler warnings for the wrapper cxx files,
this minimizes the number of warnings from auto-generated code).
Signed-off-by: Noel Eck <noel.eck@intel.com>
There is a case where git_describe was returning 'HEAD-HASH-NOTFOUND'
which missed the STREQUAL check and VERSION was set incorrectly.
Changed the STREQUAL to a MATCH on -NOTFOUND. In this way, any of the
-NOTFOUND returns change the version to dirty.
Signed-off-by: Noel Eck <noel.eck@intel.com>
The DetectPython cmake script now outputs a default python executable.
Updated other cmake scripts to use this concept. Used default where
python2/3 will work, use explicit PYTHON2/3_EXECUTABLE where an
explicit version is needed. Also, fail if python is required and NO
version of python was found.
Signed-off-by: Noel Eck <noel.eck@intel.com>
Updated UPM cmake to build both python2/3 modules if the necessary
python libs are available.
* Removed BUILDPYTHON3 cmake option in favor of building both
versions
* Added cmake module to find both python2 and python3
* Added macro which can be called from per-sensor cmake files
to add dependency libraries via target_link_libraries as well
as swig_link_libraries (for java, nodejs, and python)
* Python2 is required for python documentation builds
* Cleanup of python usage throughout UPM cmakelists.
* Make find_package for Node required. Removed check for NODE_FOUND
(which should have been NODEJS_FOUND) in favor of REQUIRED.
* The cxx and .py wrapper files get generated in python2/3 (instead
of the same directory). It appears these files are identical,
however since the targets can be built in parallel it's safer to split
them out.
* Updated all cmake dependencies related to building documentation.
* Removed unused classname from cmake files
Signed-off-by: Noel Eck <noel.eck@intel.com>
* Moved CMAKE_MODULE_PATH append hier in top-level CMakeLists file
so that it's before all calls to find_package.
* Added pkg_check_modules for BACNET, MODBUS, JPEG, and OPENZWAVE
to top-level CMakeLists file.
* Removed pkg_check_modules from individual sensor libraries.
* Simplified SWIG find_package call - require 3.0.5 for all SWIG
wrappers.
* Moved options to beginning of top-level CMakeLists.
Signed-off-by: Noel Eck <noel.eck@intel.com>