-
Notifications
You must be signed in to change notification settings - Fork 71
/
CMakeLists.txt
57 lines (52 loc) · 1.94 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
54
55
56
57
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
set(LUA_SANDBOX_SRC
lua_sandbox.c
lua_sandbox_private.c
lua_serialize.c
lua_serialize_json.c
lua_serialize_protobuf.c
lua_circular_buffer.c
)
if(MSVC)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
set(LUA_SANDBOX_LIBS
"${EP_BASE}/lib/lua.lib"
"${EP_BASE}/lib/lpeg.lib"
"${EP_BASE}/lib/cjson.lib"
)
add_library(luasandbox SHARED ${LUA_SANDBOX_SRC})
install(DIRECTORY "${EP_BASE}/lib/" DESTINATION lib FILES_MATCHING PATTERN "*.dll")
install(DIRECTORY "${EP_BASE}/lib/" DESTINATION lib FILES_MATCHING PATTERN "*.lib")
elseif(MINGW)
add_definitions(-D_MINGW)
set(LUA_SANDBOX_LIBS
"${EP_BASE}/lib/liblua.dll"
"${EP_BASE}/lib/liblpeg.dll"
"${EP_BASE}/lib/libcjson.dll"
)
add_library(luasandbox SHARED ${LUA_SANDBOX_SRC})
set_target_properties(luasandbox PROPERTIES LINK_FLAGS -s)
if (ADDRESS_MODEL EQUAL 32)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
set_target_properties(luasandbox PROPERTIES LINK_FLAGS "-s -m32")
endif()
install(DIRECTORY "${EP_BASE}/lib/" DESTINATION lib FILES_MATCHING PATTERN "*.dll")
else()
set(LUA_SANDBOX_LIBS
"${EP_BASE}/lib/liblua.a"
"${EP_BASE}/lib/liblpeg.a"
"${EP_BASE}/lib/libcjson.a"
-ldl -lm
)
add_library(luasandbox STATIC ${LUA_SANDBOX_SRC})
install(DIRECTORY "${EP_BASE}/lib/" DESTINATION lib FILES_MATCHING PATTERN "*.a")
install(DIRECTORY "${EP_BASE}/include/" DESTINATION include)
endif()
target_link_libraries(luasandbox ${LUA_SANDBOX_LIBS})
add_dependencies(luasandbox ${LUA_PROJECT} lpeg-0_12 lua-cjson-2_1_0)
install(TARGETS luasandbox DESTINATION lib)
install(DIRECTORY "${CMAKE_SOURCE_DIR}/include/" DESTINATION include)
install(DIRECTORY "${LUA_INCLUDE_DIR}/" DESTINATION include)
add_subdirectory(test)