Mercurial > hg > orthanc
annotate Resources/CMake/LuaConfiguration.cmake @ 3103:81b58b549845
back to using 'var' instead of 'let' since let is not supported by many old browsers. All variables declaration have been moved to the top of the function to better show that their scope is the function
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Thu, 10 Jan 2019 10:51:36 +0100 |
parents | 11f8d72f366f |
children | 0c2a8d5e0097 |
rev | line source |
---|---|
735 | 1 if (STATIC_BUILD OR NOT USE_SYSTEM_LUA) |
2947 | 2 SET(LUA_SOURCES_DIR ${CMAKE_BINARY_DIR}/lua-5.3.5) |
3 SET(LUA_MD5 "4f4b4f323fd3514a68e0ab3da8ce3455") | |
4 SET(LUA_URL "http://www.orthanc-server.com/downloads/third-party/lua-5.3.5.tar.gz") | |
1537
fbf763bb1fa3
error detection in patches
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1487
diff
changeset
|
5 |
fbf763bb1fa3
error detection in patches
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1487
diff
changeset
|
6 DownloadPackage(${LUA_MD5} ${LUA_URL} "${LUA_SOURCES_DIR}") |
735 | 7 |
2478
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
8 if (ENABLE_LUA_MODULES) |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
9 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
10 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD" OR |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
11 ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" OR |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
12 ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD") |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
13 # Enable loading of shared libraries (for UNIX-like) |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
14 add_definitions(-DLUA_USE_DLOPEN=1) |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
15 |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
16 # Publish the functions of the Lua engine (that are built within |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
17 # the Orthanc binary) as global symbols, so that the external |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
18 # shared libraries can call them |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
19 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--export-dynamic") |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
20 |
2947 | 21 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR |
22 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD") | |
23 add_definitions(-DLUA_USE_LINUX=1) | |
24 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") | |
25 add_definitions( | |
26 -DLUA_USE_LINUX=1 | |
27 -DLUA_USE_READLINE=1 | |
28 ) | |
29 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD") | |
30 add_definitions(-DLUA_USE_POSIX=1) | |
31 endif() | |
32 | |
2478
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
33 elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
2947 | 34 add_definitions( |
35 -DLUA_DL_DLL=1 # Enable loading of shared libraries (for Microsoft Windows) | |
36 ) | |
2478
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
37 |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
38 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") |
2947 | 39 add_definitions( |
40 -DLUA_USE_MACOSX=1 | |
41 -DLUA_DL_DYLD=1 # Enable loading of shared libraries (for Apple OS X) | |
42 ) | |
2478
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
43 |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
44 else() |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
45 message(FATAL_ERROR "Support your platform here") |
1e2d5e14b3d3
New CMake option: ENABLE_LUA_MODULES to enable Lua modules
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2477
diff
changeset
|
46 endif() |
2477 | 47 endif() |
735 | 48 |
2947 | 49 add_definitions( |
50 -DLUA_COMPAT_5_2=1 | |
51 ) | |
52 | |
735 | 53 include_directories( |
54 ${LUA_SOURCES_DIR}/src | |
55 ) | |
56 | |
57 set(LUA_SOURCES | |
2947 | 58 # Don't compile the Lua command-line |
59 #${LUA_SOURCES_DIR}/src/lua.c | |
60 #${LUA_SOURCES_DIR}/src/luac.c | |
61 | |
735 | 62 # Core Lua |
63 ${LUA_SOURCES_DIR}/src/lapi.c | |
2947 | 64 ${LUA_SOURCES_DIR}/src/lcode.c |
65 ${LUA_SOURCES_DIR}/src/lctype.c | |
66 ${LUA_SOURCES_DIR}/src/ldebug.c | |
67 ${LUA_SOURCES_DIR}/src/ldo.c | |
68 ${LUA_SOURCES_DIR}/src/ldump.c | |
69 ${LUA_SOURCES_DIR}/src/lfunc.c | |
735 | 70 ${LUA_SOURCES_DIR}/src/lgc.c |
71 ${LUA_SOURCES_DIR}/src/llex.c | |
2947 | 72 ${LUA_SOURCES_DIR}/src/lmem.c |
73 ${LUA_SOURCES_DIR}/src/lobject.c | |
74 ${LUA_SOURCES_DIR}/src/lopcodes.c | |
735 | 75 ${LUA_SOURCES_DIR}/src/lparser.c |
2947 | 76 ${LUA_SOURCES_DIR}/src/lstate.c |
735 | 77 ${LUA_SOURCES_DIR}/src/lstring.c |
78 ${LUA_SOURCES_DIR}/src/ltable.c | |
79 ${LUA_SOURCES_DIR}/src/ltm.c | |
2947 | 80 ${LUA_SOURCES_DIR}/src/lundump.c |
81 ${LUA_SOURCES_DIR}/src/lvm.c | |
735 | 82 ${LUA_SOURCES_DIR}/src/lzio.c |
83 | |
84 # Base Lua modules | |
85 ${LUA_SOURCES_DIR}/src/lauxlib.c | |
86 ${LUA_SOURCES_DIR}/src/lbaselib.c | |
2947 | 87 ${LUA_SOURCES_DIR}/src/lbitlib.c |
88 ${LUA_SOURCES_DIR}/src/lcorolib.c | |
735 | 89 ${LUA_SOURCES_DIR}/src/ldblib.c |
90 ${LUA_SOURCES_DIR}/src/liolib.c | |
91 ${LUA_SOURCES_DIR}/src/lmathlib.c | |
2947 | 92 ${LUA_SOURCES_DIR}/src/loadlib.c |
735 | 93 ${LUA_SOURCES_DIR}/src/loslib.c |
2947 | 94 ${LUA_SOURCES_DIR}/src/lstrlib.c |
735 | 95 ${LUA_SOURCES_DIR}/src/ltablib.c |
2947 | 96 ${LUA_SOURCES_DIR}/src/lutf8lib.c |
97 | |
735 | 98 ${LUA_SOURCES_DIR}/src/linit.c |
99 ) | |
100 | |
101 source_group(ThirdParty\\Lua REGULAR_EXPRESSION ${LUA_SOURCES_DIR}/.*) | |
102 | |
103 else() | |
104 include(FindLua51) | |
105 | |
106 if (NOT LUA51_FOUND) | |
107 message(FATAL_ERROR "Please install the liblua-dev package") | |
108 endif() | |
109 | |
110 include_directories(${LUA_INCLUDE_DIR}) | |
111 link_libraries(${LUA_LIBRARIES}) | |
112 endif() |