Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer
Submodule .devcontainer updated 57 files
+185 −0 .github/actions/cmake-build/action.yml
+10 −16 .github/wf-templates/xpbuild.yml
+1 −2 .github/wf-templates/xprelease.yml
+52 −8 .github/workflows/README.md
+67 −70 .github/workflows/build-linux.yml
+7 −45 .github/workflows/build-macos.yml
+7 −53 .github/workflows/build-windows.yml
+72 −119 .github/workflows/release-from-build.yml
+288 −0 .windsurf/workflows/manifestUpdate.md
+3 −3 README.md
+0 −40 cmake/Findexdlpro.cmake
+63 −63 cmake/README.md
+1 −1 cmake/cpack/README.md
+62 −14 cmake/deps.cmake
+1 −0 cmake/deps.dot
+ cmake/deps.png
+499 −0 cmake/deps.svg
+0 −0 cmake/legacy/Findscript.cmake.in
+0 −0 cmake/legacy/cmsappendsuffix.cmake
+0 −0 cmake/legacy/cmsconfigurefile.cmake
+0 −0 cmake/legacy/cmscopyfilemd5.cmake
+0 −0 cmake/legacy/cmscopyfiles.cmake
+0 −0 cmake/legacy/cmscopymanuals.cmake
+0 −0 cmake/legacy/cmsdownload.cmake
+0 −0 cmake/legacy/launchWorkflow.cmake
+0 −0 cmake/legacy/macpro.cmake
+0 −1 cmake/legacy/sync.cmake
+0 −0 cmake/legacy/sync.sh.in
+928 −0 cmake/legacy/xpfunmac.cmake
+0 −0 cmake/legacy/xpopts.cmake.in
+0 −0 cmake/legacy/xpsolpkg.cmake
+0 −67 cmake/presets/xpDarwinMakefilesRelease.json
+0 −67 cmake/presets/xpLinuxMakefilesRelease.json
+145 −407 cmake/pros.cmake
+0 −7 cmake/usexp.cmake.in
+0 −22 cmake/usexpdev.cmake.in
+0 −0 cmake/web/NodePath.cmake
+0 −0 cmake/web/version.js.in
+0 −0 cmake/web/version.ts.in
+0 −0 cmake/web/versionjs.cmake
+0 −0 cmake/web/xpweb.cmake
+343 −1,050 cmake/xpfunmac.cmake
+6 −0 cmake/xproinc.cmake
+0 −1 cmake/xptoplevel.cmake
+6 −5 cmake/xpuse.cmake.in
+0 −1 compose.bld.sh
+0 −1 compose.ci.sh
+1 −1 compose.gpu.sh
+1 −2 compose.pro.sh
+0 −6 compose.xdl.sh
+7 −73 denv.sh
+66 −32 funcs.sh
+15 −10 graph/graph.dot
+ graph/graph.png
+1 −1 local.dockerfile
+90 −0 tools.sh
+84 −0 xp.svg
26 changes: 10 additions & 16 deletions .github/workflows/xpbuild.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
name: Build
permissions:
contents: read
pull-requests: write
on:
push:
branches: [ "dev" ]
Expand All @@ -7,24 +10,15 @@ on:
workflow_dispatch:
jobs:
linux:
uses: externpro/externpro/.github/workflows/build-linux.yml@25.06
with:
cmake-workflow-preset: Linux
runon: ubuntu-latest
secrets: inherit
linux-arm64:
uses: externpro/externpro/.github/workflows/build-linux.yml@25.06
with:
cmake-workflow-preset: Linux
runon: ubuntu-24.04-arm
permissions:
contents: read
pull-requests: write
packages: write
uses: externpro/externpro/.github/workflows/build-linux.yml@25.07.3
secrets: inherit
macos:
uses: externpro/externpro/.github/workflows/build-macos.yml@25.06
with:
cmake-workflow-preset: Darwin
uses: externpro/externpro/.github/workflows/build-macos.yml@25.07.3
secrets: inherit
windows:
uses: externpro/externpro/.github/workflows/build-windows.yml@25.06
with:
cmake-workflow-preset: Windows
uses: externpro/externpro/.github/workflows/build-windows.yml@25.07.3
secrets: inherit
3 changes: 1 addition & 2 deletions .github/workflows/xprelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@ on:
jobs:
# Upload build artifacts as release assets
release-from-build:
uses: externpro/externpro/.github/workflows/release-from-build.yml@25.06
uses: externpro/externpro/.github/workflows/release-from-build.yml@25.07.3
with:
workflow_run_url: ${{ github.event.inputs.workflow_run_url }}
artifact_pattern: "*.tar.xz"
permissions:
contents: write
id-token: write
Expand Down
31 changes: 7 additions & 24 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
cmake_minimum_required ( VERSION 2.8...3.31 )
set(CMAKE_PROJECT_TOP_LEVEL_INCLUDES .devcontainer/cmake/xproinc.cmake)
project ( lua C )
include(GNUInstallDirs)
include(xpflags)
include ( cmake/dist.cmake )

