# Library-only build definition for the LGPL-2.1 libdivecomputer component. # Keep this file limited to upstream libdivecomputer sources and options so it # can be published with the corresponding source without Scubbl proprietary # bridge code. if(NOT DEFINED LIBDC_ROOT) message(FATAL_ERROR "LIBDC_ROOT must point to the libdivecomputer source tree") endif() set(LIBDC_SOURCES ${LIBDC_ROOT}/src/aes.c ${LIBDC_ROOT}/src/array.c ${LIBDC_ROOT}/src/atomics_cobalt.c ${LIBDC_ROOT}/src/atomics_cobalt_parser.c ${LIBDC_ROOT}/src/ble.c ${LIBDC_ROOT}/src/bluetooth.c ${LIBDC_ROOT}/src/buffer.c ${LIBDC_ROOT}/src/checksum.c ${LIBDC_ROOT}/src/citizen_aqualand.c ${LIBDC_ROOT}/src/citizen_aqualand_parser.c ${LIBDC_ROOT}/src/cochran_commander.c ${LIBDC_ROOT}/src/cochran_commander_parser.c ${LIBDC_ROOT}/src/common.c ${LIBDC_ROOT}/src/context.c ${LIBDC_ROOT}/src/cressi_edy.c ${LIBDC_ROOT}/src/cressi_edy_parser.c ${LIBDC_ROOT}/src/cressi_goa.c ${LIBDC_ROOT}/src/cressi_goa_parser.c ${LIBDC_ROOT}/src/cressi_leonardo.c ${LIBDC_ROOT}/src/cressi_leonardo_parser.c ${LIBDC_ROOT}/src/custom.c ${LIBDC_ROOT}/src/datetime.c ${LIBDC_ROOT}/src/deepblu_cosmiq.c ${LIBDC_ROOT}/src/deepblu_cosmiq_parser.c ${LIBDC_ROOT}/src/deepsix_excursion.c ${LIBDC_ROOT}/src/deepsix_excursion_parser.c ${LIBDC_ROOT}/src/descriptor.c ${LIBDC_ROOT}/src/device.c ${LIBDC_ROOT}/src/diverite_nitekq.c ${LIBDC_ROOT}/src/diverite_nitekq_parser.c ${LIBDC_ROOT}/src/divesoft_freedom.c ${LIBDC_ROOT}/src/divesoft_freedom_parser.c ${LIBDC_ROOT}/src/divesystem_idive.c ${LIBDC_ROOT}/src/divesystem_idive_parser.c ${LIBDC_ROOT}/src/halcyon_symbios.c ${LIBDC_ROOT}/src/halcyon_symbios_parser.c ${LIBDC_ROOT}/src/hdlc.c ${LIBDC_ROOT}/src/hw_ostc3.c ${LIBDC_ROOT}/src/hw_ostc.c ${LIBDC_ROOT}/src/hw_ostc_parser.c ${LIBDC_ROOT}/src/ihex.c ${LIBDC_ROOT}/src/iostream.c ${LIBDC_ROOT}/src/irda.c ${LIBDC_ROOT}/src/iterator.c ${LIBDC_ROOT}/src/liquivision_lynx.c ${LIBDC_ROOT}/src/liquivision_lynx_parser.c ${LIBDC_ROOT}/src/mares_common.c ${LIBDC_ROOT}/src/mares_darwin.c ${LIBDC_ROOT}/src/mares_darwin_parser.c ${LIBDC_ROOT}/src/mares_iconhd.c ${LIBDC_ROOT}/src/mares_iconhd_parser.c ${LIBDC_ROOT}/src/mares_nemo.c ${LIBDC_ROOT}/src/mares_puck.c ${LIBDC_ROOT}/src/mclean_extreme.c ${LIBDC_ROOT}/src/mclean_extreme_parser.c ${LIBDC_ROOT}/src/oceanic_atom2.c ${LIBDC_ROOT}/src/oceanic_atom2_parser.c ${LIBDC_ROOT}/src/oceanic_common.c ${LIBDC_ROOT}/src/oceanic_veo250.c ${LIBDC_ROOT}/src/oceanic_veo250_parser.c ${LIBDC_ROOT}/src/oceanic_vtpro.c ${LIBDC_ROOT}/src/oceanic_vtpro_parser.c ${LIBDC_ROOT}/src/oceans_s1.c ${LIBDC_ROOT}/src/oceans_s1_common.c ${LIBDC_ROOT}/src/oceans_s1_parser.c ${LIBDC_ROOT}/src/packet.c ${LIBDC_ROOT}/src/parser.c ${LIBDC_ROOT}/src/pelagic_i330r.c ${LIBDC_ROOT}/src/platform.c ${LIBDC_ROOT}/src/rbstream.c ${LIBDC_ROOT}/src/reefnet_sensus.c ${LIBDC_ROOT}/src/reefnet_sensus_parser.c ${LIBDC_ROOT}/src/reefnet_sensuspro.c ${LIBDC_ROOT}/src/reefnet_sensuspro_parser.c ${LIBDC_ROOT}/src/reefnet_sensusultra.c ${LIBDC_ROOT}/src/reefnet_sensusultra_parser.c ${LIBDC_ROOT}/src/ringbuffer.c ${LIBDC_ROOT}/src/seac_screen.c ${LIBDC_ROOT}/src/seac_screen_common.c ${LIBDC_ROOT}/src/seac_screen_parser.c ${LIBDC_ROOT}/src/serial_posix.c ${LIBDC_ROOT}/src/shearwater_common.c ${LIBDC_ROOT}/src/shearwater_petrel.c ${LIBDC_ROOT}/src/shearwater_predator.c ${LIBDC_ROOT}/src/shearwater_predator_parser.c ${LIBDC_ROOT}/src/socket.c ${LIBDC_ROOT}/src/sporasub_sp2.c ${LIBDC_ROOT}/src/sporasub_sp2_parser.c ${LIBDC_ROOT}/src/suunto_common2.c ${LIBDC_ROOT}/src/suunto_common.c ${LIBDC_ROOT}/src/suunto_d9.c ${LIBDC_ROOT}/src/suunto_d9_parser.c ${LIBDC_ROOT}/src/suunto_eon.c ${LIBDC_ROOT}/src/suunto_eon_parser.c ${LIBDC_ROOT}/src/suunto_eonsteel.c ${LIBDC_ROOT}/src/suunto_eonsteel_parser.c ${LIBDC_ROOT}/src/suunto_solution.c ${LIBDC_ROOT}/src/suunto_solution_parser.c ${LIBDC_ROOT}/src/suunto_vyper2.c ${LIBDC_ROOT}/src/suunto_vyper.c ${LIBDC_ROOT}/src/suunto_vyper_parser.c ${LIBDC_ROOT}/src/tecdiving_divecomputereu.c ${LIBDC_ROOT}/src/tecdiving_divecomputereu_parser.c ${LIBDC_ROOT}/src/timer.c ${LIBDC_ROOT}/src/usb.c ${LIBDC_ROOT}/src/usbhid.c ${LIBDC_ROOT}/src/uwatec_aladin.c ${LIBDC_ROOT}/src/uwatec_memomouse.c ${LIBDC_ROOT}/src/uwatec_memomouse_parser.c ${LIBDC_ROOT}/src/uwatec_smart.c ${LIBDC_ROOT}/src/uwatec_smart_parser.c ${LIBDC_ROOT}/src/zeagle_n2ition3.c ) add_library(divecomputer SHARED ${LIBDC_SOURCES}) target_include_directories( divecomputer PUBLIC ${LIBDC_ROOT}/include PRIVATE ${LIBDC_ROOT}/src ) target_compile_definitions( divecomputer PRIVATE ENABLE_LOGGING HAVE_PTHREAD_H HAVE_STRERROR_R HAVE_CLOCK_GETTIME HAVE_LOCALTIME_R HAVE_GMTIME_R HAVE_TIMEGM HAVE_STRUCT_TM_TM_GMTOFF )