This removes the DETECTED_ARCH cmake variable and device arch detection module as this is irrelevant for UPM. Also removing toolchain files since they are not really needed by this project.
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
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>