## CONFIGURATION
Expand Down Expand Up @@ -148,29 +146,14 @@ add_executable ( luac ${SRC_CORE} ${SRC_LIB} ${SRC_LUAC} src/luac.rc )
target_link_libraries ( luac ${LIBS} )

set(targetsFile ${PROJECT_NAME}-targets)
if(NOT DEFINED XP_INSTALL_CMAKEDIR)
set(XP_INSTALL_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/cmake)
endif()
if(DEFINED XP_NAMESPACE)
set(nameSpace NAMESPACE ${XP_NAMESPACE}::)
xpPackageDevel(TARGETS_FILE ${targetsFile} EXE ${XP_NAMESPACE}::lua LIBRARIES ${XP_NAMESPACE}::liblua)
set(LUA_COMPONENT_RT devel)
set(LUA_COMPONENT_LIB devel)
set(LUA_COMPONENT_HDR devel)
set(LUA_COMPONENT_DATA devel)
set(LUA_COMPONENT_DOC devel)
set(LUA_COMPONENT_EX devel)
set(LUA_COMPONENT_TEST devel)
set(LUA_COMPONENT_OTH devel)
else()
set(LUA_COMPONENT_RT Runtime)
set(LUA_COMPONENT_LIB Library)
set(LUA_COMPONENT_HDR Header)
set(LUA_COMPONENT_DATA Data)
set(LUA_COMPONENT_DOC Documentation)
set(LUA_COMPONENT_EX Example)
set(LUA_COMPONENT_TEST Test)
set(LUA_COMPONENT_OTH Other)
xpExternPackage(NAMESPACE ${XP_NAMESPACE}
TARGETS_FILE ${targetsFile} EXE lua LIBRARIES liblua
BASE v5.2.3 XPDIFF "patch"
WEB "http://www.lua.org/" UPSTREAM "github.com/lua/lua"
DESC "a powerful, fast, lightweight, embeddable scripting language"
LICENSE "[MIT](http://www.lua.org/license.html 'MIT License')"
)
endif()

# On windows a variant of the lua interpreter without console output needs to be built
Expand Down
38 changes: 22 additions & 16 deletions cmake/dist.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ macro ( install_executable )
SOVERSION ${DIST_VERSION} )
endif ()
install ( TARGETS ${_file} EXPORT ${targetsFile} RUNTIME DESTINATION ${INSTALL_BIN}
COMPONENT ${LUA_COMPONENT_RT} CONFIGURATIONS Release )
COMPONENT Runtime CONFIGURATIONS Release )
endforeach()
endmacro ()

Expand All @@ -160,10 +160,16 @@ macro ( install_library )
SOVERSION ${DIST_VERSION} )
endif ()
install ( TARGETS ${_file} EXPORT ${targetsFile}
RUNTIME DESTINATION ${INSTALL_BIN} COMPONENT ${LUA_COMPONENT_RT}
LIBRARY DESTINATION ${INSTALL_LIB} COMPONENT ${LUA_COMPONENT_RT}
ARCHIVE DESTINATION ${INSTALL_LIB} COMPONENT ${LUA_COMPONENT_LIB} )
RUNTIME DESTINATION ${INSTALL_BIN} COMPONENT Runtime
LIBRARY DESTINATION ${INSTALL_LIB} COMPONENT Runtime
ARCHIVE DESTINATION ${INSTALL_LIB} COMPONENT Library )
endforeach()
if(DEFINED XP_NAMESPACE)
set(nameSpace NAMESPACE ${XP_NAMESPACE}::)
endif()
if(NOT DEFINED XP_INSTALL_CMAKEDIR)
set(XP_INSTALL_CMAKEDIR ${INSTALL_SHARE}/cmake)
endif()
install(EXPORT ${targetsFile} DESTINATION ${XP_INSTALL_CMAKEDIR} ${nameSpace})
endmacro ()

