diff options
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/jerry.cmake | 22 | ||||
-rw-r--r-- | cmake/zjs.cmake | 45 | ||||
-rw-r--r-- | cmake/zjs_linux.cmake | 19 |
3 files changed, 59 insertions, 27 deletions
diff --git a/cmake/jerry.cmake b/cmake/jerry.cmake index a504c4e..20ae4c3 100644 --- a/cmake/jerry.cmake +++ b/cmake/jerry.cmake @@ -4,12 +4,16 @@ include(ExternalProject) # Additional build flags to work around JerryScript warnings set(jerry_cflags " \ - -Wall \ - -Werror \ -Wno-conversion \ -Wno-implicit-function-declaration \ -Wno-old-style-declaration \ - -Wno-undef" + -Wno-pedantic \ + -Wno-shadow \ + -Wno-sign-compare \ + -Wno-sign-conversion \ + -Wno-undef \ + -Wno-unused-parameter \ + -Wno-unused-variable" ) zephyr_get_include_directories_for_lang_as_string(C includes) @@ -17,8 +21,15 @@ zephyr_get_system_include_directories_for_lang_as_string(C system_includes) zephyr_get_compile_definitions_for_lang_as_string(C definitions) zephyr_get_compile_options_for_lang_as_string(C options) +# include the shim layer that ports the network API to build on Zephyr +if("${DEBUGGER}" STREQUAL "on") + set(net_includes + "-I${CMAKE_SOURCE_DIR}/src/jerry-port" + ) +endif() + set(external_project_cflags - "${includes} ${definitions} ${options} ${system_includes}${jerry_cflags}" + "${includes} ${definitions} ${options} ${system_includes} ${jerry_cflags} ${net_includes}" ) if("${SNAPSHOT}" STREQUAL "on") @@ -33,10 +44,11 @@ set(CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_C_COMPILER_WORKS=TRUE -DCMAKE_SYSTEM_NAME=Zephyr - -DENABLE_ALL_IN_ONE=${ALL_IN_ONE} + -DENABLE_ALL_IN_ONE=OFF -DENABLE_LTO=OFF -DEXTERNAL_COMPILE_FLAGS=${external_project_cflags} -DFEATURE_ERROR_MESSAGES=ON + -DFEATURE_DEBUGGER=${DEBUGGER} -DFEATURE_INIT_FINI=ON -DFEATURE_PROFILE=${JERRY_PROFILE} -DFEATURE_SNAPSHOT_EXEC=OFF diff --git a/cmake/zjs.cmake b/cmake/zjs.cmake index 3b7ba24..953b95d 100644 --- a/cmake/zjs.cmake +++ b/cmake/zjs.cmake @@ -56,22 +56,35 @@ target_compile_options(app PRIVATE -Wno-implicit-function-declaration ) -target_include_directories(app PRIVATE ./src) -target_include_directories(app PRIVATE ${ZEPHYR_BASE}/drivers) -target_include_directories(app PRIVATE ${JERRY_BASE}/jerry-core/include) -target_include_directories(app PRIVATE ${JERRY_BASE}/jerry-core/jrt) -target_include_directories(app PRIVATE ${JERRY_BASE}/jerry-ext/include) -target_include_directories(app PRIVATE ${CMAKE_BINARY_DIR}/../include) - -target_sources(app PRIVATE src/main.c) -target_sources(app PRIVATE src/zjs_callbacks.c) -target_sources(app PRIVATE src/zjs_common.c) -target_sources(app PRIVATE src/zjs_error.c) -target_sources(app PRIVATE src/zjs_modules.c) -target_sources(app PRIVATE src/zjs_script.c) -target_sources(app PRIVATE src/zjs_timers.c) -target_sources(app PRIVATE src/zjs_util.c) -target_sources(app PRIVATE src/jerry-port/zjs_jerry_port.c) +set(APP_INCLUDES + ./src + ${ZEPHYR_BASE}/drivers + ${JERRY_BASE}/jerry-core/include + ${JERRY_BASE}/jerry-core/jrt + ${JERRY_BASE}/jerry-ext/include + ${CMAKE_BINARY_DIR}/../include + ) + +set(APP_SRC + src/main.c + src/zjs_callbacks.c + src/zjs_common.c + src/zjs_error.c + src/zjs_modules.c + src/zjs_script.c + src/zjs_timers.c + src/zjs_util.c + src/jerry-port/zjs_jerry_port.c + ) + +if("${DEBUGGER}" STREQUAL "on") + add_definitions(-DJERRY_DEBUGGER) + add_definitions(-DZJS_DEBUGGER) +endif() + +target_include_directories(app PRIVATE ${APP_INCLUDES}) + +target_sources(app PRIVATE ${APP_SRC}) target_link_libraries(app jerry-core jerry-ext) diff --git a/cmake/zjs_linux.cmake b/cmake/zjs_linux.cmake index 21314ef..3fe4a92 100644 --- a/cmake/zjs_linux.cmake +++ b/cmake/zjs_linux.cmake @@ -77,12 +77,8 @@ set(APP_COMPILE_OPTIONS -std=gnu99 ) -if(CB_STATS) - add_definitions(-DCB_STATS=${CB_STATS}) -endif() - -if(DEBUGGER) - add_definitions(-DZJS_DEBUGGER=${ZJS_DEBUGGER}) +if("${CB_STATS}" STREQUAL "on") + add_definitions(-DZJS_PRINT_CALLBACK_STATS) endif() if("${VARIANT}" STREQUAL "debug") @@ -141,6 +137,17 @@ if(NOT APPLE) # these flags are needed to get rid of warnings in iotivity-constrained list(APPEND APP_COMPILE_OPTIONS -Wno-pointer-sign) + + if("${DEBUGGER}" STREQUAL "on") + list(APPEND APP_INCLUDES + ${JERRY_BASE}/jerry-core/debugger + ${JERRY_BASE}/jerry-core/ecma/base + ${JERRY_BASE}/jerry-core/jmem + ${JERRY_BASE}/jerry-core/lit + ) + add_definitions(-DJERRY_DEBUGGER) + add_definitions(-DZJS_DEBUGGER) + endif() endif() # build libjerry as a static library |