Skip to content

Commit c5f3469

Browse files
jspnghsaghul
authored andcommitted
build: convert tjs to library and add tjs-cli executable
1 parent 7483e01 commit c5f3469

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

CMakeLists.txt

+14-6
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ set(TJS__VERSION_MINOR 12)
2828
set(TJS__VERSION_PATCH 0)
2929
set(TJS__VERSION_SUFFIX "")
3030
configure_file(
31-
"${CMAKE_SOURCE_DIR}/src/version.h.in"
32-
"${CMAKE_SOURCE_DIR}/src/version.h"
31+
"${CMAKE_CURRENT_SOURCE_DIR}/src/version.h.in"
32+
"${CMAKE_CURRENT_SOURCE_DIR}/src/version.h"
3333
)
3434

3535
macro(cpr_option OPTION_NAME OPTION_TEXT OPTION_DEFAULT)
@@ -68,9 +68,8 @@ endif()
6868

6969
find_package(CURL REQUIRED)
7070

71-
add_executable(tjs
71+
add_library(tjs STATIC
7272
src/builtins.c
73-
src/cli.c
7473
src/curl-utils.c
7574
src/curl-websocket.c
7675
src/dns.c
@@ -101,7 +100,7 @@ add_executable(tjs
101100
src/bundles/c/core/polyfills.c
102101
src/bundles/c/core/run-main.c
103102
src/bundles/c/core/worker-bootstrap.c
104-
../deps/quickjs/cutils.c
103+
deps/quickjs/cutils.c
105104
)
106105

107106
if(NOT MINGW)
@@ -113,7 +112,7 @@ add_library(ffi-test SHARED
113112
)
114113

115114
if(NOT USE_EXTERNAL_FFI AND NOT MINGW AND NOT APPLE)
116-
set(LIBFFI_SRC "${CMAKE_SOURCE_DIR}/deps/libffi")
115+
set(LIBFFI_SRC "${CMAKE_CURRENT_SOURCE_DIR}/deps/libffi")
117116
set(TMP_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/ffi_root")
118117
if(MINGW)
119118
set(LIBFFI_STATIC_PATH ${TMP_INSTALL_DIR}/usr/local/lib/libffi.dll.a)
@@ -152,13 +151,22 @@ string(TOLOWER ${CMAKE_SYSTEM_NAME} TJS_PLATFORM)
152151
target_compile_options(tjs PRIVATE ${tjs_cflags})
153152
target_compile_definitions(tjs PRIVATE TJS__PLATFORM="${TJS_PLATFORM}")
154153
target_include_directories(tjs PRIVATE ${CURL_INCLUDE_DIRS})
154+
target_include_directories(tjs PUBLIC src)
155155
target_link_libraries(tjs qjs uv_a m3 sqlite3 m pthread ${CURL_LIBRARIES})
156156

157157
if (BUILD_WITH_MIMALLOC)
158158
target_compile_definitions(tjs PRIVATE TJS__HAS_MIMALLOC)
159159
target_link_libraries(tjs mimalloc-static)
160160
endif()
161161

162+
add_executable(tjs-cli
163+
src/cli.c
164+
)
165+
target_link_libraries(tjs-cli tjs)
166+
set_target_properties(tjs-cli
167+
PROPERTIES OUTPUT_NAME tjs
168+
)
169+
162170
add_executable(tjsc EXCLUDE_FROM_ALL
163171
src/qjsc.c
164172
)

0 commit comments

Comments
 (0)