Expand Down Expand Up @@ -191,10 +197,10 @@ macro ( install_header )
foreach ( _file ${_ARG_DEFAULT_ARGS} )
if ( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${_file}" )
install ( DIRECTORY ${_file} DESTINATION ${INSTALL_INC}/${_ARG_INTO}
COMPONENT ${LUA_COMPONENT_HDR} ${_ARG_PATTERN} ${_ARG_REGEX} )
COMPONENT Header ${_ARG_PATTERN} ${_ARG_REGEX} )
else ()
install ( FILES ${_file} DESTINATION ${INSTALL_INC}/${_ARG_INTO}
COMPONENT ${LUA_COMPONENT_HDR} )
COMPONENT Header )
endif ()
endforeach()
endmacro ()
Expand All @@ -214,10 +220,10 @@ macro ( install_data )
if ( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${_file}" )
install ( DIRECTORY ${_file}
DESTINATION ${INSTALL_DATA}/${_ARG_INTO}
COMPONENT ${LUA_COMPONENT_DATA} ${_ARG_PATTERN} ${_ARG_REGEX} )
COMPONENT Data ${_ARG_PATTERN} ${_ARG_REGEX} )
else ()
install ( FILES ${_file} DESTINATION ${INSTALL_DATA}/${_ARG_INTO}
COMPONENT ${LUA_COMPONENT_DATA} )
COMPONENT Data )
endif ()
endforeach()
endmacro ()
Expand All @@ -236,10 +242,10 @@ macro ( install_doc )
foreach ( _file ${_ARG_DEFAULT_ARGS} )
if ( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${_file}" )
install ( DIRECTORY ${_file} DESTINATION ${INSTALL_DOC}/${_ARG_INTO}
COMPONENT ${LUA_COMPONENT_DOC} ${_ARG_PATTERN} ${_ARG_REGEX} )
COMPONENT Documentation ${_ARG_PATTERN} ${_ARG_REGEX} )
else ()
install ( FILES ${_file} DESTINATION ${INSTALL_DOC}/${_ARG_INTO}
COMPONENT ${LUA_COMPONENT_DOC} )
COMPONENT Documentation )
endif ()
endforeach()
endmacro ()
Expand All @@ -258,10 +264,10 @@ macro ( install_example )
foreach ( _file ${_ARG_DEFAULT_ARGS} )
if ( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${_file}" )
install ( DIRECTORY ${_file} DESTINATION ${INSTALL_EXAMPLE}/${_ARG_INTO}
COMPONENT ${LUA_COMPONENT_EX} ${_ARG_PATTERN} ${_ARG_REGEX} )
COMPONENT Example ${_ARG_PATTERN} ${_ARG_REGEX} )
else ()
install ( FILES ${_file} DESTINATION ${INSTALL_EXAMPLE}/${_ARG_INTO}
COMPONENT ${LUA_COMPONENT_EX} )
COMPONENT Example )
endif ()
endforeach()
endmacro ()
Expand All @@ -280,10 +286,10 @@ macro ( install_test )
foreach ( _file ${_ARG_DEFAULT_ARGS} )
if ( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${_file}" )
install ( DIRECTORY ${_file} DESTINATION ${INSTALL_TEST}/${_ARG_INTO}
COMPONENT ${LUA_COMPONENT_TEST} ${_ARG_PATTERN} ${_ARG_REGEX} )
COMPONENT Test ${_ARG_PATTERN} ${_ARG_REGEX} )
else ()
install ( FILES ${_file} DESTINATION ${INSTALL_TEST}/${_ARG_INTO}
COMPONENT ${LUA_COMPONENT_TEST} )
COMPONENT Test )
endif ()
endforeach()
endmacro ()
Expand All @@ -302,10 +308,10 @@ macro ( install_foo )
foreach ( _file ${_ARG_DEFAULT_ARGS} )
if ( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${_file}" )
install ( DIRECTORY ${_file} DESTINATION ${INSTALL_FOO}/${_ARG_INTO}
COMPONENT ${LUA_COMPONENT_OTH} ${_ARG_PATTERN} ${_ARG_REGEX} )
COMPONENT Other ${_ARG_PATTERN} ${_ARG_REGEX} )
else ()
install ( FILES ${_file} DESTINATION ${INSTALL_FOO}/${_ARG_INTO}
COMPONENT ${LUA_COMPONENT_OTH} )
COMPONENT Other )
endif ()
endforeach()
endmacro ()
Expand Down