build: add eolian
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>
Mon, 23 Jan 2017 17:52:34 +0000 (18:52 +0100)
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>
Mon, 23 Jan 2017 17:52:34 +0000 (18:52 +0100)
CMakeLists.txt
cmake/config/eolian.cmake [new file with mode: 0644]
cmake/helpers/EflMacros.cmake
src/bin/eolian/CMakeLists.txt [new file with mode: 0644]
src/lib/eolian/CMakeLists.txt [new file with mode: 0644]
src/tests/eolian/CMakeLists.txt [new file with mode: 0644]

index 6604e12..194ff3c 100644 (file)
@@ -36,6 +36,7 @@ include_directories(
 include(${CMAKE_SOURCE_DIR}/cmake/config/common.cmake)
 
 EFL_LIB(eina)
+EFL_LIB(eolian)
 
 EFL_OPTIONS_SUMMARY()
 
diff --git a/cmake/config/eolian.cmake b/cmake/config/eolian.cmake
new file mode 100644 (file)
index 0000000..5c9a6ca
--- /dev/null
@@ -0,0 +1 @@
+EFL_OPTION(EOLIAN_BIN "The eolian_gen binary to use" ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/eolian_gen)
\ No newline at end of file
index 8938fa1..516658f 100644 (file)
@@ -750,6 +750,7 @@ function(EFL_TEST _testname)
     ${CHECK_LIBRARIES})
 
   target_compile_definitions(${_testtarget} PRIVATE
+    "-DPACKAGE_DATA_DIR=\"${EFL_TESTS_SOURCE_DIR}\""
     "-DTESTS_SRC_DIR=\"${_testrcdir}\""
     "-DTESTS_BUILD_DIR=\"${_testbindir}\""
     "-DTESTS_WD=\"${PROJECT_BINARY_DIR}\""
diff --git a/src/bin/eolian/CMakeLists.txt b/src/bin/eolian/CMakeLists.txt
new file mode 100644 (file)
index 0000000..05278d7
--- /dev/null
@@ -0,0 +1,19 @@
+set(OUTPUT_NAME eolian_gen)
+
+set(LIBRARIES
+  eina
+  eolian
+)
+
+set(SOURCES
+  docs.c
+  docs.h
+  headers.c
+  headers.h
+  main.c
+  main.h
+  sources.c
+  sources.h
+  types.c
+  types.h
+)
\ No newline at end of file
diff --git a/src/lib/eolian/CMakeLists.txt b/src/lib/eolian/CMakeLists.txt
new file mode 100644 (file)
index 0000000..0225831
--- /dev/null
@@ -0,0 +1,46 @@
+set(DESCRIPTION "A library to parse .eo files ")
+
+set(LIBRARIES
+  eina
+)
+
+#if (WINDOWS)
+# set(LIBRARIES ${LIBRARIES} evil)
+#endif (WINDOWS)
+
+set(PUBLIC_HEADERS
+  Eolian.h
+)
+
+set(INCLUDE_DIRECTORIES
+  ./
+)
+
+set(SOURCES
+  database_class.c
+  database_class_api.c
+  database_constructor.c
+  database_constructor_api.c
+  database_event.c
+  database_event_api.c
+  database_expr.c
+  database_expr_api.c
+  database_function.c
+  database_function_api.c
+  database_function_parameter.c
+  database_function_parameter_api.c
+  database_implement.c
+  database_implement_api.c
+  database_type.c
+  database_type_api.c
+  database_validate.c
+  database_var.c
+  database_var_api.c
+  eo_lexer.c
+  eo_lexer.h
+  eo_parser.c
+  eo_parser.h
+  eolian.c
+  eolian_database.c
+  eolian_database.h
+)
diff --git a/src/tests/eolian/CMakeLists.txt b/src/tests/eolian/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c7ea8f1
--- /dev/null
@@ -0,0 +1,19 @@
+set(INCLUDE_DIRECTORIES
+  ${CMAKE_SOURCE_DIR}/src/lib/eo/
+)
+
+set(LIBRARIES
+    eina
+    eolian
+)
+
+set(DEFINITIONS
+  -DEOLIAN_GEN="${EOLIAN_BIN}")
+
+set(SOURCES
+  #for now no test suite
+  eolian_generation.c
+  eolian_parsing.c
+  eolian_suite.c
+  eolian_suite.h
+)