Bad message given by cmake

Not sure where to report this, so apologies if this is the wrong place. I’m building SC for the first time in a while and following the instructions from supercollider/README_LINUX.md at develop · supercollider/supercollider · GitHub.

When I run cmake I get this error:

CMake Error at editors/sc-el/el/CMakeLists.txt:23 (message):
  Emacs could not be found.

   (If emacs interface is not required, then set SC_EL=no)

In fact, I found I still need to specify this flag to skip the Emacs bit:

-DSC_EL=OFF

So I think either the flag or the error message needs updating. Cheers!

1 Like

I was thinking about that the other day. Maybe installing the emacs-lisp files in the Extensions (as a regular quark) folder by default or some user directory would be better. Since there are many legacy and rusty parts, this could encourage more people to improve them, instead of installing them with system files (as default)

IIUC you referring to the missing D prefix in the error message - this is indeed a bit misleading but in cmake one sets a flag by prefixing it with D
You can also try out ccmake . in the build directory to see and set the available flags.

IMO SC_EL could be addressed in the README for linux - it is mentioned in the Fedora section. Feel free to propose a change and create a PR :slight_smile:

Also the value: OFF instead of no. But they make be the same in cmake, I have no idea.

They are indeed interchangable, see if — CMake 3.31.3 Documentation

True if the constant is 1, ON, YES, TRUE, Y, or a non-zero number (including floating point numbers). False if the constant is 0, OFF, NO, FALSE, N, IGNORE, NOTFOUND, the empty string, or ends in the suffix -NOTFOUND.

and cmake(1) — CMake 3.0.2 Documentation

-D <var>:<type>=<value>

Create a cmake cache entry.

When cmake is first run in an empty build tree, it creates a CMakeCache.txt file and populates it with customizable settings for the project. This option may be used to specify a setting that takes priority over the project’s default value. The option may be repeated for as many cache entries as desired.

Maybe we could

Would you like to create a PR for this?