{"action":"created","comment":{"url":"https://api.github.com/repos/Samsung/jerryscript/pulls/comments/70078740","id":70078740,"diff_hunk":"@@ -16,495 +17,218 @@ cmake_minimum_required (VERSION 2.8.12)\n project (Jerry C ASM)\n \n # Determining platform\n- set(PLATFORM \"${CMAKE_SYSTEM_NAME}\")\n- string(TOUPPER \"${PLATFORM}\" PLATFORM)\n+set(PLATFORM \"${CMAKE_SYSTEM_NAME}\")\n+string(TOUPPER \"${PLATFORM}\" PLATFORM)\n \n-# Compiler configuration\n- if(NOT ((\"${PLATFORM}\" STREQUAL \"DARWIN\") OR (\"${PLATFORM}\" STREQUAL \"EXTERNAL\")))\n-  if(NOT CMAKE_COMPILER_IS_GNUCC)\n-   message(FATAL_ERROR \"gcc compiler is required\")\n-  endif()\n- endif()\n+# Remove rdynamic option\n+set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS )\n+\n+# Components\n+set(BUILD_JERRY_CORE    ON  CACHE BOOL \"Build jerry-core?\")\n+set(BUILD_JERRY_LIBC    ON  CACHE BOOL \"Build jerry-libc?\")\n+set(BUILD_JERRY_LIBM    ON  CACHE BOOL \"Build jerry-libm?\")\n+set(BUILD_JERRY_CMDLINE ON  CACHE BOOL \"Build jerry command line tool?\")\n+set(BUILD_UNITTESTS     OFF CACHE BOOL \"Build unit tests?\")\n+\n+# Optional build settings\n+set(USE_PORT_DIR              \"DEFAULT\"   CACHE STRING \"Should we use default or external port?\")\n+set(USE_LIBC                  \"JERRY\"     CACHE STRING \"should we use jerry-libc, compiler-default or external libc?\")\n+set(ENABLE_LTO                OFF         CACHE BOOL   \"Enable LTO build?\")\n+set(ENABLE_ALL_IN_ONE         ON          CACHE BOOL   \"Enable all-in-one build?\")\n+set(ENABLE_STRIP              ON          CACHE BOOL   \"Discards all symbols from object files?\")\n+set(EXTERNAL_LIBS_INTERFACE   \"UNDEFINED\" CACHE STRING \"Path to external libraries' include directory\")\n+\n+if(NOT CMAKE_BUILD_TYPE)\n+  set(CMAKE_BUILD_TYPE \"Release\")\n+endif()\n+\n+if(\"${PLATFORM}\" STREQUAL \"DARWIN\")\n+  set(ENABLE_LTO \"OFF\")\n+  set(ENABLE_ALL_IN_ONE \"ON\")\n+endif()\n \n-# Imported targets prefix\n- set(PREFIX_IMPORTED_LIB imported_)\n+# Status messages\n+message(STATUS \"CMAKE_SYSTEM_NAME         \" ${CMAKE_SYSTEM_NAME})\n+message(STATUS \"CMAKE_SYSTEM_PROCESSOR    \" ${CMAKE_SYSTEM_PROCESSOR})\n+message(STATUS \"CMAKE_BUILD_TYPE          \" ${CMAKE_BUILD_TYPE})\n+message(STATUS \"BUILD_JERRY_CORE          \" ${BUILD_JERRY_CORE})\n+message(STATUS \"BUILD_JERRY_LIBC          \" ${BUILD_JERRY_LIBC})\n+message(STATUS \"BUILD_JERRY_LIBM          \" ${BUILD_JERRY_LIBM})\n+message(STATUS \"BUILD_JERRY_CMDLINE       \" ${BUILD_JERRY_CMDLINE})\n+message(STATUS \"BUILD_UNITTESTS           \" ${BUILD_UNITTESTS})\n+message(STATUS \"USE_PORT_DIR              \" ${USE_PORT_DIR})\n+message(STATUS \"USE_LIBC                  \" ${USE_LIBC})\n+message(STATUS \"ENABLE_LTO                \" ${ENABLE_LTO})\n+message(STATUS \"ENABLE_ALL_IN_ONE         \" ${ENABLE_ALL_IN_ONE})\n+message(STATUS \"ENABLE_STRIP              \" ${ENABLE_STRIP})\n+message(STATUS \"EXTERNAL_LIBS_INTERFACE   \" ${EXTERNAL_LIBS_INTERFACE})\n+\n+# Setup directories\n+# Project binary dir\n+set(PROJECT_BINARY_DIR ${CMAKE_BINARY_DIR})\n+\n+# Library output directory\n+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib/)\n+\n+# Executable output directory\n+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/)\n+\n+# Archive targets output Directory\n+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib/)\n+\n+# Compile/link flags\n+# build mode specific compile/link flags\n+\n+if(CMAKE_BUILD_TYPE STREQUAL \"Release\")\n+  set(CMAKE_C_FLAGS_RELEASE \"-Os\")\n+endif()\n \n # Architecture-specific compile/link flags\n- foreach(FLAG ${FLAGS_COMMON_ARCH})\n+foreach(FLAG ${FLAGS_COMMON_ARCH})\n   set(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS} ${FLAG}\")\n   set(CMAKE_EXE_LINKER_FLAGS \"${CMAKE_EXE_LINKER_FLAGS} ${FLAG}\")\n- endforeach()\n-\n-# Remove rdynamic option\n- set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS )\n-\n-# Defining options\n- option(ENABLE_VALGRIND       \"Enable valgrind helpers in memory allocators\" OFF)\n- option(ENABLE_VALGRIND_FREYA \"Enable valgrind-freya helpers in memory allocators\" OFF)\n- option(ENABLE_LTO            \"Enable LTO build\" ON)\n- option(ENABLE_LOG            \"Enable LOG build\" OFF)\n- option(ENABLE_ALL_IN_ONE     \"Enable ALL_IN_ONE build\" OFF)\n- option(ENABLE_ERROR_MESSAGES \"Enable error messages for builtin error objects\" OFF)\n-\n- if(\"${PLATFORM}\" STREQUAL \"LINUX\")\n-  set(PLATFORM_EXT \"LINUX\")\n-  set(EXTERNAL_BUILD FALSE)\n-\n-  option(STRIP_RELEASE_BINARY \"Strip symbols from release binaries\" ON)\n- elseif(\"${PLATFORM}\" STREQUAL \"DARWIN\")\n-  option(ENABLE_LTO            \"Enable LTO build\" OFF)\n-  option(ENABLE_ALL_IN_ONE     \"Enable ALL_IN_ONE build\" ON)\n-  set(PLATFORM_EXT \"DARWIN\")\n-  set(EXTERNAL_BUILD FALSE)\n-\n-  option(STRIP_RELEASE_BINARY \"Strip symbols from release binaries\" ON)\n- elseif(\"${PLATFORM}\" STREQUAL \"MCU\")\n-  if ((\"${ENABLE_VALGRIND}\" STREQUAL \"ON\") OR (\"${ENABLE_VALGRIND_FREYA}\" STREQUAL \"ON\"))\n-   message(FATAL_ERROR \"This target isn't supported with Valgrind.\")\n-  endif()\n-\n-  set(PLATFORM_EXT \"MCU_${CMAKE_SYSTEM_VERSION}\")\n-  set(EXTERNAL_BUILD FALSE)\n+endforeach()\n \n-  option(STRIP_RELEASE_BINARY \"Strip symbols from release binaries\" OFF)\n-  set(MCU_SCRIPT_FILE \"tests/blinky.js\" CACHE STRING \"Script to run on MCU\")\n- elseif(\"${PLATFORM}\" STREQUAL \"EXTERNAL\")\n-  set(PLATFORM_EXT \"EXTERNAL\")\n-  set(EXTERNAL_BUILD TRUE)\n-\n-  set(EXTERNAL_LIBC_INTERFACE \"UNDEFINED\" CACHE STRING \"Path to external libc include directory\")\n-  set(EXTERNAL_LIBS_INTERFACE \"UNDEFINED\" CACHE STRING \"Path to external libraries' include directory\")\n-  set(EXTERNAL_MEM_HEAP_SIZE_KB \"256\" CACHE STRING \"Size of memory heap, in kilobytes\")\n- elseif(\"${PLATFORM}\" STREQUAL \"OPENWRT\")\n-  set(PLATFORM_EXT \"LINUX\")\n-  set(EXTERNAL_BUILD FALSE)\n-\n-  option(STRIP_RELEASE_BINARY \"Strip symbols from release binaries\" ON)\n- else()\n+if(NOT \"${PLATFORM}\" MATCHES \"^(LINUX|DARWIN|EXTERNAL|OPENWRT)$\")\n   message(FATAL_ERROR \"Platform '${PLATFORM}' is not supported\")\n- endif()\n-\n- if(CMAKE_COMPILER_IS_GNUCC)\n-  if(\"${ENABLE_LTO}\" STREQUAL \"ON\")\n-   # Use gcc-ar and gcc-ranlib to support LTO\n-   get_filename_component(PATH_TO_GCC ${CMAKE_C_COMPILER} REALPATH)\n-   get_filename_component(DIRECTORY_GCC ${PATH_TO_GCC} DIRECTORY)\n-   get_filename_component(FILE_NAME_GCC ${PATH_TO_GCC} NAME)\n-   string(REPLACE \"gcc\" \"gcc-ar\" CMAKE_AR ${FILE_NAME_GCC})\n-   string(REPLACE \"gcc\" \"gcc-ranlib\" CMAKE_RANLIB ${FILE_NAME_GCC})\n-   set(CMAKE_AR ${DIRECTORY_GCC}/${CMAKE_AR})\n-   set(CMAKE_RANLIB ${DIRECTORY_GCC}/${CMAKE_RANLIB})\n-  endif()\n- endif()\n-\n-# Intermediate files\n- # Script to run on MCU\n-  set(MCU_SCRIPT_GENERATED_HEADER ${CMAKE_BINARY_DIR}/generated.h)\n+endif()\n \n-# Should we use external libc?\n- if(DEFINED COMPILER_DEFAULT_LIBC AND COMPILER_DEFAULT_LIBC STREQUAL \"ON\")\n-  if(DEFINED EXTERNAL_LIBC_INTERFACE AND NOT EXTERNAL_LIBC_INTERFACE STREQUAL \"UNDEFINED\")\n-    message(FATAL_ERROR \"EXTERNAL_LIBC_INTERFACE='${EXTERNAL_LIBC_INTERFACE}' should not be set in case compiler's default libc is used (COMPILER_DEFAULT_LIBC=ON)\")\n+#Should we use external libc?\n+if(NOT ${USE_LIBC} STREQUAL \"COMPILER\" AND NOT ${USE_LIBC} STREQUAL \"JERRY\")\n+  if(NOT EXISTS \"${USE_LIBC}/stdlib.h\")\n+    message(FATAL_ERROR \"It seems that external libc interface '${USE_LIBC}' doesn't provide stdlib.h header\")\n   endif()\n+  set(INCLUDE_LIBC_INTERFACE ${USE_LIBC})\n+elseif(${USE_LIBC} STREQUAL \"JERRY\")\n+  set(INCLUDE_LIBC_INTERFACE ${CMAKE_SOURCE_DIR}/jerry-libc/include)\n+endif()\n \n-  set(USE_JERRY_LIBC FALSE)\n- elseif(NOT DEFINED EXTERNAL_LIBC_INTERFACE OR EXTERNAL_LIBC_INTERFACE STREQUAL \"UNDEFINED\")\n-  set(USE_JERRY_LIBC TRUE)\n- else()\n-  set(USE_JERRY_LIBC FALSE)\n-\n-  if(NOT EXISTS \"${EXTERNAL_LIBC_INTERFACE}/stdlib.h\")\n-   message(FATAL_ERROR \"It seems that external libc interface '${EXTERNAL_LIBC_INTERFACE}' doesn't provide stdlib.h header\")\n+# LTO\n+if(ENABLE_LTO)\n+  set(COMPILE_FLAGS_COMMON \"${COMPILE_FLAGS_COMMON} -flto\")\n+  set(LINKER_FLAGS_COMMON \"${LINKER_FLAGS_COMMON} -flto\")\n+  if(CMAKE_COMPILER_IS_GNUCC)\n+    if(NOT \"${PLATFORM}\" STREQUAL \"DARWIN\")\n+      set(COMPILE_FLAGS_COMMON \"${COMPILE_FLAGS_COMMON} -fno-fat-lto-objects\")\n+    endif()\n+    # Use gcc-ar and gcc-ranlib to support LTO\n+    set(CMAKE_AR \"gcc-ar\")\n+    set(CMAKE_RANLIB \"gcc-ranlib\")\n   endif()\n+endif()\n \n-  set(INCLUDE_LIBC_INTERFACE ${EXTERNAL_LIBC_INTERFACE})\n- endif()\n-\n-\n- # Should we use external port?\n- if(DEFINED EXTERNAL_PORT_DIR AND NOT EXTERNAL_PORT_DIR STREQUAL \"UNDEFINED\")\n-   set(PORT_DIR ${EXTERNAL_PORT_DIR})\n- else()\n-   set(PORT_DIR ${CMAKE_SOURCE_DIR}/targets/default)\n- endif()\n+# should we use default or external port?\n+if(${USE_PORT_DIR} STREQUAL \"DEFAULT\")\n+  set(PORT_DIR ${CMAKE_SOURCE_DIR}/targets/default)\n+  if(${USE_LIBC} STREQUAL \"COMPILER\")\n+    set(DEFINES_JERRY ${DEFINES_JERRY} _BSD_SOURCE)\n+  endif()\n+else()\n+  set(PORT_DIR ${USE_PORT_DIR})\n+endif()\n \n # Are there any interfaces for external libraries, other than libc, that should be registered?\n- if(DEFINED EXTERNAL_LIBS_INTERFACE AND NOT EXTERNAL_LIBS_INTERFACE STREQUAL \"UNDEFINED\")\n-  set(INCLUDE_EXTERNAL_LIBS_INTERFACE )\n-\n+if(NOT EXTERNAL_LIBS_INTERFACE STREQUAL \"UNDEFINED\")\n   foreach(EXTERNAL_LIB_INTERFACE ${EXTERNAL_LIBS_INTERFACE})\n-   if (NOT EXISTS \"${EXTERNAL_LIB_INTERFACE}\")\n-    message(FATAL_ERROR \"Interface directory of the external library doesn't exist: ${EXTERNAL_LIB_INTERFACE}\")\n-   endif()\n-\n-   set(INCLUDE_EXTERNAL_LIBS_INTERFACE ${INCLUDE_EXTERNAL_LIBS_INTERFACE} ${EXTERNAL_LIB_INTERFACE})\n+    if(NOT EXISTS \"${EXTERNAL_LIB_INTERFACE}\")\n+      message(FATAL_ERROR \"Interface directory of the external library doesn't exist: ${EXTERNAL_LIB_INTERFACE}\")\n+    endif()\n+    set(INCLUDE_EXTERNAL_LIBS_INTERFACE ${INCLUDE_EXTERNAL_LIBS_INTERFACE} ${EXTERNAL_LIB_INTERFACE})\n   endforeach()\n- endif()\n-\n-# Build modes\n- # Debug\n-  set(BUILD_MODE_PREFIX_DEBUG debug)\n-\n- # Release\n-  set(BUILD_MODE_PREFIX_RELEASE release)\n-\n- # Unit tests\n-  set(BUILD_MODE_PREFIX_UNITTESTS unittests)\n-\n-# Modifiers\n- # Profiles\n-  # Full profile (default, so - no suffix)\n-   set(MODIFIER_SUFFIX_FULL_PROFILE \"\")\n-\n-  # Compact profile\n-   set(MODIFIER_SUFFIX_COMPACT_PROFILE -cp)\n-\n-  # Minimal compact profile\n-   set(MODIFIER_SUFFIX_COMPACT_PROFILE_MINIMAL -cp_minimal)\n-\n- # Memory statistics\n-  set(MODIFIER_SUFFIX_MEMORY_STATISTICS -mem_stats)\n-\n- # Memory management stress-test mode\n-  set(MODIFIER_SUFFIX_MEM_STRESS_TEST -mem_stress_test)\n-\n-# Modifier lists\n- # Linux\n-  set(MODIFIERS_LISTS_LINUX\n-     \"FULL_PROFILE\"\n-     \"FULL_PROFILE MEM_STRESS_TEST\"\n-     \"COMPACT_PROFILE\"\n-     \"COMPACT_PROFILE_MINIMAL\"\n-     \"FULL_PROFILE MEMORY_STATISTICS\"\n-     \"COMPACT_PROFILE_MINIMAL MEMORY_STATISTICS\")\n-\n- # Darwin\n-  set(MODIFIERS_LISTS_DARWIN\n-     \"FULL_PROFILE\"\n-     \"FULL_PROFILE MEM_STRESS_TEST\"\n-     \"COMPACT_PROFILE\"\n-     \"COMPACT_PROFILE_MINIMAL\"\n-     \"FULL_PROFILE MEMORY_STATISTICS\"\n-     \"COMPACT_PROFILE_MINIMAL MEMORY_STATISTICS\")\n-\n- # MCU\n-  # stm32f3\n-   set(MODIFIERS_LISTS_MCU_STM32F3\n-      \"FULL_PROFILE\"\n-      \"COMPACT_PROFILE\"\n-      \"COMPACT_PROFILE_MINIMAL\")\n-\n-  # stm32f4\n-   set(MODIFIERS_LISTS_MCU_STM32F4\n-      \"FULL_PROFILE\"\n-      \"COMPACT_PROFILE\"\n-      \"COMPACT_PROFILE_MINIMAL\")\n-\n- # External\n-   set(MODIFIERS_LISTS_EXTERNAL\n-     \"FULL_PROFILE\"\n-     \"COMPACT_PROFILE\"\n-     \"COMPACT_PROFILE_MINIMAL\"\n-     \"FULL_PROFILE MEMORY_STATISTICS\"\n-     \"COMPACT_PROFILE MEMORY_STATISTICS\")\n+endif()\n \n # Compiler / Linker flags\n- set(COMPILE_FLAGS_JERRY \"-fno-builtin\")\n- if(NOT (\"${PLATFORM}\" STREQUAL \"DARWIN\"))\n+set(COMPILE_FLAGS_COMMON \"-fno-builtin\")\n+if(NOT (\"${PLATFORM}\" STREQUAL \"DARWIN\"))\n   set(LINKER_FLAGS_COMMON \"-Wl,-z,noexecstack\")\n- endif()\n- set(LINKER_FLAGS_COMMON_DARWIN \"-lSystem\")\n+else()\n+  set(LINKER_FLAGS_COMMON \"-lSystem\")\n+endif()\n \n- # Turn off linking to compiler's default libc, in case jerry-libc is used\n- if(${USE_JERRY_LIBC})\n+# Turn off linking to compiler's default libc, in case jerry-libc or external is used\n+if(NOT USE_LIBC STREQUAL \"COMPILER\")\n   set(LINKER_FLAGS_COMMON \"${LINKER_FLAGS_COMMON} -nostdlib\")\n- endif()\n-\n- # LTO\n-  if(\"${ENABLE_LTO}\" STREQUAL \"ON\")\n-   set(COMPILE_FLAGS_JERRY \"${COMPILE_FLAGS_JERRY} -flto\")\n-   if(NOT (\"${PLATFORM}\" STREQUAL \"DARWIN\"))\n-    set(COMPILE_FLAGS_JERRY \"${COMPILE_FLAGS_JERRY} -fno-fat-lto-objects\")\n-   endif()\n-   set(LINKER_FLAGS_COMMON \"${LINKER_FLAGS_COMMON} -flto\")\n-  endif()\n+endif()\n \n- # Generage map file\n-  if(\"${PLATFORM}\" STREQUAL \"DARWIN\")\n-   set(MAP_FILE_FLAGS \"-Xlinker -map -Xlinker jerry.map\")\n-  else()\n-   set(MAP_FILE_FLAGS \"-Xlinker -Map -Xlinker jerry.map\")\n-  endif()\n-  set(LINKER_FLAGS_COMMON \"${LINKER_FLAGS_COMMON} ${MAP_FILE_FLAGS}\")\n-\n- # Turn off stack protector\n-  set(COMPILE_FLAGS_JERRY \"${COMPILE_FLAGS_JERRY} -fno-stack-protector\")\n-\n- # Debug information\n-  set(COMPILE_FLAGS_JERRY \"${COMPILE_FLAGS_JERRY} -g -gdwarf-4\")\n-\n- # Warnings\n-  macro(append variable value)\n-    set(${variable} \"${${variable}} ${value}\")\n-  endmacro()\n-\n-  macro(add_jerry_compile_flags)\n-    foreach(_flag ${ARGV})\n-      append(COMPILE_FLAGS_JERRY ${_flag})\n-    endforeach()\n-  endmacro()\n-\n-  macro(add_jerry_compile_warnings)\n-    foreach(_warning ${ARGV})\n-      add_jerry_compile_flags(-W${_warning})\n-      if(CMAKE_COMPILER_IS_GNUCC)\n-        add_jerry_compile_flags(-Werror=${_warning})\n-      endif()\n-    endforeach()\n-  endmacro()\n-\n-  add_jerry_compile_warnings(all extra format-nonliteral init-self conversion sign-conversion format-security missing-declarations)\n-  add_jerry_compile_flags(-Wno-stack-protector -Wno-attributes)\n-  if(CMAKE_COMPILER_IS_GNUCC)\n-    if(${USE_JERRY_LIBC})\n-      add_jerry_compile_flags(-Werror)\n-    endif()\n-    add_jerry_compile_warnings(logical-op)\n-  else()\n-    add_jerry_compile_flags(-Wno-nested-anon-types)\n-  endif()\n+# Turn off stack protector\n+set(COMPILE_FLAGS_COMMON \"${COMPILE_FLAGS_COMMON} -fno-stack-protector\")\n \n-  if(DEFINED EXTERNAL_COMPILE_FLAGS)\n-    foreach(FLAG ${EXTERNAL_COMPILE_FLAGS})\n-      set(COMPILE_FLAGS_JERRY \"${COMPILE_FLAGS_JERRY} ${FLAG}\")\n-    endforeach()\n-  endif()\n+# Debug information\n+set(COMPILE_FLAGS_COMMON \"${COMPILE_FLAGS_COMMON} -g -gdwarf-4\")\n \n- # Static build\n-  if(NOT (\"${PLATFORM}\" STREQUAL \"DARWIN\"))\n-   set(LINKER_FLAGS_STATIC \"-static\")\n-  endif()\n+macro(add_jerry_compile_flags)\n+  foreach(_flag ${ARGV})\n+    set(COMPILE_FLAGS_COMMON \"${COMPILE_FLAGS_COMMON} ${_flag}\")\n+  endforeach()\n+endmacro()\n \n- # C\n-  set(C_FLAGS_JERRY \"-std=c99 -pedantic\")\n-\n- # Platform-specific\n-  # MCU\n-   # stm32f3\n-    set(LINKER_FLAGS_COMMON_MCU_STM32F3 \"-T${CMAKE_SOURCE_DIR}/third-party/STM32F3-Discovery_FW_V1.1.0/Project/Peripheral_Examples/FLASH_Program/TrueSTUDIO/FLASH_Program/STM32_FLASH.ld\")\n-   # stm32f4\n-    set(LINKER_FLAGS_COMMON_MCU_STM32F4 \"-T${CMAKE_SOURCE_DIR}/third-party/STM32F4-Discovery_FW_V1.1.0/Project/Peripheral_Examples/FLASH_Program/TrueSTUDIO/FLASH_Program/stm32_flash.ld\")\n-\n- # Debug\n-  set(FLAGS_COMMON_DEBUG \"\")\n-\n- # Release\n-  set(FLAGS_COMMON_RELEASE \"-Os\")\n-\n- # Unit tests\n-  set(FLAGS_COMMON_UNITTESTS \"-O3\")\n-\n-# Include directories\n- # Core interface\n-  set(INCLUDE_CORE_INTERFACE\n-      ${CMAKE_SOURCE_DIR}/jerry-core)\n-\n-# Sources\n- # Platform-specific\n-  # Jerry standalone\n-   # Linux\n-    set(SOURCE_JERRY_STANDALONE_MAIN_LINUX main-unix.c)\n-\n-   # Darwin\n-    set(SOURCE_JERRY_STANDALONE_MAIN_DARWIN main-unix.c)\n-\n-   # MCU\n-    # stm32f3\n-     set(SOURCE_JERRY_STANDALONE_MAIN_MCU_STM32F3 main-mcu.c)\n-\n-    # stm32f4\n-     set(SOURCE_JERRY_STANDALONE_MAIN_MCU_STM32F4 main-mcu.c)\n-\n- # Unit tests main modules\n-  file(GLOB SOURCE_UNIT_TEST_MAIN_MODULES tests/unit/*.c)\n-\n-# Imported libraries\n-if((\"${PLATFORM}\" STREQUAL \"DARWIN\") AND (NOT CMAKE_COMPILER_IS_GNUCC))\n- # libclang_rt.osx\n-  add_library(${PREFIX_IMPORTED_LIB}libclang_rt.osx STATIC IMPORTED)\n-  execute_process(COMMAND ${CMAKE_C_COMPILER} ${FLAGS_COMMON_ARCH} -print-file-name=\n-                  OUTPUT_VARIABLE IMPORTED_LIBCLANG_RT_LOCATION\n-                  OUTPUT_STRIP_TRAILING_WHITESPACE)\n-  set(IMPORTED_LIBCLANG_RT_LOCATION \"${IMPORTED_LIBCLANG_RT_LOCATION}/lib/darwin/libclang_rt.osx.a\")\n-  set_property(TARGET ${PREFIX_IMPORTED_LIB}libclang_rt.osx\n-               PROPERTY IMPORTED_LOCATION ${IMPORTED_LIBCLANG_RT_LOCATION})\n-else()\n- # libgcc\n-  add_library(${PREFIX_IMPORTED_LIB}libgcc STATIC IMPORTED)\n-  execute_process(COMMAND ${CMAKE_C_COMPILER} ${FLAGS_COMMON_ARCH} -print-file-name=libgcc.a\n-                  OUTPUT_VARIABLE IMPORTED_LIBGCC_LOCATION\n-                  OUTPUT_STRIP_TRAILING_WHITESPACE)\n-  set_property(TARGET ${PREFIX_IMPORTED_LIB}libgcc\n-               PROPERTY IMPORTED_LOCATION ${IMPORTED_LIBGCC_LOCATION})\n-endif()\n+macro(add_jerry_compile_warnings)\n+  foreach(_warning ${ARGV})\n+    add_jerry_compile_flags(-W${_warning})\n+    if(CMAKE_COMPILER_IS_GNUCC)\n+      add_jerry_compile_flags(-Werror=${_warning})\n+    endif()\n+  endforeach()\n+endmacro()\n \n-# Platform-specific configuration\n- set(MODIFIERS_LISTS ${MODIFIERS_LISTS_${PLATFORM_EXT}})\n- set(LINKER_FLAGS_COMMON \"${LINKER_FLAGS_COMMON} ${LINKER_FLAGS_COMMON_${PLATFORM_EXT}}\")\n- set(SOURCE_JERRY_STANDALONE_MAIN ${SOURCE_JERRY_STANDALONE_MAIN_${PLATFORM_EXT}})\n+add_jerry_compile_warnings(all extra format-nonliteral init-self conversion sign-conversion format-security missing-declarations)\n+add_jerry_compile_flags(-Wno-stack-protector -Wno-attributes)\n \n-# Component targets\n- # Jerry's libc\n-  if(${USE_JERRY_LIBC})\n-   add_subdirectory(jerry-libc)\n+if(CMAKE_COMPILER_IS_GNUCC)\n+  if(${USE_LIBC} STREQUAL \"JERRY\")\n+    add_jerry_compile_flags(-Werror)\n   endif()\n+  add_jerry_compile_warnings(logical-op)\n+else()\n+  add_jerry_compile_flags(-Wno-nested-anon-types)\n+endif()\n \n- # Jerry's libm\n-  add_subdirectory(jerry-libm)\n-\n- # Jerry's Core\n-  add_subdirectory(jerry-core)\n-\n-# Targets declaration\n- string(TOLOWER \"${PLATFORM_EXT}\" PLATFORM_L)\n+if(DEFINED EXTERNAL_COMPILE_FLAGS)\n+  foreach(FLAG ${EXTERNAL_COMPILE_FLAGS})\n+    set(COMPILE_FLAGS_COMMON \"${COMPILE_FLAGS_COMMON} ${FLAG}\")\n+  endforeach()\n+endif()\n \n- function(declare_targets_for_build_mode BUILD_MODE)\n-  set(TARGET_NAME ${BUILD_MODE_PREFIX_${BUILD_MODE}}.${PLATFORM_L})\n-  if (${USE_JERRY_LIBC})\n-    set(LIBC_TARGET_NAME ${BUILD_MODE_PREFIX_${BUILD_MODE}}.jerry-libc.${PLATFORM_L}.lib)\n-  endif()\n+if(DEFINED EXTERNAL_LINKER_FLAGS)\n+  foreach(FLAG ${EXTERNAL_LINKER_FLAGS})\n+    set(LINKER_FLAGS_COMMON \"${LINKER_FLAGS_COMMON} ${FLAG}\")\n+  endforeach()\n+endif()\n \n-  function(declare_target_with_modifiers) # modifiers are passed in ARGN implicit argument\n-   set(CORE_TARGET_NAME ${BUILD_MODE_PREFIX_${BUILD_MODE}})\n-   foreach(MODIFIER ${ARGN})\n-    set(TARGET_NAME ${TARGET_NAME}${MODIFIER_SUFFIX_${MODIFIER}})\n-\n-    set(CORE_TARGET_NAME ${CORE_TARGET_NAME}${MODIFIER_SUFFIX_${MODIFIER}})\n-   endforeach()\n-   set(LIBM_TARGET_NAME ${CORE_TARGET_NAME}.jerry-libm.lib)\n-   set(CORE_TARGET_NAME ${CORE_TARGET_NAME}.jerry-core)\n-\n-   set(DEFINES_JERRY )\n-\n-   if(NOT ${EXTERNAL_BUILD})\n-    add_executable(${TARGET_NAME} ${SOURCE_JERRY_STANDALONE_MAIN})\n-\n-    if(\"${PLATFORM}\" STREQUAL \"MCU\")\n-     set(MCU_SCRIPT_GENERATED_HEADER ${MCU_SCRIPT_GENERATED_HEADER}.${TARGET_NAME})\n-     add_custom_command(OUTPUT ${MCU_SCRIPT_GENERATED_HEADER}\n-                        COMMAND ${CMAKE_SOURCE_DIR}/tools/generator.sh \"${CMAKE_SOURCE_DIR}/${MCU_SCRIPT_FILE}\" ${MCU_SCRIPT_GENERATED_HEADER}\n-                        WORKING_DIRECTORY ${CMAKE_BINARY_DIR})\n-     add_custom_target(mcu_header_with_script_to_run.${TARGET_NAME} DEPENDS ${MCU_SCRIPT_GENERATED_HEADER})\n-     set(DEFINES_JERRY ${DEFINES_JERRY} JERRY_MCU_SCRIPT_HEADER=\"${MCU_SCRIPT_GENERATED_HEADER}\")\n-    elseif((\"${PLATFORM}\" STREQUAL \"LINUX\") OR (\"${PLATFORM}\" STREQUAL \"DARWIN\"))\n-     if(\"${ENABLE_LOG}\" STREQUAL \"ON\")\n-      set(DEFINES_JERRY ${DEFINES_JERRY} JERRY_ENABLE_LOG)\n-     endif()\n-    endif()\n+# Disable static build\n+if(NOT (\"${PLATFORM}\" STREQUAL \"DARWIN\"))\n+  set(LINKER_FLAGS_STATIC \"-static\")\n+endif()\n \n-    set_property(TARGET ${TARGET_NAME}\n-                 PROPERTY COMPILE_FLAGS \"${COMPILE_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}} ${C_FLAGS_JERRY}\")\n-    set_property(TARGET ${TARGET_NAME}\n-                 PROPERTY LINK_FLAGS \"${COMPILE_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}} ${LINKER_FLAGS_COMMON} ${LINKER_FLAGS_STATIC}\")\n-    target_compile_definitions(${TARGET_NAME} PRIVATE ${DEFINES_JERRY})\n-    target_include_directories(${TARGET_NAME} PRIVATE ${INCLUDE_CORE_INTERFACE})\n-    target_include_directories(${TARGET_NAME} PRIVATE ${PORT_DIR})\n-    target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${INCLUDE_LIBC_INTERFACE})\n-    target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${INCLUDE_EXTERNAL_LIBS_INTERFACE})\n-    if((\"${PLATFORM}\" STREQUAL \"DARWIN\") AND (NOT (CMAKE_COMPILER_IS_GNUCC)))\n-     target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${LIBC_TARGET_NAME}\n-                           ${LIBM_TARGET_NAME} ${PREFIX_IMPORTED_LIB}libclang_rt.osx)\n-    else()\n-     target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${LIBC_TARGET_NAME}\n-                           ${LIBM_TARGET_NAME} ${PREFIX_IMPORTED_LIB}libgcc)\n-    endif()\n+# C\n+set(C_FLAGS_COMMON \"-std=c99 -pedantic\")\n \n-    if(\"${PLATFORM}\" STREQUAL \"MCU\")\n-     add_dependencies(${TARGET_NAME} mcu_header_with_script_to_run.${TARGET_NAME})\n-     add_custom_target(${TARGET_NAME}.bin\n-                       COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${TARGET_NAME}> $<TARGET_FILE:${TARGET_NAME}>.bin\n-                       DEPENDS ${TARGET_NAME})\n-     add_custom_target(${TARGET_NAME}.flash\n-                       COMMAND st-flash write $<TARGET_FILE:${TARGET_NAME}>.bin 0x08000000\n-                       DEPENDS ${TARGET_NAME}.bin)\n-    endif()\n+# Strip binary\n+if(ENABLE_STRIP AND NOT CMAKE_BUILD_TYPE STREQUAL \"Debug\")\n+  set(LINKER_FLAGS_COMMON \"${LINKER_FLAGS_COMMON} -s\")\n+endif()\n \n-    if(\"${BUILD_MODE}\" STREQUAL \"RELEASE\")\n-     if(${STRIP_RELEASE_BINARY} STREQUAL \"ON\")\n-      add_custom_command(TARGET ${TARGET_NAME}\n-                         POST_BUILD\n-                         COMMAND ${CMAKE_STRIP} $<TARGET_FILE:${TARGET_NAME}>)\n-     endif()\n-    endif()\n-   else()\n-    add_custom_target(${TARGET_NAME} ALL)\n-\n-    add_custom_command(TARGET ${TARGET_NAME}\n-                       POST_BUILD\n-                       COMMAND mkdir -p ${CMAKE_BINARY_DIR}/${TARGET_NAME}\n-                       COMMAND echo $<TARGET_FILE:${LIBM_TARGET_NAME}> > ${CMAKE_BINARY_DIR}/${TARGET_NAME}/list\n-                       COMMAND echo $<TARGET_FILE:${CORE_TARGET_NAME}> >> ${CMAKE_BINARY_DIR}/${TARGET_NAME}/list)\n-\n-    if(DEFINED EXTERNAL_BUILD_ENTRY_FILE)\n-     add_library(${TARGET_NAME}-entry STATIC ${EXTERNAL_BUILD_ENTRY_FILE})\n-     set_property(TARGET ${TARGET_NAME}-entry\n-                  PROPERTY COMPILE_FLAGS \"${COMPILE_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}}\")\n-     target_compile_definitions(${TARGET_NAME}-entry PRIVATE ${DEFINES_JERRY})\n-     target_include_directories(${TARGET_NAME}-entry PRIVATE ${INCLUDE_CORE_INTERFACE})\n-     target_include_directories(${TARGET_NAME}-entry SYSTEM PRIVATE ${CMAKE_SOURCE_DIR})\n-     target_include_directories(${TARGET_NAME}-entry SYSTEM PRIVATE ${INCLUDE_LIBC_INTERFACE})\n-     target_include_directories(${TARGET_NAME}-entry SYSTEM PRIVATE ${INCLUDE_EXTERNAL_LIBS_INTERFACE})\n-     add_dependencies(${TARGET_NAME} ${TARGET_NAME}-entry)\n-    endif()\n+# Jerry's libc\n+if(BUILD_JERRY_LIBC STREQUAL \"ON\")","path":"CMakeLists.txt","position":607,"original_position":607,"commit_id":"b1c6e02326582a386f0f60de9a043daf0fb6dbb0","original_commit_id":"b1c6e02326582a386f0f60de9a043daf0fb6dbb0","user":{"login":"dbatyai","id":12066566,"avatar_url":"https://avatars.githubusercontent.com/u/12066566?v=3","gravatar_id":"","url":"https://api.github.com/users/dbatyai","html_url":"https://github.com/dbatyai","followers_url":"https://api.github.com/users/dbatyai/followers","following_url":"https://api.github.com/users/dbatyai/following{/other_user}","gists_url":"https://api.github.com/users/dbatyai/gists{/gist_id}","starred_url":"https://api.github.com/users/dbatyai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dbatyai/subscriptions","organizations_url":"https://api.github.com/users/dbatyai/orgs","repos_url":"https://api.github.com/users/dbatyai/repos","events_url":"https://api.github.com/users/dbatyai/events{/privacy}","received_events_url":"https://api.github.com/users/dbatyai/received_events","type":"User","site_admin":false},"body":"No need for `STREQUAL`, `OFF` will automatically evaluate to false, and `ON` to true.","created_at":"2016-07-08T14:05:08Z","updated_at":"2016-07-08T14:05:08Z","html_url":"https://github.com/Samsung/jerryscript/pull/1192#discussion_r70078740","pull_request_url":"https://api.github.com/repos/Samsung/jerryscript/pulls/1192","_links":{"self":{"href":"https://api.github.com/repos/Samsung/jerryscript/pulls/comments/70078740"},"html":{"href":"https://github.com/Samsung/jerryscript/pull/1192#discussion_r70078740"},"pull_request":{"href":"https://api.github.com/repos/Samsung/jerryscript/pulls/1192"}}},"pull_request":{"url":"https://api.github.com/repos/Samsung/jerryscript/pulls/1192","id":76728843,"html_url":"https://github.com/Samsung/jerryscript/pull/1192","diff_url":"https://github.com/Samsung/jerryscript/pull/1192.diff","patch_url":"https://github.com/Samsung/jerryscript/pull/1192.patch","issue_url":"https://api.github.com/repos/Samsung/jerryscript/issues/1192","number":1192,"state":"open","locked":false,"title":"WIP: Re-thinking the build system to bring it more into line with the conv…","user":{"login":"robertsipka","id":4920564,"avatar_url":"https://avatars.githubusercontent.com/u/4920564?v=3","gravatar_id":"","url":"https://api.github.com/users/robertsipka","html_url":"https://github.com/robertsipka","followers_url":"https://api.github.com/users/robertsipka/followers","following_url":"https://api.github.com/users/robertsipka/following{/other_user}","gists_url":"https://api.github.com/users/robertsipka/gists{/gist_id}","starred_url":"https://api.github.com/users/robertsipka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robertsipka/subscriptions","organizations_url":"https://api.github.com/users/robertsipka/orgs","repos_url":"https://api.github.com/users/robertsipka/repos","events_url":"https://api.github.com/users/robertsipka/events{/privacy}","received_events_url":"https://api.github.com/users/robertsipka/received_events","type":"User","site_admin":false},"body":"…entions.\r\n\r\nWe removed that implementation where the build directory isn't set up to build with exactly one\r\nconfiguration of the project but potentially several variants: the same build directory\r\ncan/must be used for debug and release builds, for full or compact profile versions, etc.\r\nSo we reworked the CMakeLists, and now one build dir deal with exactly one configuration\r\nof the project's libraries and tools.\r\n\r\nJerryScript-DCO-1.0-Signed-off-by: Zsolt Borbély zsborbely.u-szeged@partner.samsung.com\r\nJerryScript-DCO-1.0-Signed-off-by: Robert Sipka rsipka.uszeged@partner.samsung.com","created_at":"2016-07-08T09:59:59Z","updated_at":"2016-07-08T14:05:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"28dd0684fef256c380e17bb8848eb3fa8a7779b5","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/Samsung/jerryscript/milestones/5","html_url":"https://github.com/Samsung/jerryscript/milestones/Release%20v1.0","labels_url":"https://api.github.com/repos/Samsung/jerryscript/milestones/5/labels","id":1810408,"number":5,"title":"Release v1.0","description":"","creator":{"login":"LaszloLango","id":10030017,"avatar_url":"https://avatars.githubusercontent.com/u/10030017?v=3","gravatar_id":"","url":"https://api.github.com/users/LaszloLango","html_url":"https://github.com/LaszloLango","followers_url":"https://api.github.com/users/LaszloLango/followers","following_url":"https://api.github.com/users/LaszloLango/following{/other_user}","gists_url":"https://api.github.com/users/LaszloLango/gists{/gist_id}","starred_url":"https://api.github.com/users/LaszloLango/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LaszloLango/subscriptions","organizations_url":"https://api.github.com/users/LaszloLango/orgs","repos_url":"https://api.github.com/users/LaszloLango/repos","events_url":"https://api.github.com/users/LaszloLango/events{/privacy}","received_events_url":"https://api.github.com/users/LaszloLango/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":10,"state":"open","created_at":"2016-06-06T10:06:32Z","updated_at":"2016-07-08T11:03:37Z","due_on":"2016-07-30T22:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/Samsung/jerryscript/pulls/1192/commits","review_comments_url":"https://api.github.com/repos/Samsung/jerryscript/pulls/1192/comments","review_comment_url":"https://api.github.com/repos/Samsung/jerryscript/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Samsung/jerryscript/issues/1192/comments","statuses_url":"https://api.github.com/repos/Samsung/jerryscript/statuses/b1c6e02326582a386f0f60de9a043daf0fb6dbb0","head":{"label":"robertsipka:rethinking_buildsystem","ref":"rethinking_buildsystem","sha":"b1c6e02326582a386f0f60de9a043daf0fb6dbb0","user":{"login":"robertsipka","id":4920564,"avatar_url":"https://avatars.githubusercontent.com/u/4920564?v=3","gravatar_id":"","url":"https://api.github.com/users/robertsipka","html_url":"https://github.com/robertsipka","followers_url":"https://api.github.com/users/robertsipka/followers","following_url":"https://api.github.com/users/robertsipka/following{/other_user}","gists_url":"https://api.github.com/users/robertsipka/gists{/gist_id}","starred_url":"https://api.github.com/users/robertsipka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robertsipka/subscriptions","organizations_url":"https://api.github.com/users/robertsipka/orgs","repos_url":"https://api.github.com/users/robertsipka/repos","events_url":"https://api.github.com/users/robertsipka/events{/privacy}","received_events_url":"https://api.github.com/users/robertsipka/received_events","type":"User","site_admin":false},"repo":{"id":51063380,"name":"jerryscript","full_name":"robertsipka/jerryscript","owner":{"login":"robertsipka","id":4920564,"avatar_url":"https://avatars.githubusercontent.com/u/4920564?v=3","gravatar_id":"","url":"https://api.github.com/users/robertsipka","html_url":"https://github.com/robertsipka","followers_url":"https://api.github.com/users/robertsipka/followers","following_url":"https://api.github.com/users/robertsipka/following{/other_user}","gists_url":"https://api.github.com/users/robertsipka/gists{/gist_id}","starred_url":"https://api.github.com/users/robertsipka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robertsipka/subscriptions","organizations_url":"https://api.github.com/users/robertsipka/orgs","repos_url":"https://api.github.com/users/robertsipka/repos","events_url":"https://api.github.com/users/robertsipka/events{/privacy}","received_events_url":"https://api.github.com/users/robertsipka/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/robertsipka/jerryscript","description":"Ultra-lightweight JavaScript engine for Internet of Things. http://www.jerryscript.net","fork":true,"url":"https://api.github.com/repos/robertsipka/jerryscript","forks_url":"https://api.github.com/repos/robertsipka/jerryscript/forks","keys_url":"https://api.github.com/repos/robertsipka/jerryscript/keys{/key_id}","collaborators_url":"https://api.github.com/repos/robertsipka/jerryscript/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/robertsipka/jerryscript/teams","hooks_url":"https://api.github.com/repos/robertsipka/jerryscript/hooks","issue_events_url":"https://api.github.com/repos/robertsipka/jerryscript/issues/events{/number}","events_url":"https://api.github.com/repos/robertsipka/jerryscript/events","assignees_url":"https://api.github.com/repos/robertsipka/jerryscript/assignees{/user}","branches_url":"https://api.github.com/repos/robertsipka/jerryscript/branches{/branch}","tags_url":"https://api.github.com/repos/robertsipka/jerryscript/tags","blobs_url":"https://api.github.com/repos/robertsipka/jerryscript/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/robertsipka/jerryscript/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/robertsipka/jerryscript/git/refs{/sha}","trees_url":"https://api.github.com/repos/robertsipka/jerryscript/git/trees{/sha}","statuses_url":"https://api.github.com/repos/robertsipka/jerryscript/statuses/{sha}","languages_url":"https://api.github.com/repos/robertsipka/jerryscript/languages","stargazers_url":"https://api.github.com/repos/robertsipka/jerryscript/stargazers","contributors_url":"https://api.github.com/repos/robertsipka/jerryscript/contributors","subscribers_url":"https://api.github.com/repos/robertsipka/jerryscript/subscribers","subscription_url":"https://api.github.com/repos/robertsipka/jerryscript/subscription","commits_url":"https://api.github.com/repos/robertsipka/jerryscript/commits{/sha}","git_commits_url":"https://api.github.com/repos/robertsipka/jerryscript/git/commits{/sha}","comments_url":"https://api.github.com/repos/robertsipka/jerryscript/comments{/number}","issue_comment_url":"https://api.github.com/repos/robertsipka/jerryscript/issues/comments{/number}","contents_url":"https://api.github.com/repos/robertsipka/jerryscript/contents/{+path}","compare_url":"https://api.github.com/repos/robertsipka/jerryscript/compare/{base}...{head}","merges_url":"https://api.github.com/repos/robertsipka/jerryscript/merges","archive_url":"https://api.github.com/repos/robertsipka/jerryscript/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/robertsipka/jerryscript/downloads","issues_url":"https://api.github.com/repos/robertsipka/jerryscript/issues{/number}","pulls_url":"https://api.github.com/repos/robertsipka/jerryscript/pulls{/number}","milestones_url":"https://api.github.com/repos/robertsipka/jerryscript/milestones{/number}","notifications_url":"https://api.github.com/repos/robertsipka/jerryscript/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/robertsipka/jerryscript/labels{/name}","releases_url":"https://api.github.com/repos/robertsipka/jerryscript/releases{/id}","deployments_url":"https://api.github.com/repos/robertsipka/jerryscript/deployments","created_at":"2016-02-04T08:49:02Z","updated_at":"2016-02-04T08:49:05Z","pushed_at":"2016-07-08T10:08:17Z","git_url":"git://github.com/robertsipka/jerryscript.git","ssh_url":"git@github.com:robertsipka/jerryscript.git","clone_url":"https://github.com/robertsipka/jerryscript.git","svn_url":"https://github.com/robertsipka/jerryscript","homepage":"","size":11304,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Samsung:master","ref":"master","sha":"97be8bfbc83c2331bb7981e68918fe94d0b4f7b1","user":{"login":"Samsung","id":6210390,"avatar_url":"https://avatars.githubusercontent.com/u/6210390?v=3","gravatar_id":"","url":"https://api.github.com/users/Samsung","html_url":"https://github.com/Samsung","followers_url":"https://api.github.com/users/Samsung/followers","following_url":"https://api.github.com/users/Samsung/following{/other_user}","gists_url":"https://api.github.com/users/Samsung/gists{/gist_id}","starred_url":"https://api.github.com/users/Samsung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Samsung/subscriptions","organizations_url":"https://api.github.com/users/Samsung/orgs","repos_url":"https://api.github.com/users/Samsung/repos","events_url":"https://api.github.com/users/Samsung/events{/privacy}","received_events_url":"https://api.github.com/users/Samsung/received_events","type":"Organization","site_admin":false},"repo":{"id":33339660,"name":"jerryscript","full_name":"Samsung/jerryscript","owner":{"login":"Samsung","id":6210390,"avatar_url":"https://avatars.githubusercontent.com/u/6210390?v=3","gravatar_id":"","url":"https://api.github.com/users/Samsung","html_url":"https://github.com/Samsung","followers_url":"https://api.github.com/users/Samsung/followers","following_url":"https://api.github.com/users/Samsung/following{/other_user}","gists_url":"https://api.github.com/users/Samsung/gists{/gist_id}","starred_url":"https://api.github.com/users/Samsung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Samsung/subscriptions","organizations_url":"https://api.github.com/users/Samsung/orgs","repos_url":"https://api.github.com/users/Samsung/repos","events_url":"https://api.github.com/users/Samsung/events{/privacy}","received_events_url":"https://api.github.com/users/Samsung/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Samsung/jerryscript","description":"Ultra-lightweight JavaScript engine for the Internet of Things. http://samsung.github.io/jerryscript","fork":false,"url":"https://api.github.com/repos/Samsung/jerryscript","forks_url":"https://api.github.com/repos/Samsung/jerryscript/forks","keys_url":"https://api.github.com/repos/Samsung/jerryscript/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Samsung/jerryscript/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Samsung/jerryscript/teams","hooks_url":"https://api.github.com/repos/Samsung/jerryscript/hooks","issue_events_url":"https://api.github.com/repos/Samsung/jerryscript/issues/events{/number}","events_url":"https://api.github.com/repos/Samsung/jerryscript/events","assignees_url":"https://api.github.com/repos/Samsung/jerryscript/assignees{/user}","branches_url":"https://api.github.com/repos/Samsung/jerryscript/branches{/branch}","tags_url":"https://api.github.com/repos/Samsung/jerryscript/tags","blobs_url":"https://api.github.com/repos/Samsung/jerryscript/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Samsung/jerryscript/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Samsung/jerryscript/git/refs{/sha}","trees_url":"https://api.github.com/repos/Samsung/jerryscript/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Samsung/jerryscript/statuses/{sha}","languages_url":"https://api.github.com/repos/Samsung/jerryscript/languages","stargazers_url":"https://api.github.com/repos/Samsung/jerryscript/stargazers","contributors_url":"https://api.github.com/repos/Samsung/jerryscript/contributors","subscribers_url":"https://api.github.com/repos/Samsung/jerryscript/subscribers","subscription_url":"https://api.github.com/repos/Samsung/jerryscript/subscription","commits_url":"https://api.github.com/repos/Samsung/jerryscript/commits{/sha}","git_commits_url":"https://api.github.com/repos/Samsung/jerryscript/git/commits{/sha}","comments_url":"https://api.github.com/repos/Samsung/jerryscript/comments{/number}","issue_comment_url":"https://api.github.com/repos/Samsung/jerryscript/issues/comments{/number}","contents_url":"https://api.github.com/repos/Samsung/jerryscript/contents/{+path}","compare_url":"https://api.github.com/repos/Samsung/jerryscript/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Samsung/jerryscript/merges","archive_url":"https://api.github.com/repos/Samsung/jerryscript/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Samsung/jerryscript/downloads","issues_url":"https://api.github.com/repos/Samsung/jerryscript/issues{/number}","pulls_url":"https://api.github.com/repos/Samsung/jerryscript/pulls{/number}","milestones_url":"https://api.github.com/repos/Samsung/jerryscript/milestones{/number}","notifications_url":"https://api.github.com/repos/Samsung/jerryscript/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Samsung/jerryscript/labels{/name}","releases_url":"https://api.github.com/repos/Samsung/jerryscript/releases{/id}","deployments_url":"https://api.github.com/repos/Samsung/jerryscript/deployments","created_at":"2015-04-03T01:10:31Z","updated_at":"2016-07-08T11:30:05Z","pushed_at":"2016-07-08T13:58:08Z","git_url":"git://github.com/Samsung/jerryscript.git","ssh_url":"git@github.com:Samsung/jerryscript.git","clone_url":"https://github.com/Samsung/jerryscript.git","svn_url":"https://github.com/Samsung/jerryscript","homepage":"","size":27019,"stargazers_count":1354,"watchers_count":1354,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":154,"mirror_url":null,"open_issues_count":71,"forks":154,"open_issues":71,"watchers":1354,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Samsung/jerryscript/pulls/1192"},"html":{"href":"https://github.com/Samsung/jerryscript/pull/1192"},"issue":{"href":"https://api.github.com/repos/Samsung/jerryscript/issues/1192"},"comments":{"href":"https://api.github.com/repos/Samsung/jerryscript/issues/1192/comments"},"review_comments":{"href":"https://api.github.com/repos/Samsung/jerryscript/pulls/1192/comments"},"review_comment":{"href":"https://api.github.com/repos/Samsung/jerryscript/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Samsung/jerryscript/pulls/1192/commits"},"statuses":{"href":"https://api.github.com/repos/Samsung/jerryscript/statuses/b1c6e02326582a386f0f60de9a043daf0fb6dbb0"}}}}
{"actor":{"display_login":"dbatyai"}}