mirror of
				https://github.com/eclipse/upm.git
				synced 2025-10-29 14:15:33 +03:00 
			
		
		
		
	examples: Handle additional example dependencies
Dependencies added via 'TARGETS' in add_example are 'in addition to' the
dependency provided by the example filename.
    * Small change to examples/CMakeLists.txt to handle additional
      dependencies
    * Prefix 'interfaces-' onto the interfaces examples
Signed-off-by: Noel Eck <noel.eck@intel.com>
			
			
This commit is contained in:
		| @@ -9,8 +9,8 @@ | |||||||
| #       <library>-[additional].c(xx) | #       <library>-[additional].c(xx) | ||||||
| #       library: Name of UPM library required by example | #       library: Name of UPM library required by example | ||||||
| #       -additional: Any other string used to identify the example | #       -additional: Any other string used to identify the example | ||||||
| #   TARGETS - If TARGETS is set, ignore the <library>-[additional] syntax and | #   TARGETS - Additional dependency target/s required to BUILD/RUN this example.  If TARGETS is | ||||||
| #       use only the provided TARGETS as target name dependencies | #       set, these are in addition to the dependency library provided by the example filename. | ||||||
| #   SUFFIX - Provide a means to differentiate between C/C++ dependency targets and | #   SUFFIX - Provide a means to differentiate between C/C++ dependency targets and | ||||||
| #       example names.  Leave empty for CXX examples. Use '-c' for c targets. | #       example names.  Leave empty for CXX examples. Use '-c' for c targets. | ||||||
| #           SUFFIX  Example file  Dependency target  Example binary | #           SUFFIX  Example file  Dependency target  Example binary | ||||||
| @@ -59,12 +59,13 @@ function (add_example example_src) | |||||||
|     string (REPLACE "-" ";" split_name ${example_name}) |     string (REPLACE "-" ";" split_name ${example_name}) | ||||||
|     list (GET split_name 0 library_name) |     list (GET split_name 0 library_name) | ||||||
|  |  | ||||||
|     # If TARGETS is not provided, parse dependency target name from example_src |     # Parse dependency target name from example_src filename (add on suffix) | ||||||
|     if (NOT add_example_TARGETS) |     # For sensorfoo, lib_target_names = sensorfoo-c | ||||||
|         # For sensorfoo, lib_target_names = sensorfoo-c |     set (lib_target_names "${library_name}${add_example_SUFFIX}") | ||||||
|         set (lib_target_names "${library_name}${add_example_SUFFIX}") |  | ||||||
|     else () |     # If TARGETS is provided, add additional dependency targets | ||||||
|         set (lib_target_names "${add_example_TARGETS}") |     if (add_example_TARGETS) | ||||||
|  |         list (APPEND lib_target_names "${add_example_TARGETS}") | ||||||
|     endif () |     endif () | ||||||
|  |  | ||||||
|     # Unfortunately, c++ and c library targets are not named the same. If |     # Unfortunately, c++ and c library targets are not named the same. If | ||||||
|   | |||||||
| @@ -4,15 +4,15 @@ file (GLOB example_src_list RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cxx") | |||||||
| # - Handle special cases here -------------------------------------------------- | # - Handle special cases here -------------------------------------------------- | ||||||
|  |  | ||||||
| # Test humidity interface for 2 sensor libraries | # Test humidity interface for 2 sensor libraries | ||||||
| add_example(humidity-sensor.cxx TARGETS si7005 bmp280) | add_example(interfaces-humiditysensor.cxx TARGETS si7005 bmp280) | ||||||
| # Test pressure interface for 2 sensor libraries | # Test pressure interface for 2 sensor libraries | ||||||
| add_example(pressure-sensor.cxx TARGETS bmp280 bmpx8x) | add_example(interfaces-pressuresensor.cxx TARGETS bmp280 bmpx8x) | ||||||
| # Test temperature interface for 3 sensor libraries | # Test temperature interface for 3 sensor libraries | ||||||
| add_example(temperature-sensor.cxx TARGETS bmp280 bmpx8x si7005) | add_example(interfaces-temperaturesensor.cxx TARGETS bmp280 bmpx8x si7005) | ||||||
| # Test light interface for 2 sensor libraries | # Test light interface for 2 sensor libraries | ||||||
| add_example(light-sensor.cxx TARGETS si1132 max44009) | add_example(interfaces-lightsensor.cxx TARGETS si1132 max44009) | ||||||
| # Test light controller interface for 3 sensor libraries | # Test light controller interface for 3 sensor libraries | ||||||
| add_example(light-controller.cxx TARGETS lp8860 ds1808lc hlg150h) | add_example(interfaces-lightcontroller.cxx TARGETS lp8860 ds1808lc hlg150h) | ||||||
|  |  | ||||||
| # - Create an executable for all other src files in this directory ------------- | # - Create an executable for all other src files in this directory ------------- | ||||||
| foreach (_example_src ${example_src_list}) | foreach (_example_src ${example_src_list}) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Noel Eck
					Noel Eck