@@ -185,7 +185,9 @@ if (LUA_VANILLA_VERSION MATCHES "^5\\.1")
185185 lbaselib.c ldblib.c liolib.c lmathlib.c loslib.c ltablib.c
186186 lstrlib.c loadlib.c linit.c)
187187 set (LUA_VANILLA_LUA_SOURCES lua.c )
188+ if (LUA_BUILD_LUA_COMPILER)
188189 set (LUA_VANILLA_LUAC_SOURCES luac.c print.c )
190+ endif ()
189191 set (LUA_VANILLA_GENERATE_LUA_HPP true )
190192elseif (LUA_VANILLA_VERSION MATCHES "^5\\ .2" )
191193 set (LUA_VANILLA_LIB_SOURCES lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c
@@ -194,7 +196,9 @@ elseif (LUA_VANILLA_VERSION MATCHES "^5\\.2")
194196 lauxlib.c lbaselib.c lbitlib.c lcorolib.c ldblib.c liolib.c
195197 lmathlib.c loslib.c lstrlib.c ltablib.c loadlib.c linit.c)
196198 set (LUA_VANILLA_LUA_SOURCES lua.c )
199+ if (LUA_BUILD_LUA_COMPILER)
197200 set (LUA_VANILLA_LUAC_SOURCES luac.c )
201+ endif ()
198202 set (LUA_VANILLA_GENERATE_LUA_HPP false )
199203elseif (LUA_VANILLA_VERSION MATCHES "^5\\ .3" )
200204 set (LUA_VANILLA_LIB_SOURCES lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c
@@ -203,7 +207,9 @@ elseif (LUA_VANILLA_VERSION MATCHES "^5\\.3")
203207 lbaselib.c lbitlib.c lcorolib.c ldblib.c liolib.c lmathlib.c
204208 loslib.c lstrlib.c ltablib.c lutf8lib.c loadlib.c linit.c)
205209 set (LUA_VANILLA_LUA_SOURCES lua.c )
210+ if (LUA_BUILD_LUA_COMPILER)
206211 set (LUA_VANILLA_LUAC_SOURCES luac.c )
212+ endif ()
207213 set (LUA_VANILLA_GENERATE_LUA_HPP false )
208214elseif (LUA_VANILLA_VERSION MATCHES "^5\\ .4" )
209215 if (LUA_VANILLA_VERSION MATCHES "work" )
@@ -215,7 +221,9 @@ elseif (LUA_VANILLA_VERSION MATCHES "^5\\.4")
215221 lparser.c lstate.c lstring.c lstrlib.c ltable.c ltablib.c ltm.c lundump.c
216222 lutf8lib.c lvm.c lzio.c)
217223 set (LUA_VANILLA_LUA_SOURCES lua.c )
224+ if (LUA_BUILD_LUA_COMPILER)
218225 set (LUA_VANILLA_LUAC_SOURCES luac.c )
226+ endif ()
219227 set (LUA_VANILLA_GENERATE_LUA_HPP false )
220228else ()
221229 MESSAGE (WARNING "Using Lua 5.4.0-work1 file list for ${LUA_VERSION} version" )
@@ -225,14 +233,15 @@ else()
225233 lparser.c lstate.c lstring.c lstrlib.c ltable.c ltablib.c ltm.c lundump.c
226234 lutf8lib.c lvm.c lzio.c)
227235 set (LUA_VANILLA_LUA_SOURCES lua.c )
236+ if (LUA_BUILD_LUA_COMPILER)
228237 set (LUA_VANILLA_LUAC_SOURCES luac.c )
238+ endif ()
229239 set (LUA_VANILLA_GENERATE_LUA_HPP false )
230240endif ()
231241
232242set (LUA_VANILLA_SOURCE_DIR "${LUA_BUILD_TOPLEVEL} /src" )
233243prepend (LUA_VANILLA_LIB_SOURCES "${LUA_VANILLA_SOURCE_DIR} /" ${LUA_VANILLA_LIB_SOURCES} )
234244prepend (LUA_VANILLA_LUA_SOURCES "${LUA_VANILLA_SOURCE_DIR} /" ${LUA_VANILLA_LUA_SOURCES} )
235- prepend (LUA_VANILLA_LUAC_SOURCES "${LUA_VANILLA_SOURCE_DIR} /" ${LUA_VANILLA_LUAC_SOURCES} )
236245
237246# download, just for the sake of download + extract
238247# or pull from local folder
@@ -242,7 +251,7 @@ if (LUA_LOCAL_DIR)
242251 file (COPY "${LUA_LOCAL_DIR} /include"
243252 DESTINATION "${LUA_BUILD_TOPLEVEL} " )
244253 add_custom_target (LUA_VANILLA
245- DEPENDS "${LUA_VANILLA_LIB_SOURCES} " "${LUA_VANILLA_LUA_SOURCES} " " ${LUA_VANILLA_LUAC_SOURCES} " )
254+ DEPENDS "${LUA_VANILLA_LIB_SOURCES} " "${LUA_VANILLA_LUA_SOURCES} " )
246255 set (LUA_VANILLA_INCLUDE_DIRS ${LUA_VANILLA_INCLUDE_DIRS} "${LUA_VANILLA_SOURCE_DIR} " "${LUA_BUILD_TOPLEVEL} /include" )
247256else ()
248257 ExternalProject_Add (LUA_VANILLA
@@ -262,7 +271,7 @@ else()
262271 BUILD_COMMAND ""
263272 INSTALL_COMMAND ""
264273 TEST_COMMAND ""
265- BUILD_BYPRODUCTS "${LUA_VANILLA_LIB_SOURCES} " "${LUA_VANILLA_LUA_SOURCES} " " ${LUA_VANILLA_LUAC_SOURCES} " )
274+ BUILD_BYPRODUCTS "${LUA_VANILLA_LIB_SOURCES} " "${LUA_VANILLA_LUA_SOURCES} " )
266275
267276 # make a quick lua.hpp for 5.1 targets that don't have it
268277 if (LUA_VANILLA_GENERATE_LUA_HPP)
@@ -386,48 +395,47 @@ if (UNIX)
386395endif ()
387396
388397# LuaC Compiler
389- add_executable (${luacompiler} ${LUA_VANILLA_LUAC_SOURCES} )
390- if (BUILD_LUA_AS_DLL)
391- # TODO: figure out how to make DLL internal symbols for lua public so we don't have to do this
392- target_sources (${luacompiler} PRIVATE ${LUA_VANILLA_LIB_SOURCES} )
393- endif ()
394- set_target_properties (${luacompiler}
395- PROPERTIES
396- LANGUAGE C
397- LINKER_LANGUAGE C
398- C_STANDARD 99
399- C_EXTENSIONS TRUE
400- OUTPUT_NAME luac-${LUA_VANILLA_VERSION} )
401- target_include_directories (${luacompiler}
402- PRIVATE "${LUA_VANILLA_INCLUDE_DIRS} " )
403- target_compile_definitions (${luacompiler}
404- PUBLIC LUA_COMPAT_ALL ${LUA_VANILLA_DLL_DEFINE}
405- PRIVATE LUA_COMPAT_ALL ${LUA_VANILLA_DLL_DEFINE} )
406- if (MSVC )
407- target_compile_options (${luacompiler}
408- PRIVATE /W1 )
409- else ()
410- target_compile_options (${luacompiler}
411- PRIVATE -w )
412- endif ()
413- if (WIN32 )
414- #target_compile_definitions(${luacompiler}
415- # PRIVATE LUA_USE_WINDOWS)
416- else ()
417- target_compile_definitions (${luacompiler}
418- PRIVATE LUA_USE_LINUX )
419- endif ()
420- target_link_libraries (${luacompiler} PRIVATE ${liblua} )
421- if (CMAKE_DL_LIBS )
422- target_link_libraries (${luacompiler} PRIVATE ${CMAKE_DL_LIBS} )
423- endif ()
424- if (UNIX )
425- # TODO: make readline optional?
426- target_link_libraries (${luacompiler} PRIVATE m readline )
398+ if (LUA_BUILD_LUA_COMPILER)
399+ set_target_properties (${luacompiler}
400+ PROPERTIES
401+ LANGUAGE C
402+ LINKER_LANGUAGE C
403+ C_STANDARD 99
404+ C_EXTENSIONS TRUE
405+ OUTPUT_NAME luac-${LUA_VANILLA_VERSION} )
406+ target_include_directories (${luacompiler}
407+ PRIVATE "${LUA_VANILLA_INCLUDE_DIRS} " )
408+ target_compile_definitions (${luacompiler}
409+ PUBLIC LUA_COMPAT_ALL ${LUA_VANILLA_DLL_DEFINE}
410+ PRIVATE LUA_COMPAT_ALL ${LUA_VANILLA_DLL_DEFINE} )
411+ if (MSVC )
412+ target_compile_options (${luacompiler}
413+ PRIVATE /W1 )
414+ else ()
415+ target_compile_options (${luacompiler}
416+ PRIVATE -w )
417+ endif ()
418+ if (WIN32 )
419+ #target_compile_definitions(${luacompiler}
420+ # PRIVATE LUA_USE_WINDOWS)
421+ else ()
422+ target_compile_definitions (${luacompiler}
423+ PRIVATE LUA_USE_LINUX )
424+ endif ()
425+ target_link_libraries (${luacompiler} PRIVATE ${liblua} )
426+ if (CMAKE_DL_LIBS )
427+ target_link_libraries (${luacompiler} PRIVATE ${CMAKE_DL_LIBS} )
428+ endif ()
429+ if (UNIX )
430+ # TODO: make readline optional?
431+ target_link_libraries (${luacompiler} PRIVATE m readline )
432+ endif ()
427433endif ()
428434
429435# set externally-visible target indicator
430436set (LUA_LIBRARIES ${liblua} )
431437set (LUA_INTERPRETER ${luainterpreter} )
432- set (LUA_COMPILER ${luacompiler} )
438+ if (LUA_BUILD_LUA_COMPILER)
439+ set (LUA_COMPILER ${luacompiler} )
440+ endif ()
433441set (LUA_INCLUDE_DIRS "${LUA_VANILLA_SOURCE_DIR} " )
0 commit comments