Skip to content

Commit 1961e98

Browse files
authored
Merge pull request #10 from vincentdchan/feat/linux-compitable
feat: linux compatible
2 parents 1e93a19 + 0c18d45 commit 1961e98

File tree

10 files changed

+55
-14
lines changed

10 files changed

+55
-14
lines changed

bundle-utils/src/string/UString.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -725,12 +725,7 @@ template <typename T> Q_ALWAYS_INLINE T qFromUnaligned(const void *src)
725725
{
726726
T dest;
727727
const size_t size = sizeof(T);
728-
#if __has_builtin(__builtin_memcpy)
729-
__builtin_memcpy
730-
#else
731-
memcpy
732-
#endif
733-
(&dest, src, size);
728+
::memcpy(&dest, src, size);
734729
return dest;
735730
}
736731

jetpack-cli/CMakeLists.txt

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,21 @@ target_include_directories(${PROJECT_NAME} PRIVATE
99
"../esparser/src"
1010
"../jetpack/src/"
1111
)
12-
target_link_libraries(${PROJECT_NAME} PRIVATE jetpack)
12+
13+
set(CLI_LIBS "")
14+
15+
if (UNIX AND NOT EMSCRIPTEN)
16+
17+
if (APPLE)
18+
execute_process(COMMAND uname -m OUTPUT_VARIABLE MACHINE_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
19+
message("CLI ARCH: ${MACHINE_ARCH}")
20+
set(CLI_LIBS ${PROJECT_SOURCE_DIR}/../third_party/jemalloc/lib/mac/${MACHINE_ARCH}/libjemalloc.a)
21+
else()
22+
23+
set(CLI_LIBS "-lpthread -ldl ${PROJECT_SOURCE_DIR}/../third_party/jemalloc/lib/linux/libjemalloc_pic.a" )
24+
25+
endif()
26+
27+
ENDIF()
28+
29+
target_link_libraries(${PROJECT_NAME} PRIVATE jetpack ${CLI_LIBS})

jetpack/CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,14 @@ if (UNIX AND NOT EMSCRIPTEN)
9696
execute_process(COMMAND uname -m OUTPUT_VARIABLE MACHINE_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
9797
message("ARCH: ${MACHINE_ARCH}")
9898

99-
target_link_libraries(jetpack ${PROJECT_SOURCE_DIR}/../third_party/jemalloc/lib/mac/${MACHINE_ARCH}/libjemalloc.a)
99+
target_link_libraries(jetpack-test ${PROJECT_SOURCE_DIR}/../third_party/jemalloc/lib/mac/${MACHINE_ARCH}/libjemalloc.a)
100100
target_link_libraries(jetpackd ${PROJECT_SOURCE_DIR}/../third_party/jemalloc/lib/mac/${MACHINE_ARCH}/libjemalloc.2.${DYLIB_SUFFIX})
101101

102102
else()
103103

104+
message("linux jemalloc")
104105
SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -pthread)
105-
link_libraries(${PROJECT_SOURCE_DIR}/../third_party/jemalloc/lib/linux/libjemalloc.a)
106+
target_link_libraries(jetpack-test -ldl ${PROJECT_SOURCE_DIR}/../third_party/jemalloc/lib/linux/libjemalloc_pic.a)
106107

107108
endif()
108109

npm/CMakeLists.txt

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
project (jetpp)
2-
cmake_minimum_required(VERSION 3.19)
2+
cmake_minimum_required(VERSION 3.13)
33

44
set(CMAKE_CXX_STANDARD 17)
55

@@ -15,12 +15,13 @@ set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "" SUFFIX ".node")
1515

1616
link_directories("${CMAKE_CURRENT_SOURCE_DIR}/../cmake-build-release/jetpack/")
1717

18+
19+
IF(APPLE)
1820
target_link_libraries(
1921
${PROJECT_NAME}
2022
${CMAKE_JS_LIB}
2123
"${CMAKE_CURRENT_SOURCE_DIR}/../cmake-build-release/jetpack/libjetpackd.dylib")
2224

23-
IF(APPLE)
2425
execute_process(COMMAND uname -m OUTPUT_VARIABLE MACHINE_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
2526
message("ARCH: ${MACHINE_ARCH}")
2627

@@ -41,4 +42,25 @@ add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
4142
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Release
4243
COMMENT "Running CRC32 check..."
4344
)
45+
ELSEIF(UNIX)
46+
message("Linux")
47+
48+
target_link_libraries(
49+
${PROJECT_NAME}
50+
${CMAKE_JS_LIB}
51+
"${CMAKE_CURRENT_SOURCE_DIR}/../cmake-build-release/jetpack/libjetpack.a"
52+
"${CMAKE_CURRENT_SOURCE_DIR}/../cmake-build-release/bundle-utils/libbundle-utils.a"
53+
"${CMAKE_CURRENT_SOURCE_DIR}/../cmake-build-release/esparser/libesparser.a"
54+
"${CMAKE_CURRENT_SOURCE_DIR}/../cmake-build-release/third_party/fmt/libfmt.a"
55+
"${CMAKE_CURRENT_SOURCE_DIR}/../third_party/jemalloc/lib/linux/libjemalloc_pic.a"
56+
)
57+
58+
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
59+
COMMAND
60+
cp "${CMAKE_CURRENT_SOURCE_DIR}/../cmake-build-release/jetpack/libjetpackd.so" ./
61+
COMMAND
62+
cp "${CMAKE_CURRENT_SOURCE_DIR}/../third_party/jemalloc/lib/linux/libjemalloc.so.2" ./
63+
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Release
64+
)
65+
4466
ENDIF()

npm/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
{
22
"name": "jetpp",
3-
"version": "0.1.1",
3+
"version": "0.1.4",
44
"main": "index.js",
55
"author": "Vincent Chan",
66
"license": "MIT",
77
"bin": {
88
"jetpp": "./index.js"
9+
},
10+
"scripts": {
11+
"install": "node scripts/download_lib.js"
912
}
1013
}

npm/scripts/download_lib.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,13 @@ const downloadChecksumUrl = name => `${downloadUrl(name)}.SHA256`;
1414

1515
const libsName = [
1616
'jetpp.node',
17-
'libjetpackd.dylib',
18-
'libjemalloc.2.dylib',
1917
];
2018

19+
if (platform === 'darwin') {
20+
libsName.push('libjetpackd.dylib');
21+
libsName.push('libjemalloc.2.dylib');
22+
}
23+
2124
function getDownloadPath(name) {
2225
const tmpDir = os.tmpdir();
2326
const projectDir = path.join(tmpDir, version, 'jetpack-node');
20.7 MB
Binary file not shown.
3.33 MB
Binary file not shown.
3.33 MB
Binary file not shown.
20.7 MB
Binary file not shown.

0 commit comments

Comments
 (0)