blob: a6c922cb00ce57e4d5d304aa5956217268f7880a [file] [log] [blame]
Wyatt Hepler0fbcdfc2020-01-02 07:53:39 -08001# Copyright 2020 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7# https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15project(Pigweed)
16
Wyatt Hepler0a6f7632020-10-29 09:08:19 -070017cmake_minimum_required(VERSION 3.16)
Wyatt Hepler0fbcdfc2020-01-02 07:53:39 -080018
Ewout van Bekkum648b2102021-12-14 17:48:17 -080019# Do not rely on the PW_ROOT environment variable being set through bootstrap.
20# Regardless of whether it's set or not the following include will ensure it is.
21include(pw_build/pigweed.cmake)
Wyatt Hepler1e1d4812021-01-21 15:46:13 -080022
Wyatt Heplera9e249d2020-11-18 09:40:49 -080023add_subdirectory(pw_assert EXCLUDE_FROM_ALL)
24add_subdirectory(pw_assert_basic EXCLUDE_FROM_ALL)
25add_subdirectory(pw_assert_log EXCLUDE_FROM_ALL)
Ewout van Bekkum2c69d782022-03-10 07:28:34 -080026add_subdirectory(pw_assert_zephyr EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080027add_subdirectory(pw_base64 EXCLUDE_FROM_ALL)
28add_subdirectory(pw_blob_store EXCLUDE_FROM_ALL)
29add_subdirectory(pw_build EXCLUDE_FROM_ALL)
Ewout van Bekkumfbd7b002022-01-20 14:35:01 -080030add_subdirectory(pw_build_info EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080031add_subdirectory(pw_bytes EXCLUDE_FROM_ALL)
32add_subdirectory(pw_checksum EXCLUDE_FROM_ALL)
Alexei Frolove39af8d2020-12-30 14:55:09 -080033add_subdirectory(pw_chrono EXCLUDE_FROM_ALL)
Ewout van Bekkumc2f40802022-01-19 17:21:07 -080034add_subdirectory(pw_chrono_freertos EXCLUDE_FROM_ALL)
Alexei Frolove39af8d2020-12-30 14:55:09 -080035add_subdirectory(pw_chrono_stl EXCLUDE_FROM_ALL)
Ewout van Bekkumc2f40802022-01-19 17:21:07 -080036add_subdirectory(pw_chrono_zephyr EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080037add_subdirectory(pw_containers EXCLUDE_FROM_ALL)
38add_subdirectory(pw_cpu_exception EXCLUDE_FROM_ALL)
Armando Montaneza9ca9992021-01-26 17:06:10 -080039add_subdirectory(pw_cpu_exception_cortex_m EXCLUDE_FROM_ALL)
Armando Montanez0aa452b2021-09-29 17:21:33 -070040add_subdirectory(pw_file EXCLUDE_FROM_ALL)
Alexei Frolov99de52d2021-05-11 19:58:01 -070041add_subdirectory(pw_function EXCLUDE_FROM_ALL)
Alexei Frolovd3e5cb72021-01-08 13:08:45 -080042add_subdirectory(pw_hdlc EXCLUDE_FROM_ALL)
Yuval Peressb8f3ad22021-10-26 22:55:27 -060043add_subdirectory(pw_interrupt EXCLUDE_FROM_ALL)
Ewout van Bekkum718e1ba2022-01-20 08:27:03 -080044add_subdirectory(pw_interrupt_cortex_m EXCLUDE_FROM_ALL)
45add_subdirectory(pw_interrupt_zephyr EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080046add_subdirectory(pw_kvs EXCLUDE_FROM_ALL)
47add_subdirectory(pw_log EXCLUDE_FROM_ALL)
48add_subdirectory(pw_log_basic EXCLUDE_FROM_ALL)
Wyatt Heplerb59d2c92021-05-11 11:20:43 -070049add_subdirectory(pw_log_null EXCLUDE_FROM_ALL)
Ewout van Bekkum5ddc01d2022-03-08 12:50:25 -080050add_subdirectory(pw_log_string EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080051add_subdirectory(pw_log_tokenized EXCLUDE_FROM_ALL)
Ewout van Bekkum5ddc01d2022-03-08 12:50:25 -080052add_subdirectory(pw_log_zephyr EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080053add_subdirectory(pw_minimal_cpp_stdlib EXCLUDE_FROM_ALL)
Ewout van Bekkum2c69d782022-03-10 07:28:34 -080054add_subdirectory(pw_multisink EXCLUDE_FROM_ALL)
Ewout van Bekkumfbd7b002022-01-20 14:35:01 -080055add_subdirectory(pw_persistent_ram EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080056add_subdirectory(pw_polyfill EXCLUDE_FROM_ALL)
Ewout van Bekkum2c69d782022-03-10 07:28:34 -080057add_subdirectory(pw_preprocessor EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080058add_subdirectory(pw_protobuf EXCLUDE_FROM_ALL)
Wyatt Heplerbcaf8832021-05-25 11:20:04 -070059add_subdirectory(pw_protobuf_compiler EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080060add_subdirectory(pw_random EXCLUDE_FROM_ALL)
61add_subdirectory(pw_result EXCLUDE_FROM_ALL)
Yuanyao (YY) Zhongf0e92052021-10-15 11:48:54 -040062add_subdirectory(pw_ring_buffer EXCLUDE_FROM_ALL)
Alexei Frolov5af57d12021-01-12 11:38:06 -080063add_subdirectory(pw_router EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080064add_subdirectory(pw_rpc EXCLUDE_FROM_ALL)
Ewout van Bekkumc5c8b272022-01-26 16:23:08 -080065add_subdirectory(pw_snapshot EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080066add_subdirectory(pw_span EXCLUDE_FROM_ALL)
67add_subdirectory(pw_status EXCLUDE_FROM_ALL)
68add_subdirectory(pw_stream EXCLUDE_FROM_ALL)
69add_subdirectory(pw_string EXCLUDE_FROM_ALL)
Alexei Frolove39af8d2020-12-30 14:55:09 -080070add_subdirectory(pw_sync EXCLUDE_FROM_ALL)
Ewout van Bekkumf05e17b2022-03-04 15:35:01 -080071add_subdirectory(pw_sync_freertos EXCLUDE_FROM_ALL)
Alexei Frolove39af8d2020-12-30 14:55:09 -080072add_subdirectory(pw_sync_stl EXCLUDE_FROM_ALL)
Ewout van Bekkumf05e17b2022-03-04 15:35:01 -080073add_subdirectory(pw_sync_zephyr EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080074add_subdirectory(pw_sys_io EXCLUDE_FROM_ALL)
75add_subdirectory(pw_sys_io_stdio EXCLUDE_FROM_ALL)
Ewout van Bekkum2c69d782022-03-10 07:28:34 -080076add_subdirectory(pw_sys_io_zephyr EXCLUDE_FROM_ALL)
Carlos Chinchillae8275d32021-12-08 09:46:35 -080077add_subdirectory(pw_system EXCLUDE_FROM_ALL)
Ewout van Bekkume858b812022-01-19 17:07:54 -080078add_subdirectory(pw_thread EXCLUDE_FROM_ALL)
Ewout van Bekkum6dc23f72022-01-19 16:48:21 -080079add_subdirectory(pw_thread_freertos EXCLUDE_FROM_ALL)
Ewout van Bekkumc031e1d2022-01-20 09:05:36 -080080add_subdirectory(pw_thread_stl EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080081add_subdirectory(pw_tokenizer EXCLUDE_FROM_ALL)
82add_subdirectory(pw_trace EXCLUDE_FROM_ALL)
Yuanyao (YY) Zhongf0e92052021-10-15 11:48:54 -040083add_subdirectory(pw_trace_tokenized EXCLUDE_FROM_ALL)
Alexei Frolovf93cb262021-07-14 16:05:15 -070084add_subdirectory(pw_transfer EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080085add_subdirectory(pw_unit_test EXCLUDE_FROM_ALL)
86add_subdirectory(pw_varint EXCLUDE_FROM_ALL)
Wyatt Heplerc9e51d22020-10-29 09:12:37 -070087
Wyatt Heplera9e249d2020-11-18 09:40:49 -080088add_subdirectory(third_party/nanopb EXCLUDE_FROM_ALL)
Ewout van Bekkum826f9712022-01-19 15:05:04 -080089add_subdirectory(third_party/freertos EXCLUDE_FROM_ALL)
Wyatt Heplera9e249d2020-11-18 09:40:49 -080090
Yuval Peressb8f3ad22021-10-26 22:55:27 -060091if(NOT ZEPHYR_PIGWEED_MODULE_DIR)
92 add_subdirectory(targets/host EXCLUDE_FROM_ALL)
93
94 add_custom_target(pw_apps)
95 add_dependencies(pw_apps pw_hdlc.rpc_example)
96endif()