# The purpose of this CMakeLists.txt is to compile all listed JAVA examples # during build time (ensuring that ALL examples compile against their # dependency JAVA packages). find_package(Java REQUIRED) include(UseJava) # Add a JAVA example target for the provided JAVA source file which depends # on UPM JAVA targets. # # Usage: # add_example(example_class_name upm_target_dependency_list) # # Parameters: # example_class_name: JAVA class name. This name MUST match the JAVA # example file name. # .java # upm_target_dependency_list: One or more UPM library targets. This # function assumes a javaupm_ also exists. # # Examples: # # Creates SensorFooExample JAVA target, depends on target: sensorfoo, # # and will add upm_sensorfoo.jar to the javac classpath. # add_example(SensorFooExample sensorfoo) # # # Creates SensorFooExample JAVA target, depends on targets: sensorfoo, # # and core and will add both upm_sensorfoo.jar and upm_core.jar # # to the javac classpath. # add_example(SensorFooExample "sensorfoo;core"") # function(add_example example_class_name dependency_list) set(example_file "${example_class_name}.java") # Build a list of all dependency jar files set(jar_file_list "") # Build a list of all dependency java target names set(java_targets_list "") # Iterate over the dependencies foreach(dependency ${dependency_list}) set(java_target "javaupm_${dependency}") # Append to the targets list list(APPEND java_targets_list ${java_target}) # If a dependency target does NOT exist, print a warning and skip if (NOT TARGET ${java_target}) message(STATUS "Example ${example_file} is missing a required CMake target (${java_target}), skipping...") return() endif() # Get the jar for this java_target (saved as a property) get_target_property(jar_file ${java_target} JAR_FILE_ABSOLUTE) # Append to the jar list list(APPEND jar_file_list ${jar_file}) endforeach() # Add the jar/s add_jar(${example_class_name} SOURCES ${example_file} INCLUDE_JARS ${jar_file_list}) # Add a dependency from this jar to all dependency java targets add_dependencies(${example_class_name} ${java_targets_list}) endfunction() add_example(A110X_Example a110x) add_example(A110X_intr_Example a110x) add_example(Ad8232_Example ad8232) add_example(ADC121C021_Example adc121c021) add_example(Ads1015_Example "ads1x15;core") add_example(Ads1115_Example ads1x15) add_example(Adxl345_Example adxl345) add_example(AM2315_Example am2315) add_example(APA102_Example apa102) add_example(Apds9002_Example apds9002) add_example(BH1750_Example bh1750) add_example(BISS0001_Example biss0001) add_example(BMA250E_Example bma250e) add_example(BMC150_Example bmx055) add_example(BME280_Example "bmp280;core") add_example(BMG160_Example bmg160) add_example(BMI055_Example bmx055) add_example(BMI160_Example bmi160) add_example(BMM150_Example bmm150) add_example(BMP280_Example "bmp280;core") add_example(BMPX8X_Example "bmpx8x;core") add_example(BMX055_Example bmx055) add_example(BNO055_Example bno055) add_example(Button_Example button) add_example(Button_intr_Example button) add_example(Buzzer_Example buzzer) add_example(CJQ4435_Example cjq4435) add_example(Collision_Example collision) add_example(CWLSXXA_Example cwlsxxa) add_example(DFREC_Example dfrec) add_example(DFRORP_Example dfrorp) add_example(DS1307_Example ds1307) add_example(ECEZO_Example ecezo) add_example(ECS1030_Example ecs1030) add_example(EHR_Example ehr) add_example(Emg_Example emg) add_example(ENC03R_Example enc03r) add_example(ES08A_Example "servo;core") add_example(FlexSensor_Example flex) add_example(Gp2y0a_Example gp2y0a) add_example(GroveButton_Example grove) add_example(GroveButton_intr_Example grove) add_example(GroveEHR_Example groveehr) add_example(GroveEmg_Example groveemg) add_example(GroveGsr_Example grovegsr) add_example(GroveLEDBar_Example my9221) add_example(GroveLED_Example grove) add_example(GroveLed_multi_Example grove) add_example(GroveLight_Example grove) add_example(GroveLineFinder_Example grovelinefinder) add_example(GroveMD_Example grovemd) add_example(GroveMoisture_Example grovemoisture) add_example(GroveMQ3_Example gas) add_example(GroveMQ9_Example gas) add_example(GroveO2_Example groveo2) add_example(GroveQTouch_Example at42qt1070) add_example(GroveRelay_Example grove) add_example(GroveRotary_Example grove) add_example(GROVESCAM_Example grovescam) add_example(GroveSlide_Example grove) add_example(GroveSpeaker_Example grovespeaker) add_example(GroveTemp_Example grove) add_example(GroveVDiv_Example grovevdiv) add_example(GroveWater_Example grovewater) add_example(GroveWFS_Example grovewfs) add_example(Gsr_Example gsr) add_example(GUVAS12D_Example guvas12d) add_example(H3LIS331DL_Example h3lis331dl) add_example(HCSR04_Example hcsr04) add_example(HKA5_Example hka5) add_example(HM11_Example hm11) add_example(Hmc5883l_Example hmc5883l) add_example(HMTRP_Example hmtrp) add_example(HP20x_Example hp20x) add_example(HTU21D_Example htu21d) add_example(Itg3200_Example itg3200) add_example(Jhd1313m1_Example jhd1313m1) add_example(Jhd1313m1_lcd_Example jhd1313m1) add_example(Joystick12_Example joystick12) add_example(KX122_Example kx122) add_example(Lcm1602_i2c_Example lcm1602) add_example(Lcm1602_parallel_Example lcm1602) add_example(LDT0028_Example ldt0028) add_example(LE910_Example uartat) add_example(LED_Example led) add_example(Light_Example light) add_example(LineFinder_Example linefinder) add_example(LIS2DS12_Example lis2ds12) add_example(LoL_Example lol) add_example(LSM303AGR_Example lsm303agr) add_example(LSM303D_Example lsm303d) add_example(LSM303DLH_Example lsm303dlh) add_example(LSM6DS3H_Example lsm6ds3h) add_example(LSM6DSL_Example lsm6dsl) add_example(M24LR64E_Example m24lr64e) add_example(MAX30100_Example max30100) add_example(MAX31855_Example max31855) add_example(MAX44000_Example max44000) add_example(MAX5487_Example max5487) add_example(MAXds3231m_Example maxds3231m) add_example(MB704X_Example mb704x) add_example(MCP2515_Example mcp2515) add_example(MCP2515_TXRX_Example mcp2515) add_example(MD_Example md) add_example(MHZ16_Example mhz16) add_example(Microphone_Example mic) add_example(MMA7361_Example mma7361) add_example(MMA7455_Example mma7455) add_example(MMA7660_Example mma7660) add_example(Moisture_Example moisture) add_example(MPL3115A2_Example mpl3115a2) add_example(MPR121_Example mpr121) add_example(MPU9150_Example mpu9150) add_example(MQ2_Example gas) add_example(MQ303A_Example mq303a) add_example(MQ5_Example gas) add_example(MS5803_Example ms5803) add_example(NMEAGPS_Example nmea_gps) add_example(NMEAGPS_I2C_Example nmea_gps) add_example(NRF24L01_receiver_Example nrf24l01) add_example(NRF24L01_transmitter_Example nrf24l01) add_example(NUNCHUCK_Example nunchuck) add_example(O2_Example o2) add_example(OTP538U_Example otp538u) add_example(P9813_Example p9813) add_example(PPD42NS_Example ppd42ns) add_example(Pulsensor_Example pulsensor) add_example(Relay_Example relay) add_example(RFR359F_Example rfr359f) add_example(RN2903_Example rn2903) add_example(RN2903_P2P_RX_Example rn2903) add_example(RN2903_P2P_TX_Example rn2903) add_example(RotaryEncoder_Example rotaryencoder) add_example(Rotary_Example rotary) add_example(RPR220_Example rpr220) add_example(RPR220_intr_Example rpr220) add_example(SCAM_Example scam) add_example(SensorTemplate_Example sensortemplate) add_example(SHT1X_Example sht1x) add_example(Slide_Example slide) add_example(SM130_Example sm130) add_example(Speaker_Example speaker) add_example(SpeakerPWM_Example speaker) add_example(SSD1308_oled_Example lcd) add_example(SSD1327_oled_Example lcd) add_example(ST7735_Example st7735) add_example(TEAMS_Example teams) add_example(Temperature_Example temperature) add_example(TEX00_Example tex00) add_example(Th02_Example th02) add_example(TM1637_Example tm1637) add_example(TP401_Example gas) add_example(TSL2561_Example tsl2561) add_example(TTP223_Example ttp223) add_example(ULN200XA_Example uln200xa) add_example(VDiv_Example vdiv) add_example(VEML6070_Example veml6070) add_example(Water_Example water) add_example(WaterLevelSensor_Example waterlevel) add_example(WFS_Example wfs) add_example(WT5001_Example wt5001) add_example(YG1006_Example yg1006) add_example(ZFM20_Example zfm20) if(SWIG_VERSION VERSION_GREATER 3.0.8) add_example(BME280_Interface_Example "bmp280;core") add_example(IMS_Example "ims;core") add_example(RHUSB_Example "rhusb;core") endif() if (OPENZWAVE_FOUND) add_example(AeotecDSB09104_Example ozw) add_example(AeotecDW2E_Example ozw) add_example(AeotecSDG2_Example ozw) add_example(AeotecSS6_Example ozw) add_example(TZEMT400_Example ozw) endif() if (MODBUS_FOUND) add_example(H803X_Example h803x) endif() if (BACNET_FOUND) add_example(E50HX_Example e50hx) add_example(T8100_Example t8100) add_example(TB7300_Example tb7300) endif() if (JPEG_FOUND) add_example(VCAP_Example vcap) endif() if (NOT ANDROID) add_example(StepMotor_Example stepmotor) endif ()