290bc22f0c
In 1.10, Zephyr RTOS switched to CMake as means to generate application makefiles. Consequently, drop Makefile, and introduce CMakeLists.txt, and update master Makefile.zephyr accordingly. With these changes, take a chance to make following "cosmetic" changes: 1. Make "qemu_x86" board target the default instead of "arduino_101". Arduino 101 is just one of the boards of many supported by Zephyr (and thus JerryScript port), while qemu_x86 is something everyone has. 2. Zephyr make target to run QEMU switched from "qemu" to "run". 3. Don't rely that there's zephyr.strip, it's presence is now board-dependent. The most we can rely on is zephyr.elf. targets: zephyr: Remove deprecated prj.mdef file. MDEF files have been deprecated and ignored for few Zephyr releases. targets: zephyr: Increase main (i.e. interpreter) thread stack size. qemu_x86 target now has stack guard enabled by default and it trips with the default stack size. Set it to 2K for now. targets: zephyr: Makefile.travis: Update for Zephyr 1.10. Zephyr 1.10 requires SDK 0.9.2 and CMake 3.8.2. Also, don't hardcode CC path, it depends on a board and choosed automatically by Zephyr build system. JerryScript-DCO-1.0-Signed-off-by: Paul Sokolovsky paul.sokolovsky@linaro.org
48 lines
2.0 KiB
CMake
48 lines
2.0 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.
|
|
|
|
include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)
|
|
project(NONE)
|
|
|
|
target_sources(app PRIVATE src/main-zephyr.c src/jerry-port.c src/getline-zephyr.c)
|
|
|
|
add_library(jerry-core STATIC IMPORTED)
|
|
add_library(jerry-ext STATIC IMPORTED)
|
|
set_target_properties(jerry-core PROPERTIES IMPORTED_LOCATION
|
|
${CMAKE_CURRENT_BINARY_DIR}/../obj/lib/libjerry-core.a)
|
|
set_target_properties(jerry-core PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../jerry-core/include)
|
|
set_target_properties(jerry-ext PROPERTIES IMPORTED_LOCATION
|
|
${CMAKE_CURRENT_BINARY_DIR}/../obj/lib/libjerry-ext.a)
|
|
set_target_properties(jerry-ext PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../jerry-ext/include)
|
|
target_link_libraries(app jerry-core jerry-ext)
|
|
|
|
zephyr_get_include_directories_for_lang_as_string(C includes)
|
|
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)
|
|
|
|
add_custom_target(
|
|
outputexports
|
|
COMMAND echo CC="${CMAKE_C_COMPILER}"
|
|
COMMAND echo Z_CFLAGS=${system_includes} ${includes} ${definitions} ${options}
|
|
COMMAND echo NOSTDINC_FLAGS=${system_includes}
|
|
COMMAND echo ZEPHYRINCLUDE=${includes}
|
|
COMMAND echo KBUILD_CFLAGS=${definitions}${options}
|
|
VERBATIM
|
|
USES_TERMINAL
|
|
)
|
|
|