scel/el/CMakeLists.txt
Tim Blechmann 99ff5e5747 cmake: scel build fix
Signed-off-by: Tim Blechmann <tim@klingt.org>
2010-11-09 12:58:10 +01:00

44 lines
1.5 KiB
CMake

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
--eval \"(add-to-list 'load-path (expand-file-name \\\"${CMAKE_CURRENT_SOURCE_DIR}\\\"))\"
-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()