Skip to content

Commit dd179aa

Browse files
authored
Merge pull request #1 from openwebf/feat/column
feat: support column for error and exception
2 parents 9ac5d83 + a65d320 commit dd179aa

30 files changed

+8802
-693
lines changed

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
eol=lf

.gitignore

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
build
2+
bin
3+
.idea
4+
.vscode
5+
lib
6+
cmake-build-debug
7+
build
8+
*.expand
9+
*.svg
10+
test262_errors.txt
11+
test262_report.txt

CMakeLists.txt

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
cmake_minimum_required(VERSION 3.2)
2+
project(QUICKJS)
3+
set(C_STANDARD 17)
4+
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
5+
6+
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
7+
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
8+
9+
include_directories(${PROJECT_SOURCE_DIR})
10+
include_directories(${PROJECT_SOURCE_DIR}/include)
11+
add_subdirectory(src)
12+
13+
set(COMPILE_FLAGS -Wall -MMD -Wno-array-bounds -Wno-format-truncation)
14+
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
15+
set(COMPILE_FLAGS ${COMPILE_FLAGS} -g)
16+
elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
17+
set(COMPILE_FLAGS ${COMPILE_FLAGS} -O2)
18+
endif()
19+
20+
if (UNIX)
21+
set(LINK_LIBRARIES m pthread dl)
22+
elseif(WIN32)
23+
set(LINK_LIBRARIES m pthread)
24+
endif()
25+
26+
add_compile_options(${COMPILE_FLAGS})
27+
add_compile_definitions(
28+
_GNU_SOURCE
29+
CONFIG_BIGNUM
30+
CONFIG_VERSION=${QUICKJS_VERSION}
31+
)
32+
33+
set(QJSC_CONFIG -DCONFIG_PREFIX="/usr/local" -DCONFIG_LTO)
34+
set(QJSC_EXE "${EXECUTABLE_OUTPUT_PATH}/qjsc")
35+
if(UNIX OR WIN32)
36+
set(QJS_CONFIG ${QJSC_CONFIG} -DCONFIG_CC="gcc")
37+
else()
38+
set(QJS_CONFIG ${QJSC_CONFIG} -DCONFIG_CC="clang")
39+
endif()
40+
41+
if(WIN32)
42+
set(QJSC_EXE "${QJSC_EXE}.exe")
43+
endif()
44+
45+
add_executable(qjsc qjsc.c quickjs-libc.c)
46+
target_link_libraries(qjsc quickjs ${LINK_LIBRARIES})
47+
target_compile_definitions(qjsc PUBLIC ${QJSC_CONFIG})
48+
49+
add_custom_command(
50+
TARGET qjsc POST_BUILD
51+
COMMAND ${QJSC_EXE} -c -o ${PROJECT_SOURCE_DIR}/repl.c -m ${PROJECT_SOURCE_DIR}/repl.js
52+
COMMAND ${QJSC_EXE} -fbignum -c -o ${PROJECT_SOURCE_DIR}/qjscalc.c ${PROJECT_SOURCE_DIR}/qjscalc.js
53+
)
54+
55+
add_executable(qjs qjs.c quickjs-libc.c repl.c qjscalc.c)
56+
target_link_libraries(qjs quickjs ${LINK_LIBRARIES})
57+
58+
add_executable(run-test262 run-test262.c quickjs-libc.c)
59+
target_link_libraries(run-test262 quickjs ${LINK_LIBRARIES})

0 commit comments

Comments
 (0)