# Albireo farm pi ## Build ``` git clone https://github.com/41b1r30/farm-pi cd farm-pi git checkout experiment/water_temperature git submodule update --init cmake ninja ``` ## Run ``` sudo ./main ``` ### Develop #### CMake option - `-B <path-to-build>` ビルドディレクトリの指定 デフォルトはカレントディレクトリ - `-S <path-to-source>` ソースディレクトリの指定 デフォルトはカレントディレクトリ - `-G <generator-name>` ジェネレータの指定 デフォルトはGNU Make NinjaやXCodeなどを指定することが可能 - `-D <var>[:<type>]=<value>` CMakeの変数の指定 いくつかの変数がデフォルトで用意されている - BUILD_SHARED_LIBS ライブラリを共有ライブラリでビルドする - CMAKE_BUILD_TYPE ビルドタイプの指定 Debug, Releseなどを指定可能 - CMAKE_EXPORT_COMPILE_COMMANDS compile_commands.jsonを出力する clangdやclang-tidyなどで利用する - CMAKE_C_COMPILER Cのコンパイラの指定 gcc, clangなど - CMAKE_CXX_COMPILER C++のコンパイラの指定 g\+\+, clang\+\+など - CMAKE_C_COMPILER_LAUNCHER Cのコンパイル時ランチャーの指定 ccacheなど - CMAKE_CXX_COMPILER_LAUNCHER C++のコンパイル時ランチャーの指定 ccacheなど - CMAKE_C_FLAGS Cのコンパイル時オプションの追加 - CMAKE_CXX_FLAGS C++のコンパイル時オプションの追加 - CMAKE_RUNTIME_OUTPUT_DIRECTORY ランタイムオブジェクトの出力ディレクトリの指定 - CMAKE_LIBRARY_OUTPUT_DIRECTORY 共有ライブラリの出力ディレクトリの指定 - CMAKE_ARCHIVE_OUTPUT_DIRECTORY 静的ライブラリの出力ディレクトリの指定 #### Format ``` clang-format --style=file -i <file> cmake-format -i <file> ``` #### Lint ``` clang-tidy <file> cmake-lint <file> ```