diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 70 |
1 files changed, 37 insertions, 33 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index db2f18d..27569e7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ # Please note that the package source code is licensed under its own license. project ( lua C ) -cmake_minimum_required ( VERSION 2.6 ) +cmake_minimum_required ( VERSION 2.8 ) include ( cmake/dist.cmake ) include ( lua ) @@ -16,14 +16,14 @@ set ( LUA_CPATH "LUA_CPATH" CACHE STRING "Environment variable to use as package set ( LUA_INIT "LUA_INIT" CACHE STRING "Environment variable for initial script." ) option ( LUA_ANSI "Use only ansi features." OFF ) -option ( LUA_USE_RELATIVE_LOADLIB "Use modified loadlib.c with support for relative paths on posix systems." ON) +option ( LUA_USE_RELATIVE_LOADLIB "Use modified loadlib.c with support for relative paths on posix systems." + ON ) set ( LUA_IDSIZE 60 CACHE NUMBER "gives the maximum size for the description of the source." ) set ( LUA_PROMPT "> " CACHE STRING "Is the default prompt used by stand-alone Lua." ) set ( LUA_PROMPT2 ">> " CACHE STRING "Is the default continuation prompt used by stand-alone Lua." ) -set ( LUA_MAXINPUT 512 CACHE NUMBER "Is the maximum length for an input line in the stand-alone interpreter.") +set ( LUA_MAXINPUT 512 CACHE NUMBER "Is the maximum length for an input line in the stand-alone interpreter." ) #2DO: LUAI_* and LUAL_* settings, for now defaults are used. - set ( LUA_DIRSEP "/" ) set ( LUA_MODULE_SUFFIX ${CMAKE_SHARED_MODULE_SUFFIX} ) set ( LUA_LDIR ${INSTALL_LMOD} ) @@ -32,10 +32,10 @@ set ( LUA_CDIR ${INSTALL_CMOD} ) if ( LUA_USE_RELATIVE_LOADLIB ) # This will set up relative paths to lib string ( REGEX REPLACE "[^!/]+" ".." LUA_DIR "!/${INSTALL_BIN}/" ) -else () +else ( ) # Direct path to installation - set ( LUA_DIR ${CMAKE_INSTALL_PREFIX} CACHE STRING "Destination from which modules will be resolved. See INSTALL_LMOD and INSTALL_CMOD.") -endif () + set ( LUA_DIR ${CMAKE_INSTALL_PREFIX} CACHE STRING "Destination from which modules will be resolved. See INSTALL_LMOD and INSTALL_CMOD." ) +endif ( ) set ( LUA_PATH_DEFAULT "./?.lua;${LUA_DIR}${LUA_LDIR}/?.lua;${LUA_DIR}${LUA_LDIR}/?/init.lua;./?/init.lua" ) set ( LUA_CPATH_DEFAULT "./?${LUA_MODULE_SUFFIX};${LUA_DIR}${LUA_CDIR}/?${LUA_MODULE_SUFFIX};${LUA_DIR}${LUA_CDIR}/loadall${LUA_MODULE_SUFFIX}" ) @@ -43,47 +43,46 @@ set ( LUA_CPATH_DEFAULT "./?${LUA_MODULE_SUFFIX};${LUA_DIR}${LUA_CDIR}/?${LUA_MO if ( WIN32 AND NOT CYGWIN ) # Windows systems option ( LUA_WIN "Windows specific build." ON ) - option ( LUA_BUILD_WLUA "Build wLua interpretter without console output." ON) + option ( LUA_BUILD_WLUA "Build wLua interpretter without console output." ON ) option ( LUA_BUILD_AS_DLL "Build Lua library as Dll." ON ) # Paths (Double escapes needed) - set ( LUA_DIRSEP "\\\\" ) - string ( REPLACE "/" ${LUA_DIRSEP} LUA_DIR "${LUA_DIR}" ) + set ( LUA_DIRSEP "\\\\" ) string ( REPLACE " /" ${LUA_DIRSEP} LUA_DIR "${LUA_DIR}" ) string ( REPLACE "/" ${LUA_DIRSEP} LUA_LDIR "${LUA_LDIR}" ) string ( REPLACE "/" ${LUA_DIRSEP} LUA_CDIR "${LUA_CDIR}" ) string ( REPLACE "/" ${LUA_DIRSEP} LUA_PATH_DEFAULT "${LUA_PATH_DEFAULT}" ) string ( REPLACE "/" ${LUA_DIRSEP} LUA_CPATH_DEFAULT "${LUA_CPATH_DEFAULT}" ) -else () +else ( ) # Posix systems (incl. Cygwin) option ( LUA_USE_POSIX "Use POSIX functionality." ON ) option ( LUA_USE_DLOPEN "Use dynamic linker to load modules." ON ) option ( LUA_USE_MKSTEMP "Use mkstep." ON ) option ( LUA_USE_ISATTY "Use tty." ON ) option ( LUA_USE_POPEN "Use popen." ON ) - option ( LUA_USE_ULONGJMP "Use ulongjmp" ON) -endif () + option ( LUA_USE_ULONGJMP "Use ulongjmp" ON ) +endif ( ) ## SETUP # Optional libraries find_package ( Readline ) if ( READLINE_FOUND ) option ( LUA_USE_READLINE "Use readline in the Lua CLI." ON ) -endif () +endif ( ) find_package ( Curses ) if ( CURSES_FOUND ) option ( LUA_USE_CURSES "Use curses in the Lua CLI." ON ) -endif () +endif ( ) # Setup needed variables and libraries if ( LUA_USE_POSIX ) # On POSIX Lua links to standard math library "m" list ( APPEND LIBS m ) -endif () +endif ( ) if ( LUA_USE_DLOPEN ) # Link to dynamic linker library "dl" list ( APPEND LIBS dl ) -endif () +endif ( ) if ( LUA_WIN ) # Add extra rc files to the windows build @@ -92,20 +91,20 @@ if ( LUA_WIN ) set ( LUA_DLL_RC src/lua_dll.rc ) set ( LUA_RC src/lua.rc ) set ( LUAC_RC src/luac.rc ) - endif () -endif () + endif ( ) +endif ( ) if ( LUA_USE_READLINE ) # Add readline include_directories ( ${READLINE_INCLUDE_DIR} ) list ( APPEND LIBS ${READLINE_LIBRARY} ) -endif () +endif ( ) if ( LUA_USE_CURSES ) # Add curses include_directories ( ${CURSES_INCLUDE_DIR} ) list ( APPEND LIBS ${CURSES_LIBRARY} ) -endif () +endif ( ) ## SOURCES # Generate luaconf.h @@ -113,16 +112,20 @@ configure_file ( src/luaconf.h.in ${CMAKE_CURRENT_BINARY_DIR}/luaconf.h ) # Sources and headers include_directories ( src ${CMAKE_CURRENT_BINARY_DIR} ) -set ( SRC_LIB src/lapi.c src/lcode.c src/ldebug.c src/ldo.c src/ldump.c src/lfunc.c src/lgc.c src/llex.c src/lmem.c src/lobject.c src/lopcodes.c src/lparser.c src/lstate.c src/lstring.c src/ltable.c src/ltm.c src/lundump.c src/lvm.c src/lzio.c src/lauxlib.c src/lbaselib.c src/ldblib.c src/liolib.c src/lmathlib.c src/loslib.c src/ltablib.c src/lstrlib.c src/linit.c ) +set ( SRC_LIB src/lapi.c src/lcode.c src/ldebug.c src/ldo.c src/ldump.c src/lfunc.c + src/lgc.c src/llex.c src/lmem.c src/lobject.c src/lopcodes.c src/lparser.c src/lstate.c + src/lstring.c src/ltable.c src/ltm.c src/lundump.c src/lvm.c src/lzio.c src/lauxlib.c + src/lbaselib.c src/ldblib.c src/liolib.c src/lmathlib.c src/loslib.c src/ltablib.c + src/lstrlib.c src/linit.c ) set ( SRC_LUA src/lua.c ) set ( SRC_LUAC src/luac.c src/print.c ) if ( LUA_USE_RELATIVE_LOADLIB ) # Use modified loadlib list ( APPEND SRC_LIB src/loadlib_rel.c ) -else () +else ( ) list ( APPEND SRC_LIB src/loadlib.c ) -endif () +endif ( ) ## BUILD # Create dynamic library @@ -138,11 +141,11 @@ add_executable ( lua ${SRC_LUA} ${LUA_RC} ) target_link_libraries ( lua liblua ) # On windows a variant of the lua interpreter without console output needs to be built -if(LUA_BUILD_WLUA) +if ( LUA_BUILD_WLUA ) add_executable ( wlua WIN32 ${SRC_LUA} ${LUA_RC} ) - target_link_libraries ( wlua liblua ) + target_link_libraries ( wlua liblua ) install_executable ( wlua ) -endif() +endif ( ) add_executable ( luac ${SRC_LUAC} ${LUAC_RC} ) target_link_libraries ( luac liblua_static ) @@ -151,13 +154,13 @@ install_executable ( lua luac ) install_library ( liblua ) install_data ( README.md COPYRIGHT HISTORY ) install_lua_module ( strict etc/strict.lua ) -install_header (src/lua.h src/lualib.h src/lauxlib.h etc/lua.hpp ${CMAKE_CURRENT_BINARY_DIR}/luaconf.h ) +install_header ( src/lua.h src/lualib.h src/lauxlib.h etc/lua.hpp ${CMAKE_CURRENT_BINARY_DIR}/luaconf.h ) install_doc ( doc/ ) install_foo ( etc/ ) install_test ( test/ ) ## TESTS -set(LUA lua) +set ( LUA lua ) add_lua_test ( test/bisect.lua ) add_lua_test ( test/cf.lua ) @@ -168,10 +171,11 @@ add_lua_test ( test/fib.lua 20 ) add_lua_test ( test/fibfor.lua ) #add_lua_test ( test/globals.lua ) # Requires input add_lua_test ( test/hello.lua ) -file(READ test/life.lua _data) # life.lua test, with reduced run-time. -string(REPLACE "40,20" "20,15" _data "${_data}") -string(REPLACE 2000 20 _data "${_data}") -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test/life-quick.lua "${_data}") +file ( READ test/life.lua _data ) +# life.lua test, with reduced run-time. +string ( REPLACE "40,20" "20,15" _data "${_data}" ) +string ( REPLACE 2000 20 _data "${_data}" ) +file ( WRITE ${CMAKE_CURRENT_BINARY_DIR}/test/life-quick.lua "${_data}" ) add_lua_test ( ${CMAKE_CURRENT_BINARY_DIR}/test/life-quick.lua ) #add_lua_test ( test/luac.lua ) # Requires input add_lua_test ( test/printf.lua ) |