mirror of https://github.com/merbanan/rtl_433.git
318 lines
8.0 KiB
CMake
318 lines
8.0 KiB
CMake
########################################################################
|
|
# Build libraries and executables
|
|
########################################################################
|
|
# commodity libraries
|
|
# consider -fvisibility=hidden
|
|
# Proper object library type was only introduced with CMake 2.8.8
|
|
add_library(r_433 STATIC
|
|
abuf.c
|
|
am_analyze.c
|
|
baseband.c
|
|
bit_util.c
|
|
bitbuffer.c
|
|
compat_paths.c
|
|
compat_time.c
|
|
confparse.c
|
|
data.c
|
|
data_tag.c
|
|
decoder_util.c
|
|
fileformat.c
|
|
http_server.c
|
|
jsmn.c
|
|
list.c
|
|
logger.c
|
|
mongoose.c
|
|
optparse.c
|
|
output_file.c
|
|
output_influx.c
|
|
output_log.c
|
|
output_mqtt.c
|
|
output_rtltcp.c
|
|
output_trigger.c
|
|
output_udp.c
|
|
pulse_analyzer.c
|
|
pulse_data.c
|
|
pulse_detect.c
|
|
pulse_detect_fsk.c
|
|
pulse_slicer.c
|
|
r_api.c
|
|
r_util.c
|
|
raw_output.c
|
|
rfraw.c
|
|
samp_grab.c
|
|
sdr.c
|
|
term_ctl.c
|
|
write_sigrok.c
|
|
devices/abmt.c
|
|
devices/acurite.c
|
|
devices/acurite_01185m.c
|
|
devices/akhan_100F14.c
|
|
devices/alecto.c
|
|
devices/ambient_weather.c
|
|
devices/ambientweather_tx8300.c
|
|
devices/ambientweather_wh31e.c
|
|
devices/ant_antplus.c
|
|
devices/archos_tbh.c
|
|
devices/atech_ws308.c
|
|
devices/auriol_4ld5661.c
|
|
devices/auriol_aft77b2.c
|
|
devices/auriol_afw2a1.c
|
|
devices/auriol_ahfl.c
|
|
devices/auriol_hg02832.c
|
|
devices/badger_water.c
|
|
devices/baldr_rain.c
|
|
devices/blueline.c
|
|
devices/blyss.c
|
|
devices/brennenstuhl_rcs_2044.c
|
|
devices/bresser_3ch.c
|
|
devices/bresser_5in1.c
|
|
devices/bresser_6in1.c
|
|
devices/bresser_7in1.c
|
|
devices/bresser_leakage.c
|
|
devices/bresser_lightning.c
|
|
devices/bt_rain.c
|
|
devices/burnhardbbq.c
|
|
devices/calibeur.c
|
|
devices/cardin.c
|
|
devices/cavius.c
|
|
devices/ced7000.c
|
|
devices/celsia_czc1.c
|
|
devices/chuango.c
|
|
devices/cmr113.c
|
|
devices/companion_wtr001.c
|
|
devices/cotech_36_7959.c
|
|
devices/current_cost.c
|
|
devices/danfoss.c
|
|
devices/digitech_xc0324.c
|
|
devices/directv.c
|
|
devices/dish_remote_6_3.c
|
|
devices/dsc.c
|
|
devices/ecodhome.c
|
|
devices/ecowitt.c
|
|
devices/efergy_e2_classic.c
|
|
devices/efergy_optical.c
|
|
devices/efth800.c
|
|
devices/elro_db286a.c
|
|
devices/elv.c
|
|
devices/emax.c
|
|
devices/emontx.c
|
|
devices/emos_e6016.c
|
|
devices/emos_e6016_rain.c
|
|
devices/enocean_erp1.c
|
|
devices/ert_idm.c
|
|
devices/ert_scm.c
|
|
devices/esa.c
|
|
devices/esic_emt7110.c
|
|
devices/esperanza_ews.c
|
|
devices/eurochron.c
|
|
devices/fineoffset.c
|
|
devices/fineoffset_wh1050.c
|
|
devices/fineoffset_wh1080.c
|
|
devices/fineoffset_wh31l.c
|
|
devices/fineoffset_wh45.c
|
|
devices/fineoffset_wh55.c
|
|
devices/fineoffset_wn34.c
|
|
devices/fineoffset_ws80.c
|
|
devices/fineoffset_ws90.c
|
|
devices/flex.c
|
|
devices/flowis.c
|
|
devices/fordremote.c
|
|
devices/fs20.c
|
|
devices/ft004b.c
|
|
devices/funkbus.c
|
|
devices/gasmate_ba1008.c
|
|
devices/ge_coloreffects.c
|
|
devices/generic_motion.c
|
|
devices/generic_remote.c
|
|
devices/generic_temperature_sensor.c
|
|
devices/geo_minim.c
|
|
devices/govee.c
|
|
devices/gt_tmbbq05.c
|
|
devices/gt_wt_02.c
|
|
devices/gt_wt_03.c
|
|
devices/hcs200.c
|
|
devices/hideki.c
|
|
devices/holman_ws5029.c
|
|
devices/hondaremote.c
|
|
devices/honeywell.c
|
|
devices/honeywell_cm921.c
|
|
devices/honeywell_wdb.c
|
|
devices/ht680.c
|
|
devices/ibis_beacon.c
|
|
devices/ikea_sparsnas.c
|
|
devices/infactory.c
|
|
devices/inkbird_ith20r.c
|
|
devices/inovalley-kw9015b.c
|
|
devices/insteon.c
|
|
devices/interlogix.c
|
|
devices/intertechno.c
|
|
devices/jasco.c
|
|
devices/kedsum.c
|
|
devices/kerui.c
|
|
devices/klimalogg.c
|
|
devices/lacrosse.c
|
|
devices/lacrosse_breezepro.c
|
|
devices/lacrosse_r1.c
|
|
devices/lacrosse_th3.c
|
|
devices/lacrosse_tx141x.c
|
|
devices/lacrosse_tx31u.c
|
|
devices/lacrosse_tx34.c
|
|
devices/lacrosse_tx35.c
|
|
devices/lacrosse_wr1.c
|
|
devices/lacrosse_ws7000.c
|
|
devices/lacrossews.c
|
|
devices/lightwave_rf.c
|
|
devices/m_bus.c
|
|
devices/markisol.c
|
|
devices/marlec_solar.c
|
|
devices/maverick_et73.c
|
|
devices/maverick_et73x.c
|
|
devices/maverick_xr30.c
|
|
devices/mebus.c
|
|
devices/megacode.c
|
|
devices/missil_ml0757.c
|
|
devices/mueller_hotrod.c
|
|
devices/neptune_r900.c
|
|
devices/new_template.c
|
|
devices/newkaku.c
|
|
devices/nexa.c
|
|
devices/nexus.c
|
|
devices/nice_flor_s.c
|
|
devices/norgo.c
|
|
devices/oil_smart.c
|
|
devices/oil_standard.c
|
|
devices/oil_watchman.c
|
|
devices/oil_watchman_advanced.c
|
|
devices/opus_xt300.c
|
|
devices/oregon_scientific.c
|
|
devices/oregon_scientific_sl109h.c
|
|
devices/oregon_scientific_v1.c
|
|
devices/philips_aj3650.c
|
|
devices/philips_aj7010.c
|
|
devices/proflame2.c
|
|
devices/prologue.c
|
|
devices/proove.c
|
|
devices/quhwa.c
|
|
devices/radiohead_ask.c
|
|
devices/rainpoint.c
|
|
devices/regency_fan.c
|
|
devices/revolt_nc5462.c
|
|
devices/rftech.c
|
|
devices/rojaflex.c
|
|
devices/rubicson.c
|
|
devices/rubicson_48659.c
|
|
devices/rubicson_pool_48942.c
|
|
devices/s3318p.c
|
|
devices/schou_72543_rain.c
|
|
devices/schraeder.c
|
|
devices/scmplus.c
|
|
devices/secplus_v1.c
|
|
devices/secplus_v2.c
|
|
devices/sharp_spc775.c
|
|
devices/silvercrest.c
|
|
devices/simplisafe.c
|
|
devices/simplisafe_gen3.c
|
|
devices/smoke_gs558.c
|
|
devices/solight_te44.c
|
|
devices/somfy_iohc.c
|
|
devices/somfy_rts.c
|
|
devices/springfield.c
|
|
devices/srsmith_pool_srs_2c_tx.c
|
|
devices/steelmate.c
|
|
devices/telldus_ft0385r.c
|
|
devices/tfa_14_1504_v2.c
|
|
devices/tfa_30_3196.c
|
|
devices/tfa_30_3221.c
|
|
devices/tfa_drop_30.3233.c
|
|
devices/tfa_marbella.c
|
|
devices/tfa_pool_thermometer.c
|
|
devices/tfa_twin_plus_30.3049.c
|
|
devices/thermopro_tp11.c
|
|
devices/thermopro_tp12.c
|
|
devices/thermopro_tp28b.c
|
|
devices/thermopro_tx2.c
|
|
devices/thermopro_tx2c.c
|
|
devices/thermor.c
|
|
devices/tpms_abarth124.c
|
|
devices/tpms_ave.c
|
|
devices/tpms_bmw.c
|
|
devices/tpms_bmw_g3.c
|
|
devices/tpms_citroen.c
|
|
devices/tpms_eezrv.c
|
|
devices/tpms_elantra2012.c
|
|
devices/tpms_ford.c
|
|
devices/tpms_hyundai_vdo.c
|
|
devices/tpms_jansite.c
|
|
devices/tpms_jansite_solar.c
|
|
devices/tpms_kia.c
|
|
devices/tpms_nissan.c
|
|
devices/tpms_pmv107j.c
|
|
devices/tpms_porsche.c
|
|
devices/tpms_renault.c
|
|
devices/tpms_renault_0435r.c
|
|
devices/tpms_toyota.c
|
|
devices/tpms_truck.c
|
|
devices/tpms_tyreguard400.c
|
|
devices/ts_ft002.c
|
|
devices/ttx201.c
|
|
devices/vaillant_vrt340f.c
|
|
devices/vauno_en8822c.c
|
|
devices/visonic_powercode.c
|
|
devices/watts_thermostat.c
|
|
devices/waveman.c
|
|
devices/wec2103.c
|
|
devices/wg_pb12v1.c
|
|
devices/ws2032.c
|
|
devices/wssensor.c
|
|
devices/wt0124.c
|
|
devices/wt450.c
|
|
devices/x10_rf.c
|
|
devices/x10_sec.c
|
|
devices/yale_hsa.c
|
|
)
|
|
|
|
if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
|
|
# untouched upstream code, disable all warnings
|
|
set_source_files_properties(mongoose.c PROPERTIES COMPILE_FLAGS "-w")
|
|
endif()
|
|
|
|
add_executable(rtl_433 rtl_433.c)
|
|
target_link_libraries(rtl_433 r_433)
|
|
|
|
# target_compile_definitions was only added with CMake 2.8.11
|
|
if(THREADS_HAVE_PTHREAD_ARG)
|
|
set_target_properties(r_433 PROPERTIES COMPILE_OPTIONS "-pthread")
|
|
set_target_properties(r_433 PROPERTIES INTERFACE_COMPILE_OPTIONS "-pthread")
|
|
endif()
|
|
if(CMAKE_THREAD_LIBS_INIT)
|
|
target_link_libraries(rtl_433 "${CMAKE_THREAD_LIBS_INIT}")
|
|
endif()
|
|
|
|
if(MSVC)
|
|
# needs CMake 3.1 but Windows builds should have that
|
|
target_sources(rtl_433 PRIVATE getopt/getopt.c)
|
|
endif()
|
|
|
|
add_library(data data.c abuf.c)
|
|
target_link_libraries(data ${NET_LIBRARIES})
|
|
|
|
target_link_libraries(rtl_433
|
|
${SDR_LIBRARIES}
|
|
${NET_LIBRARIES}
|
|
)
|
|
|
|
set(INSTALL_TARGETS rtl_433)
|
|
if(UNIX)
|
|
target_link_libraries(rtl_433 m)
|
|
endif()
|
|
|
|
# Explicitly say that we want C99
|
|
set_target_properties(rtl_433 r_433 PROPERTIES C_STANDARD 99)
|
|
|
|
########################################################################
|
|
# Install built library files & utilities
|
|
########################################################################
|
|
install(TARGETS ${INSTALL_TARGETS}
|
|
RUNTIME DESTINATION bin # .dll file
|
|
)
|