diff options
author | Tom Willemse | 2021-07-22 01:09:45 -0700 |
---|---|---|
committer | Tom Willemse | 2021-07-22 01:09:45 -0700 |
commit | 79c1056553e5150cbdb12e52a19603fd33c3e517 (patch) | |
tree | 7aeb686de8a450d075e984bcde76f055d26f2323 | |
parent | 50473e5ab573d85b1a555874332f6aecdd36f659 (diff) | |
download | crafting-interpreters-79c1056553e5150cbdb12e52a19603fd33c3e517.tar.gz crafting-interpreters-79c1056553e5150cbdb12e52a19603fd33c3e517.zip |
Generate the compilation database through CMake
Use an Emacs directory-local variable to specify to ccls where the compilation
directory lives, tell CMake to generate the compilation database, and remove
bear from the environment.
Add clang to the environment for clang-format.
-rw-r--r-- | .dir-locals.el | 4 | ||||
-rw-r--r-- | clox/CMakeLists.txt | 2 | ||||
-rw-r--r-- | environment.scm | 3 |
3 files changed, 8 insertions, 1 deletions
diff --git a/.dir-locals.el b/.dir-locals.el new file mode 100644 index 0000000..e717202 --- /dev/null +++ b/.dir-locals.el @@ -0,0 +1,4 @@ +;;; Directory Local Variables +;;; For more information see (info "(emacs) Directory Variables") + +((c-mode . ((ccls-args . '("--init={\"compilationDatabaseDirectory\": \"clox/_build\"}"))))) diff --git a/clox/CMakeLists.txt b/clox/CMakeLists.txt index fb44875..aa285e1 100644 --- a/clox/CMakeLists.txt +++ b/clox/CMakeLists.txt @@ -2,4 +2,6 @@ cmake_minimum_required(VERSION 2.19) project(Lox C) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + add_subdirectory(src) diff --git a/environment.scm b/environment.scm index 096d72d..3c649c3 100644 --- a/environment.scm +++ b/environment.scm @@ -9,4 +9,5 @@ (specification->package "dejagnu") (specification->package "gcc-toolchain") (specification->package "ccls") - (specification->package "bear"))) + ;; For clang-format + (specification->package "clang"))) |