ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=1c92229d71fce78391bd46c57e63a0033b42110f

commit 1c92229d71fce78391bd46c57e63a0033b42110f
Author: Kelly Wilson <[email protected]>
Date:   Thu Feb 5 12:16:54 2015 -0700

    Build: add cmake builder
    
    Add ability to build a cmake project. This specifically makes a new build 
directory in the base directory for building, as that is the recommended cmake 
strategy.
---
 src/lib/edi_builder.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/lib/edi_builder.c b/src/lib/edi_builder.c
index 3e66687..569f6e1 100644
--- a/src/lib/edi_builder.c
+++ b/src/lib/edi_builder.c
@@ -11,6 +11,7 @@ edi_builder_can_build(void)
 {
    return edi_project_file_exists("Makefile") ||
           edi_project_file_exists("configure") ||
+          edi_project_file_exists("CMakeLists.txt") ||
           edi_project_file_exists("autogen.sh");
 }
 
@@ -31,6 +32,15 @@ _edi_builder_build_configure(void)
 }
 
 EAPI void
+_edi_builder_build_cmake(void)
+{
+   chdir(edi_project_get());
+   ecore_exe_pipe_run("mkdir -p build && cd build && cmake .. && make && cd 
..",
+                              ECORE_EXE_PIPE_READ_LINE_BUFFERED | 
ECORE_EXE_PIPE_READ |
+                              ECORE_EXE_PIPE_ERROR_LINE_BUFFERED | 
ECORE_EXE_PIPE_ERROR, NULL);
+}
+
+EAPI void
 _edi_builder_build_autogen(void)
 {
    chdir(edi_project_get());
@@ -45,6 +55,8 @@ edi_builder_build(void)
      _edi_builder_build_make();
    else if (edi_project_file_exists("configure"))
      _edi_builder_build_configure();
+   else if (edi_project_file_exists("CMakeLists.txt"))
+     _edi_builder_build_cmake();
    else if (edi_project_file_exists("autogen.sh"))
      _edi_builder_build_autogen();
 }

-- 


Reply via email to