我们有一个基于 PostgreSQL 的项目,它在
./contrib
文件夹下添加了几个新的 C++ 插件。 PostgreSQL 是在 Makefile 中构建的,为了构建那些新添加的 C++ 插件,我们只需添加一个任务
# in contrib/storage_am/Makefile
build-storage-am:
mkdir -p build && cd build && cmake .. ${CMAKE_FLAGS} -DBUILD_GTEST=ON -DCMAKE_PREFIX_PATH=${prefix} -DCMAKE_INSTALL_PATH=${prefix} && make
# in main Makefile:
all:
...
$(MAKE) -C contrib/storage_am
当将此项目导入到 CLion 时,它会将其读取为 Makefile 项目并开始空运行任务
all
。从 Build
面板中,我可以看到它正确读取 Makefile 文件并使用 CMake 执行这些任务来构建这些插件:
但是所有使用 CMake 的代码文件仍然没有索引。有没有什么方法可以将这些“Makefile调用的CMake”项目导入到CLion中?编译数据库和bear会有帮助吗?
是的。 bear可以解决这个问题。确保清理您的 Makefile 和 CMake 项目,然后
bear -- make all
并直接在 CLion 中打开生成的 compilation_commands.json
。