miniob
miniob copied to clipboard
CMakeLists.txt: “-DCMAKE_EXPORT_COMPILE_COMMANDS=1”不应该放在此处.
miniob的小伙伴们你们好,我使用vim搭配coc.nvim以及clangd实现c/c++的自动补全,因此对compile_commands.json有需求。
当前的CMakeLists.txt已经涉及compile_commands.json的生成,但是这个FLAG的位置应该摆错了。
https://github.com/oceanbase/miniob/blob/c611d5fe878382116b6a329418b37d6a66daa2e1/CMakeLists.txt#L40
虽然CMAKE_COMMON_FLAGS这个变量感觉上是设置了cmake的FLAGS,但是最后其实是赋值给了CMAKE_CXX_FLAGS,而-DCMAKE_EXPORT_COMPILE_COMMANDS=1这个参数是用在cmake上的,而不是gcc。
解决方法是:
1、在CMakeLists.txt开头位置附近加上set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
2、或在运行cmake时加上参数,即cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ..
这样就能生成compile_commands.json:

能不能提个PR? 等大赛结束,会继续演进miniob