diff --git a/.gitignore b/.gitignore index a8a1494a1f..87aa203888 100644 --- a/.gitignore +++ b/.gitignore @@ -182,6 +182,7 @@ pip-log.txt ## clangd ############# .clangd +compile_commands.json ############# ## CLion @@ -192,4 +193,4 @@ pip-log.txt ## CMake Builds ############# [Bb]uild*/ -cmake-build-* \ No newline at end of file +cmake-build-* diff --git a/CMakeLists.txt b/CMakeLists.txt index c168794694..4947258619 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -96,6 +96,14 @@ endif() #============================================================================= list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_SOURCE_DIR}/cmake/Modules") +if(CMAKE_EXPORT_COMPILE_COMMANDS) + add_custom_target( + copy-compile-commands ALL + ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_BINARY_DIR}/compile_commands.json + ${CMAKE_CURRENT_LIST_DIR}) +endif() + #============================================================================= # # Architecture/OS defines