0d49696618
This patch bumps esp8266-rtos-sdk to the latest release. This required to modify the directory structure and the build system to conform to ESP-IDF Style. Since esp-idf target already supports ESP-IDF Style, the espressif targets has been merged to eliminate code duplication. The target application code has been modified from blinking leds to hello world to be aligned to other targets. JerryScript-DCO-1.0-Signed-off-by: Roland Takacs roland.takacs@h-lab.eu
53 lines
2.4 KiB
CMake
53 lines
2.4 KiB
CMake
# Copyright JS Foundation and other contributors, http://js.foundation
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
cmake_minimum_required(VERSION 3.5)
|
|
|
|
# Set JerryScript variables
|
|
set(JERRY_ROOT_DIR ${PROJECT_DIR}/../../..)
|
|
set(JERRY_BUILD_DIR ${JERRY_ROOT_DIR}/build/jerry)
|
|
set(JERRY_INCLUDE_DIRS "${JERRY_ROOT_DIR}/jerry-ext/include" "${JERRY_ROOT_DIR}/jerry-core/include")
|
|
set(JERRY_HEAP_SIZE 20)
|
|
|
|
# Make compile flags separated by spaces
|
|
string(REPLACE ";" " " COMPILE_FLAGS "${COMPILE_OPTIONS};${C_COMPILE_OPTIONS}")
|
|
|
|
# Build JerryScript
|
|
execute_process(COMMAND ${JERRY_ROOT_DIR}/tools/build.py
|
|
--clean
|
|
--builddir=${JERRY_BUILD_DIR}
|
|
--lto=OFF
|
|
--jerry-cmdline=OFF
|
|
--jerry-math=OFF
|
|
--amalgam=ON
|
|
--mem-heap=${JERRY_HEAP_SIZE}
|
|
--profile=es.next
|
|
--compile-flag=${COMPILE_FLAGS}
|
|
--toolchain=${CMAKE_TOOLCHAIN_FILE})
|
|
|
|
# Register JerryScript target application
|
|
idf_component_register(SRCS "jerry-main.c" "jerry-port.c" INCLUDE_DIRS ${JERRY_INCLUDE_DIRS})
|
|
|
|
add_library(jerry-core STATIC IMPORTED)
|
|
add_library(jerry-ext STATIC IMPORTED)
|
|
add_library(jerry-port STATIC IMPORTED)
|
|
|
|
set_target_properties(jerry-core PROPERTIES IMPORTED_LOCATION "${JERRY_BUILD_DIR}/lib/libjerry-core.a")
|
|
set_target_properties(jerry-ext PROPERTIES IMPORTED_LOCATION "${JERRY_BUILD_DIR}/lib/libjerry-ext.a")
|
|
set_target_properties(jerry-port PROPERTIES IMPORTED_LOCATION "${JERRY_BUILD_DIR}/lib/libjerry-port.a")
|
|
|
|
# jerry-core has espressif/main/jerry-port.c as dependency
|
|
target_link_libraries(jerry-core INTERFACE ${COMPONENT_LIB})
|
|
# jerry-main has jerry-core, jerry-ext, jerry-port as dependencies
|
|
target_link_libraries(${COMPONENT_LIB} INTERFACE jerry-core jerry-ext jerry-port)
|