aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2020-02-07 17:29:34 +0800
committerLi Jin <dragon-fly@qq.com>2020-02-07 17:29:34 +0800
commitc241ea241e8e9c152f6eb14f163b2ae39749f7bf (patch)
tree2fd05ca6866ea60ca778fb6ff31c7ec429e138c4 /CMakeLists.txt
parent2e50c15bfe67d4709880a0377d37fca191be2f3e (diff)
downloadyuescript-c241ea241e8e9c152f6eb14f163b2ae39749f7bf.tar.gz
yuescript-c241ea241e8e9c152f6eb14f163b2ae39749f7bf.tar.bz2
yuescript-c241ea241e8e9c152f6eb14f163b2ae39749f7bf.zip
releasing moonplus as a lib.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt36
1 files changed, 36 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..195895c
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,36 @@
1project ( moonp CXX )
2cmake_minimum_required ( VERSION 3.1 )
3
4MESSAGE(STATUS "Lua: using information from luarocks")
5
6MESSAGE(STATUS "LUA_LIBDIR: " ${LUA_INCDIR}/../../lib)
7MESSAGE(STATUS "LUA_INCDIR: " ${LUA_INCDIR})
8MESSAGE(STATUS "LUA: " ${LUA})
9
10SET(LUA_EXECUTABLE "${LUA}")
11SET(LUA_INCLUDE_DIR "${LUA_INCDIR}")
12
13GET_FILENAME_COMPONENT(LUA_EXEC_NAME ${LUA} NAME_WE)
14IF(LUA_EXEC_NAME STREQUAL "luajit")
15 FIND_LIBRARY(LUA_LIBRARIES
16 NAMES luajit libluajit
17 PATHS ${LUA_INCDIR}/../../lib
18 NO_DEFAULT_PATH)
19ELSEIF(LUA_EXEC_NAME MATCHES "lua.*")
20 FIND_LIBRARY(LUA_LIBRARIES
21 NAMES lua lua53 lua52 lua51 liblua liblua53 liblua52 liblua51
22 PATHS ${LUA_INCDIR}/../../lib
23 NO_DEFAULT_PATH)
24ENDIF()
25MESSAGE(STATUS "Lua library: ${LUA_LIBRARIES}")
26
27enable_language( CXX )
28find_package( Lua REQUIRED )
29include_directories( src ${LUA_INCLUDE_DIR} )
30add_definitions( -std=c++17 -O3 -DLIBMOONP )
31
32add_library( moonp MODULE src/MoonP/ast.cpp src/MoonP/parser.cpp src/MoonP/moon_parser.cpp src/MoonP/moon_compiler.cpp src/moonp.cpp)
33set_target_properties( moonp PROPERTIES PREFIX "")
34target_link_libraries( moonp ${LUA_LIBRARIES} )
35
36install(CODE "")