From b9f926d13b9b102787b7ba4c744b5af8ea1fad36 Mon Sep 17 00:00:00 2001 From: Zachary Massia Date: Mon, 14 Dec 2015 02:13:45 -0500 Subject: [PATCH] Add Emacs to IDE templates --- platformio/ide/tpls/emacs/.gitignore.tpl | 5 ++ platformio/ide/tpls/emacs/CMakeLists.txt.tpl | 56 ++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 platformio/ide/tpls/emacs/.gitignore.tpl create mode 100644 platformio/ide/tpls/emacs/CMakeLists.txt.tpl diff --git a/platformio/ide/tpls/emacs/.gitignore.tpl b/platformio/ide/tpls/emacs/.gitignore.tpl new file mode 100644 index 00000000..f26ff798 --- /dev/null +++ b/platformio/ide/tpls/emacs/.gitignore.tpl @@ -0,0 +1,5 @@ +CMakeCache.txt +CMakeFiles/ +MakeFile +cmake_install.cmake +compile_commands.json \ No newline at end of file diff --git a/platformio/ide/tpls/emacs/CMakeLists.txt.tpl b/platformio/ide/tpls/emacs/CMakeLists.txt.tpl new file mode 100644 index 00000000..7083f466 --- /dev/null +++ b/platformio/ide/tpls/emacs/CMakeLists.txt.tpl @@ -0,0 +1,56 @@ +cmake_minimum_required(VERSION 3.2) +project({{project_name}}) + +set(ENV{PATH} "{{env_path}}") +set(PLATFORMIO_CMD "{{platformio_path}}") +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +% for include in includes: +% if include.startswith(user_home_dir): +% if "windows" in systype: +include_directories("$ENV{HOMEDRIVE}$ENV{HOMEPATH}{{include.replace(user_home_dir, '').replace("\\", "/")}}") +% else: +include_directories("$ENV{HOME}{{include.replace(user_home_dir, '').replace("\\", "/")}}") +% end +% else: +include_directories("{{include.replace("\\", "/")}}") +% end +% end + +% for define in defines: +add_definitions(-D{{!define}}) +% end + +add_custom_target( + platformio_build ALL + COMMAND ${PLATFORMIO_CMD} -f -c emacs run + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +) + +add_custom_target( + platformio_upload ALL + COMMAND ${PLATFORMIO_CMD} -f -c emacs run --target upload + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +) + +add_custom_target( + platformio_clean ALL + COMMAND ${PLATFORMIO_CMD} -f -c emacs run --target clean + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +) + +add_custom_target( + platformio_update ALL + COMMAND ${PLATFORMIO_CMD} -f -c emacs update + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +) + +% if main_src_file: +add_executable({{project_name}} {{main_src_file.replace("\\", "/")}}) +% else: +# +# To enable code auto-completion, please specify path +# to main source file (*.c, *.cpp) and uncomment line below +# +# add_executable({{project_name}} src/main_change_me.cpp) +% end