这是我在项目根目录下的 CMakeLists.txt
文件中的内容:
cmake_minimum_required(VERSION 3.13)
project(cmake_wrapper)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_custom_target(
copy-compile-commands ALL
${CMAKE_COMMAND} -E copy_if_different
${CMAKE_BINARY_DIR}/compile_commands.json
${CMAKE_CURRENT_LIST_DIR}
)
# I am using conan & everything works fine, so you may ignore 2 lines below
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
# add submodule
add_subdirectory(src)
然后我在我的build
文件夹中运行cmake ..
,在build文件夹中生成了compile_commands.json
,但我没有看到该文件被复制到我的项目根目录中。
更新:
因此,似乎我需要运行build/make
来触发此步骤。
是否有一种方法可以在运行make
之前但compile_commands.json
生成后立即复制文件?