find_program(COMPDB_PATH NAME compdb PATHS ~/.local/bin/ /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ) if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) if (COMPDB_PATH) IF(NOT TARGET COMPD) add_custom_target(COMPD ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/compile_commands.json WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND ${COMPDB_PATH} -p ${CMAKE_CURRENT_BINARY_DIR} list >compile_commands.json ) endif() endif() endif()