Open7
C++ build関係

つらすぎ

OpenMP関係
_Pragma
macro内でpragmaする:# define OMP_PARALLEL_FOR _Pragma("omp parallel for")
compile option
compiler | command |
---|---|
gcc(++) |
-fopenmp |
clang(++) |
-fopenmp |
ic(p)c |
-qopenmp |
ic(p)x |
-qopenmp or -fiopenmp
|
_OPENMP
OpenMPが有効な場合は_OPENMP
が定義されている
#ifdef _OPENMP
#include <omp.h>
#endif

package manager (cargoみたいなやつ)

C++のecosystem
compiler
build
package manager
test
code整形
documentation
- Doxygen
- MKDocs
- ...
未整理...
- Valgrind
- Sanitizers
- gprof/gdb
- IDE?

scikit-build-coreでCMakeの引数を環境変数で渡す方法
3種類あり書式が微妙に違う。書き方が合っていればどれを使ってもよい(はず)。
CMAKE_ARGS
export CMAKE_ARGS="-DSOME_DEFINE=ON -DOTHER=OFF"
-D
プレフィックスかつスペース区切りで、実際に実行時引数として渡される形式と同じ。
コピペならこれが一番使いやすいと思われる。
SKBUILD_CMAKE_DEFINE
export SKBUILD_CMAKE_DEFINE="SOME_DEFINE=ON;OTHER=OFF"
-D
プレフィックスなしで;
区切り。-D
書きたくない人向け。
SKBUILD_CMAKE_ARGS
export SKBUILD_CMAKE_ARGS="-DSOME_DEFINE=ON;-DOTHER=OFF"
-D
プレフィックスありで;
区切り。これは...何だろう...

cmake --build build -j20
相当をしたい場合
uv build --config-settings=build.tool-args="-j20"