@@ -305,58 +305,6 @@ ExternalProject_Add(luajit_build
305305 BUILD_BYPRODUCTS ${LUAJIT_LIBS}
306306)
307307
308-
309- add_library (luajit STATIC IMPORTED GLOBAL )
310- list (GET LUAJIT_LIBS 0 LUAJIT_MAIN_LIB)
311- set_target_properties (luajit PROPERTIES IMPORTED_LOCATION ${LUAJIT_MAIN_LIB} )
312- add_dependencies (luajit luajit_build )
313- target_link_libraries (luajit INTERFACE ${LUAJIT_LIBS} )
314- target_include_directories (luajit INTERFACE
315- ${CMAKE_CURRENT_SOURCE_DIR} /pd-lua/luas/luajit/src
316- )
317- # pdlua sources
318- set (PDLUA_PATH "${CMAKE_CURRENT_SOURCE_DIR} /pd-lua" )
319-
320- set (LUA_INCLUDE_DIR "${PDLUA_PATH} /luas/luajit/src" )
321-
322- add_library (pdlua STATIC ${PDLUA_PATH} /luas/lua.c ${PDLUA_PATH} /luas/luajit.c )
323- add_library (pdlua-multi STATIC ${PDLUA_PATH} /luas/lua.c ${PDLUA_PATH} /luas/luajit.c )
324- target_include_directories (pdlua PUBLIC ${LUA_INCLUDE_DIR} )
325- target_include_directories (pdlua-multi PUBLIC ${LUA_INCLUDE_DIR} )
326-
327- target_link_libraries (pdlua PUBLIC luajit )
328- target_link_libraries (pdlua-multi PUBLIC luajit )
329-
330-
331- target_compile_definitions (pdlua PRIVATE PLUGDATA=1 )
332- target_compile_definitions (pdlua-multi PRIVATE PLUGDATA=1 PDINSTANCE=1 )
333-
334- if ("${CMAKE_SYSTEM} " MATCHES "Linux" )
335- target_compile_definitions (pdlua PRIVATE MAKE_LIB=1 LUA_USE_LINUX=1 )
336- target_compile_definitions (pdlua-multi PRIVATE MAKE_LIB=1 LUA_USE_LINUX=1 )
337- elseif (MSVC )
338- target_compile_definitions (pdlua PRIVATE MAKE_LIB=1 LUA_USE_WINDOWS=1 )
339- target_compile_definitions (pdlua-multi PRIVATE MAKE_LIB=1 LUA_USE_WINDOWS=1 )
340- elseif (APPLE )
341- if ("${CMAKE_SYSTEM_NAME} " MATCHES "iOS" )
342- target_compile_definitions (pdlua PRIVATE LUA_USE_IOS=1 PRIVATE MAKE_LIB=1 )
343- target_compile_definitions (pdlua-multi PRIVATE LUA_USE_IOS=1 PRIVATE MAKE_LIB=1 )
344- else ()
345- target_compile_definitions (pdlua PRIVATE MAKE_LIB=1 LUA_USE_MACOSX=1 )
346- target_compile_definitions (pdlua-multi PRIVATE MAKE_LIB=1 LUA_USE_MACOSX=1 )
347- endif ()
348- else ()
349- target_compile_definitions (pdlua PRIVATE MAKE_LIB=1 )
350- target_compile_definitions (pdlua-multi PRIVATE MAKE_LIB=1 )
351- endif ()
352-
353- source_group (pdlua FILES ${PDLUA_SOURCES} )
354-
355- # live version data for pdlua.c
356- # set(PDLUA_VERSION 0.11.0)
357- #execute_process(COMMAND git -C ${CMAKE_CURRENT_SOURCE_DIR}/pd-lua describe --tags OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE PDLUA_VERSION)
358- #set_source_files_properties(${PDLUA_PATH}/pdlua.c PROPERTIES COMPILE_DEFINITIONS PDLUA_VERSION=${PDLUA_VERSION})
359-
360308# ------------------------------------------------------------------------------#
361309# COMPILE DEFINITIONS
362310# ------------------------------------------------------------------------------#
@@ -507,11 +455,43 @@ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/pd-else/Source/Shared/opus)
507455target_compile_definitions (opus PRIVATE FLOAT_APPROX=1 )
508456unset (MESSAGE_QUIET)
509457
458+ # pdlua sources
459+ set (PDLUA_PATH "${CMAKE_CURRENT_SOURCE_DIR} /pd-lua" )
460+ set (LUA_INCLUDE_DIR "${PDLUA_PATH} /luas/luajit/src" )
461+ set (PDLUA_SOURCES "${PDLUA_PATH} /luas/lua.c" "${PDLUA_PATH} /luas/luajit.c" )
462+
510463# ------------------------------------------------------------------------------#
511464# TARGETS
512465# ------------------------------------------------------------------------------#
513466add_library (externals STATIC ${ELSE_SOURCES} ${CYCLONE_SOURCES} ${PDLUA_SOURCES} )
514- add_library (externals-multi STATIC ${ELSE_SOURCES} ${CYCLONE_SOURCES} ${PDLUA_SOURCES} ${} )
467+ add_library (externals-multi STATIC ${ELSE_SOURCES} ${CYCLONE_SOURCES} ${PDLUA_SOURCES} )
468+
469+ add_library (luajit STATIC IMPORTED GLOBAL )
470+ list (GET LUAJIT_LIBS 0 LUAJIT_MAIN_LIB)
471+ set_target_properties (luajit PROPERTIES IMPORTED_LOCATION ${LUAJIT_MAIN_LIB} )
472+ add_dependencies (luajit luajit_build )
473+ target_link_libraries (luajit INTERFACE ${LUAJIT_LIBS} )
474+ target_include_directories (luajit INTERFACE
475+ ${CMAKE_CURRENT_SOURCE_DIR} /pd-lua/luas/luajit/src
476+ )
477+ set (LUA_COMPILE_DEFINITIONS MAKE_LIB=1)
478+
479+ if ("${CMAKE_SYSTEM} " MATCHES "Linux" )
480+ list (APPEND LUA_COMPILE_DEFINITIONS LUA_USE_LINUX=1)
481+ elseif (MSVC )
482+ list (APPEND LUA_COMPILE_DEFINITIONS LUA_USE_WINDOWS=1)
483+ elseif (APPLE )
484+ if ("${CMAKE_SYSTEM_NAME} " MATCHES "iOS" )
485+ list (APPEND LUA_COMPILE_DEFINITIONS LUA_USE_IOS=1)
486+ else ()
487+ list (APPEND LUA_COMPILE_DEFINITIONS LUA_USE_MACOSX=1)
488+ endif ()
489+ endif ()
490+
491+ # live version data for pdlua.c
492+ # set(PDLUA_VERSION 0.11.0)
493+ #execute_process(COMMAND git -C ${CMAKE_CURRENT_SOURCE_DIR}/pd-lua describe --tags OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE PDLUA_VERSION)
494+ #set_source_files_properties(${PDLUA_PATH}/pdlua.c PROPERTIES COMPILE_DEFINITIONS PDLUA_VERSION=${PDLUA_VERSION})
515495
516496# Hide deprecation warnings on externals, it's noise and are outside of our control
517497if (MSVC )
@@ -540,8 +520,8 @@ target_include_directories(externals PRIVATE ${ELSE_INCLUDES})
540520target_include_directories (externals-multi PRIVATE ${ELSE_INCLUDES} )
541521
542522# ag: pdlua needs PLUGDATA symbol at compile time for plugdata integration.
543- target_compile_definitions (externals PRIVATE ${LIBPD_COMPILE_DEFINITIONS} PLUGDATA=1 )
544- target_compile_definitions (externals-multi PRIVATE ${LIBPD_COMPILE_DEFINITIONS} PDINSTANCE=1 PDTHREADS=1 PLUGDATA=1 )
523+ target_compile_definitions (externals PRIVATE ${LIBPD_COMPILE_DEFINITIONS} ${LUA_COMPILE_DEFINITIONS} PLUGDATA=1 )
524+ target_compile_definitions (externals-multi PRIVATE ${LIBPD_COMPILE_DEFINITIONS} ${LUA_COMPILE_DEFINITIONS} PDINSTANCE=1 PDTHREADS=1 PLUGDATA=1 )
545525
546526add_library (pd-src STATIC ${SOURCE_FILES} )
547527target_compile_definitions (pd-src PRIVATE ${LIBPD_COMPILE_DEFINITIONS} )
@@ -598,23 +578,23 @@ if("${CMAKE_SYSTEM}" MATCHES "Linux")
598578 add_library (pd INTERFACE )
599579 add_library (pd-multi INTERFACE )
600580 find_library (MATH_LIB m )
601- target_link_libraries (externals PUBLIC ${externals_libs} ${GEM_LIBS} pdlua )
602- target_link_libraries (externals-multi PUBLIC ${externals_libs} ${GEM_LIBS_MULTI} pdlua-multi )
581+ target_link_libraries (externals PUBLIC ${externals_libs} ${GEM_LIBS} )
582+ target_link_libraries (externals-multi PUBLIC ${externals_libs} ${GEM_LIBS_MULTI} )
603583elseif (MSVC )
604584 add_library (pd SHARED $<TARGET_OBJECTS :externals > $<TARGET_OBJECTS :pd -src >)
605585 add_library (pd-multi STATIC $<TARGET_OBJECTS :externals -multi > $<TARGET_OBJECTS :pd -src -multi >)
606586
607- target_link_libraries (pd PUBLIC pthreadVC3 ws2_32 ${externals_libs} ${GEM_LIBS} pdlua )
608- target_link_libraries (pd-multi PUBLIC pthreadVC3 ws2_32 ${externals_libs} ${GEM_LIBS_MULTI} pdlua-multi )
587+ target_link_libraries (pd PUBLIC pthreadVC3 ws2_32 ${externals_libs} ${GEM_LIBS} luajit )
588+ target_link_libraries (pd-multi PUBLIC pthreadVC3 ws2_32 ${externals_libs} ${GEM_LIBS_MULTI} luajit )
609589
610590 add_custom_command (TARGET pd POST_BUILD
611591 COMMAND ${CMAKE_COMMAND} -E copy_if_different
612592 "$<TARGET_FILE :pd >"
613593 ${CMAKE_SOURCE_DIR} /Plugins/Standalone/pd.dll
614594 )
615595elseif (APPLE )
616- target_link_libraries (externals PUBLIC ${externals_libs} ${GEM_LIBS} pdlua )
617- target_link_libraries (externals-multi PUBLIC ${externals_libs} ${GEM_LIBS_MULTI} pdlua-multi )
596+ target_link_libraries (externals PUBLIC ${externals_libs} ${GEM_LIBS} )
597+ target_link_libraries (externals-multi PUBLIC ${externals_libs} ${GEM_LIBS_MULTI} )
618598endif ()
619599
620600if (MSVC )
0 commit comments