|
@@ -45,10 +45,29 @@ else()
|
|
set(LOVE_TARGET_PLATFORM x86)
|
|
set(LOVE_TARGET_PLATFORM x86)
|
|
endif()
|
|
endif()
|
|
|
|
|
|
|
|
+option(LOVE_JIT "Use LuaJIT" TRUE)
|
|
|
|
+
|
|
|
|
+if(LOVE_JIT)
|
|
|
|
+ message(STATUS "LuaJIT: Enabled")
|
|
|
|
+else()
|
|
|
|
+ message(STATUS "LuaJIT: Disabled")
|
|
|
|
+endif()
|
|
|
|
+
|
|
message(STATUS "Target platform: ${LOVE_TARGET_PLATFORM}")
|
|
message(STATUS "Target platform: ${LOVE_TARGET_PLATFORM}")
|
|
|
|
|
|
find_package(OpenGL)
|
|
find_package(OpenGL)
|
|
|
|
|
|
|
|
+if(${LOVE_JIT})
|
|
|
|
+ set(MEGA_LUA ${MEGA_LUAJIT_LIB})
|
|
|
|
+ set(MEGA_EXTRA_INCLUDE ${MEGA_LUAJIT_INCLUDE})
|
|
|
|
+ set(MEGA_EXTRA_DLLS ${MEGA_LUAJIT_DLL})
|
|
|
|
+ set(MEGA_EXTRA_DEPENDECIES luajit)
|
|
|
|
+else()
|
|
|
|
+ set(MEGA_LUA ${MEGA_LUA51})
|
|
|
|
+ # MEGA_LUA51 is a CMake target, so includes are handled
|
|
|
|
+ # automatically.
|
|
|
|
+endif()
|
|
|
|
+
|
|
#
|
|
#
|
|
# common
|
|
# common
|
|
#
|
|
#
|
|
@@ -904,7 +923,7 @@ set(LOVE_SRC_3P_ENET
|
|
)
|
|
)
|
|
|
|
|
|
add_library(love_3p_enet ${LOVE_SRC_3P_ENET})
|
|
add_library(love_3p_enet ${LOVE_SRC_3P_ENET})
|
|
-target_link_libraries(love_3p_enet ${MEGA_LUA51})
|
|
|
|
|
|
+target_link_libraries(love_3p_enet ${MEGA_LUA})
|
|
target_include_directories(love_3p_enet PUBLIC src/libraries/enet/libenet/include)
|
|
target_include_directories(love_3p_enet PUBLIC src/libraries/enet/libenet/include)
|
|
|
|
|
|
#
|
|
#
|
|
@@ -967,7 +986,7 @@ set(LOVE_SRC_3P_LUASOCKET
|
|
)
|
|
)
|
|
|
|
|
|
add_library(love_3p_luasocket ${LOVE_SRC_3P_LUASOCKET})
|
|
add_library(love_3p_luasocket ${LOVE_SRC_3P_LUASOCKET})
|
|
-target_link_libraries(love_3p_luasocket ${MEGA_LUA51})
|
|
|
|
|
|
+target_link_libraries(love_3p_luasocket ${MEGA_LUA})
|
|
|
|
|
|
#
|
|
#
|
|
# noise1234
|
|
# noise1234
|
|
@@ -1057,15 +1076,36 @@ include_directories(
|
|
src
|
|
src
|
|
src/libraries
|
|
src/libraries
|
|
src/modules
|
|
src/modules
|
|
|
|
+ ${MEGA_EXTRA_INCLUDE}
|
|
)
|
|
)
|
|
|
|
|
|
# SDL2 links with some DirectX libraries, and we apparently also
|
|
# SDL2 links with some DirectX libraries, and we apparently also
|
|
# pull those libraries in for linkage because we link with SDL2.
|
|
# pull those libraries in for linkage because we link with SDL2.
|
|
link_directories(${SDL_LINK_DIR})
|
|
link_directories(${SDL_LINK_DIR})
|
|
|
|
|
|
|
|
+set(LOVE_MEGA_3P
|
|
|
|
+ ${MEGA_DEVIL}
|
|
|
|
+ ${MEGA_FREETYPE}
|
|
|
|
+ ${MEGA_JASPER}
|
|
|
|
+ ${MEGA_JPEG}
|
|
|
|
+ ${MEGA_LIBOGG}
|
|
|
|
+ ${MEGA_LIBPNG}
|
|
|
|
+ ${MEGA_LIBVORBISFILE}
|
|
|
|
+ ${MEGA_LIBVORBIS}
|
|
|
|
+ ${MEGA_LUA}
|
|
|
|
+ ${MEGA_MODPLUG}
|
|
|
|
+ ${MEGA_MPEG123}
|
|
|
|
+ ${MEGA_OPENAL}
|
|
|
|
+ ${MEGA_PHYSFS}
|
|
|
|
+ ${MEGA_SDL2MAIN}
|
|
|
|
+ ${MEGA_SDL2}
|
|
|
|
+ ${MEGA_TIFF}
|
|
|
|
+ ${MEGA_ZLIB}
|
|
|
|
+)
|
|
|
|
+
|
|
set(LOVE_LINK_LIBRARIES
|
|
set(LOVE_LINK_LIBRARIES
|
|
${OPENGL_gl_LIBRARY}
|
|
${OPENGL_gl_LIBRARY}
|
|
- ${MEGA_3P}
|
|
|
|
|
|
+ ${LOVE_MEGA_3P}
|
|
)
|
|
)
|
|
|
|
|
|
set(LOVE_RC)
|
|
set(LOVE_RC)
|
|
@@ -1085,6 +1125,10 @@ endif()
|
|
add_library(${LOVE_LIB_NAME} SHARED ${LOVE_LIB_SRC} ${LOVE_RC})
|
|
add_library(${LOVE_LIB_NAME} SHARED ${LOVE_LIB_SRC} ${LOVE_RC})
|
|
target_link_libraries(liblove ${LOVE_LINK_LIBRARIES} ${LOVE_3P})
|
|
target_link_libraries(liblove ${LOVE_LINK_LIBRARIES} ${LOVE_3P})
|
|
|
|
|
|
|
|
+if(MEGA_EXTRA_DEPENDECIES)
|
|
|
|
+ add_dependencies(${LOVE_LIB_NAME} ${MEGA_EXTRA_DEPENDECIES})
|
|
|
|
+endif()
|
|
|
|
+
|
|
if(MSVC)
|
|
if(MSVC)
|
|
set_target_properties(${LOVE_LIB_NAME} PROPERTIES RELEASE_OUTPUT_NAME "love")
|
|
set_target_properties(${LOVE_LIB_NAME} PROPERTIES RELEASE_OUTPUT_NAME "love")
|
|
set_target_properties(${LOVE_LIB_NAME} PROPERTIES DEBUG_OUTPUT_NAME "love")
|
|
set_target_properties(${LOVE_LIB_NAME} PROPERTIES DEBUG_OUTPUT_NAME "love")
|
|
@@ -1102,7 +1146,12 @@ add_move_dll(love ${MEGA_MPEG123})
|
|
add_move_dll(love ${MEGA_SDL2})
|
|
add_move_dll(love ${MEGA_SDL2})
|
|
add_move_dll(love ${MEGA_OPENAL})
|
|
add_move_dll(love ${MEGA_OPENAL})
|
|
add_move_dll(love ${MEGA_DEVIL})
|
|
add_move_dll(love ${MEGA_DEVIL})
|
|
-add_move_dll(love ${MEGA_LUA51})
|
|
|
|
|
|
+
|
|
|
|
+if(LOVE_JIT)
|
|
|
|
+ add_move_file(love ${MEGA_LUAJIT_DLL})
|
|
|
|
+else()
|
|
|
|
+ add_move_dll(love ${MEGA_LUA51})
|
|
|
|
+endif()
|
|
|
|
|
|
###################################
|
|
###################################
|
|
# Version
|
|
# Version
|
|
@@ -1131,6 +1180,15 @@ message(STATUS "Version: ${LOVE_VERSION_STR}")
|
|
###################################
|
|
###################################
|
|
install(TARGETS love ${LOVE_LIB_NAME} RUNTIME DESTINATION .)
|
|
install(TARGETS love ${LOVE_LIB_NAME} RUNTIME DESTINATION .)
|
|
|
|
|
|
|
|
+# Extra DLLs.
|
|
|
|
+if(MEGA_EXTRA_DLLS)
|
|
|
|
+ foreach(DLL ${MEGA_EXTRA_DLLS})
|
|
|
|
+ get_filename_component(DLL_NAME ${DLL} NAME)
|
|
|
|
+ message(STATUS "Extra DLL: ${DLL_NAME}")
|
|
|
|
+ endforeach()
|
|
|
|
+ install(FILES ${MEGA_EXTRA_DLLS} DESTINATION .)
|
|
|
|
+endif()
|
|
|
|
+
|
|
# Dynamic runtime libs.
|
|
# Dynamic runtime libs.
|
|
if(MEGA_MSVC_DLLS)
|
|
if(MEGA_MSVC_DLLS)
|
|
foreach(DLL ${MEGA_MSVC_DLLS})
|
|
foreach(DLL ${MEGA_MSVC_DLLS})
|