diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..8bfc543 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,2 @@ +add_subdirectory(el) +add_subdirectory(sc) \ No newline at end of file diff --git a/el/CMakeLists.txt b/el/CMakeLists.txt new file mode 100644 index 0000000..50be63d --- /dev/null +++ b/el/CMakeLists.txt @@ -0,0 +1,42 @@ +find_program(EMACS_EXECUTABLE emacs) +if(NOT EMACS_EXECUTABLE) + message(SEND_ERROR "Emacs could not be found") +endif() + +file(GLOB scel_sources + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.el) + +set(PKG_DATA_DIR ${CMAKE_INSTALL_PREFIX}/share/SuperCollider) + +configure_file(sclang-vars.el.in + ${CMAKE_CURRENT_BINARY_DIR}/sclang-vars.el) + +add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/sclang-vars.elc + COMMAND ${EMACS_EXECUTABLE} -batch -f batch-byte-compile + ${CMAKE_CURRENT_BINARY_DIR}/sclang-vars.el + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/sclang-vars.el + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Creating byte-compiled Emacs lisp ${CMAKE_CURRENT_BINARY_DIR}/sclang-vars.elc") + +add_custom_target(sclang-vars.elc ALL + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/sclang-vars.elc) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/sclang-vars.elc + DESTINATION share/emacs/site-lisp) + + +foreach (el ${scel_sources}) + configure_file(${el} ${CMAKE_CURRENT_BINARY_DIR}/${el}) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${el}c + COMMAND ${EMACS_EXECUTABLE} -batch -f batch-byte-compile + ${CMAKE_CURRENT_BINARY_DIR}/${el} + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${el} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Creating byte-compiled Emacs lisp ${CMAKE_CURRENT_BINARY_DIR}/${el}c") + + add_custom_target(${el}c ALL + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${el}c) + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${el}c + DESTINATION share/emacs/site-lisp) +endforeach() diff --git a/sc/CMakeLists.txt b/sc/CMakeLists.txt new file mode 100644 index 0000000..7852104 --- /dev/null +++ b/sc/CMakeLists.txt @@ -0,0 +1,6 @@ +file(GLOB scel_sources + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.sc) + + +install(FILES ${scel_sources} + DESTINATION share/SuperCollider/Extensions/scide_scel)