/
CMakeLists.txt
53 lines (43 loc) · 1.26 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
cmake_minimum_required (VERSION 3.11)
project (Zero)
set (CMAKE_VERBOSE_MAKEFILE "OFF")
set (CMAKE_CXX_STANDARD "11")
set (STATE $ENV{CMAKE_TARGET})
# set folders;
set (N_SOURCE_SRC "src")
set (N_OUTPUT_SRC "dist")
set (N_LIB_SRC "jerryscript/build")
# set headers include path;
include_directories(${N_LIB_SRC} jerryscript/jerry-core/include jerryscript/jerry-ext/include ${N_SOURCE_SRC}/cppcodec)
# conditional compiling;
if (STATE STREQUAL WASM)
set (OUTPUT "zero.output")
ADD_DEFINITIONS (-DWASM)
set (CMAKE_CXX_FLAGS " \
-O3 \
-s WASM=1 \
--closure 1 \
--llvm-lto 1 \
-fno-rtti \
-s NO_EXIT_RUNTIME=1 \
-s ALLOW_MEMORY_GROWTH=1 \
-s ASSERTIONS=0 \
-s NO_FILESYSTEM=1 \
-s MODULARIZE=1 \
-s EXPORT_NAME=\"Zero\" \
${CMAKE_CXX_FLAGS} \
")
else()
set (OUTPUT "zero")
set (CMAKE_CXX_FLAGS_DISTRIBUTION "-O3")
endif()
set (EXECUTABLE_OUTPUT_PATH ${N_OUTPUT_SRC})
# resolve source files;
aux_source_directory (${N_SOURCE_SRC} DIR_SRCS)
aux_source_directory (${N_LIB_SRC} DIR_SRCS)
add_library(ext STATIC IMPORTED)
set_target_properties(ext PROPERTIES IMPORTED_LOCATION
${N_LIB_SRC}/lib/libjerry-ext.a)
# compiling target;
add_executable (${OUTPUT} ${DIR_SRCS})
target_link_libraries (${OUTPUT} ext)