私は C++20 で新しいモジュール機能を使用したいと思っています。私が理解している限り、gcc と clang の両方が十分に使用できるように実装されているようです。
基本的に、私がオンラインで見るすべてのコード例は、すべてのモジュールを個別にコンパイルし、それらの順序を手動で指定します。make
異なるモジュール間の依存関係を自動的に見つける方法はありますか?
Makefile
基本的に次のようなものを書きたいと思います。
# ...
SRC := $(find $(SRCDIR) -name "*.cpp")
OBJ := $(SRC:.cpp=.o)
PCM := $(SRC:.cpp=.pcm)
*.pcm: CXXFLAGS += -Xclang -emit-module-interface
# ...
$(EXE): $(OBJ)
$(LD) $(LDFLAGS) -o $@ $^
$(OBJ): %.o: %.cpp %.pcm
$(CXX) $(CXXFLAGS) -o $@ $<
$(PCM): %.pcm: %.cpp
$(CXX) $(CXXFLAGS) -o $@ $<
make
しかし、モジュールをコンパイルする必要がある順序がわからないため、これは明らかに機能しません。
そう:
- C++ モジュールで動作するジェネリック Makefile を作成する正しい方法は何ですか?
- C++ モジュールと を使用した重要なプロジェクトの良い例はあり
make
ますか?
さらに:
- C++ モジュールと を使用した重要なプロジェクトの良い例はあり
cmake
ますか?