# # Copyright (c) 2021 Nordic Semiconductor ASA # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # cmake_minimum_required(VERSION 3.20.0) find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) # set(NANOPB_SOURCE_PATH $ENV{NANOPB_SOURCE_PATH}) # set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${NANOPB_SOURCE_PATH}/extra) # set(NANOPB_IMPORT_DIRS $ENV{NANOPB_SOURCE_PATH}) # set(NANOPB_GENERATE_CPP_APPEND_PATH FALSE) # find_package(Nanopb REQUIRED) project(asset_tracker_v2) # include_directories(${NANOPB_INCLUDE_DIRS}) get_filename_component(PROTOBUF_DEF_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/kt_proto ABSOLUTE) # set(NANOPB_OPTIONS "-I${PROTOBUF_DEF_ROOT}") set(NANOPB_OPTIONS -v) NANOPB_GENERATE_CPP(PROTO_SRCS PROTO_HDRS RELPATH ${PROTOBUF_DEF_ROOT} ${PROTOBUF_DEF_ROOT}/proto/embedded/absolute_pressure.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/accelerometer.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/breadcrumb.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/build_info.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/cable.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/camera.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/cell_modem.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/charge_ctrl.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/device_information.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/diagnostic.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/driver.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/gnss.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/gyroscope.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/internal_battery.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/iot_mgr.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/lte_mgr.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/ota.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/payload_instruction.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/pcb.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/persistent_config.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/post_processed.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/power.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/power_mode.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/sensor_data.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/sensor_uplink_transmission.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/stationary_mgr.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/system.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/task_info.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/temperature_humidity.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/temperature_humidity_samples.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/tire_info.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/trace.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/uplink_transmission.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/vehicle.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/vehicle_common.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/vehicle_gateway.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/thermoking/snapshot.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/thermoking/cargo_temperature_info.proto ${PROTOBUF_DEF_ROOT}/proto/embedded/thermoking/cargo_watch.proto ) # NANOPB_GENERATE_CPP(GOOGLE_PROTO_SRCS GOOGLE_PROTO_HDRS RELPATH ${NANOPB_IMPORT_DIRS} # ${NANOPB_IMPORT_DIRS}/google/protobuf/timestamp.proto # ${NANOPB_IMPORT_DIRS}/google/protobuf/duration.proto # ) include_directories(${CMAKE_CURRENT_BINARY_DIR}) # Application directories add_subdirectory(src/modules) add_subdirectory(src/events) add_subdirectory(src/hw_interface) # add_subdirectory(kt_proto) # add_subdirectory(protoc) # add_subdirectory(nanopb) # Other paths include_directories($ENV{FIREFLY_EXTERNS_PATH}/ncs/nrfxlib) # include_directories(protoc/src) # include_directories(nanopb/nanopb) # include_directories($ENV{FIREFLY_EXTERNS_PATH}/protobuf/src/google/protobuf) # Include source directory target_include_directories(app PRIVATE src) target_include_directories(app PRIVATE include/${BOARD}/) # target_include_directories(app PRIVATE kt_proto) # target_include_directories(app PRIVATE protoc) # target_include_directories(app PRIVATE nanopb) # zephyr_include_directories_ifdef(CONFIG_MEMFAULT app PRIVATE configuration/memfault) # NORDIC SDK APP START target_sources(app PRIVATE src/main.c ${PROTO_SRCS}) # target_sources(app PRIVATE # src/main.c # ) # NORDIC SDK APP END zephyr_library_include_directories(.) # we need to be able to include generated header files zephyr_library_include_directories(${CMAKE_CURRENT_BINARY_DIR}) # target_link_libraries(app # PUBLIC # proto # ) add_subdirectory_ifdef(CONFIG_CLOUD_MODULE src/cloud) add_subdirectory_ifdef(CONFIG_SENSOR_MODULE src/ext_sensors) add_subdirectory_ifdef(CONFIG_WATCHDOG_APPLICATION src/watchdog) add_subdirectory_ifdef(CONFIG_LWM2M_CARRIER src/carrier_certs)