this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

build langs separately for wasm

+135 -53
+69 -5
.github/workflows/build.yml
··· 459 459 with: 460 460 ruby-version: 2.6 461 461 462 - - name: Build 462 + - name: Build lua 463 + run: | 464 + cd build 465 + emcmake cmake -DBUILD_SDLGPU=On -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_LUA=ON -DTIC80_TARGET=tic80lua .. --fresh 466 + cmake --build . --config MinSizeRel --parallel 467 + 468 + - name: Build ruby 469 + run: | 470 + cd build 471 + emcmake cmake -DBUILD_SDLGPU=On -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_LUA=OFF -DBUILD_WITH_RUBY=ON -DTIC80_TARGET=tic80ruby .. --fresh 472 + cmake --build . --config MinSizeRel --parallel 473 + 474 + - name: Build js 475 + run: | 476 + cd build 477 + emcmake cmake -DBUILD_SDLGPU=On -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_LUA=OFF -DBUILD_WITH_JS=ON -DTIC80_TARGET=tic80js .. --fresh 478 + cmake --build . --config MinSizeRel --parallel 479 + 480 + - name: Build moon 481 + run: | 482 + cd build 483 + emcmake cmake -DBUILD_SDLGPU=On -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_LUA=OFF -DBUILD_WITH_MOON=ON -DTIC80_TARGET=tic80moon .. --fresh 484 + cmake --build . --config MinSizeRel --parallel 485 + 486 + - name: Build fennel 463 487 run: | 464 488 cd build 465 - emcmake cmake -DBUILD_SDLGPU=On -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_ALL=ON .. 489 + emcmake cmake -DBUILD_SDLGPU=On -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_LUA=OFF -DBUILD_WITH_FENNEL=ON -DTIC80_TARGET=tic80fennel .. --fresh 490 + cmake --build . --config MinSizeRel --parallel 491 + 492 + - name: Build scheme 493 + run: | 494 + cd build 495 + emcmake cmake -DBUILD_SDLGPU=On -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_LUA=OFF -DBUILD_WITH_SCHEME=ON -DTIC80_TARGET=tic80scheme .. --fresh 496 + cmake --build . --config MinSizeRel --parallel 497 + 498 + - name: Build squirrel 499 + run: | 500 + cd build 501 + emcmake cmake -DBUILD_SDLGPU=On -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_LUA=OFF -DBUILD_WITH_SQUIRREL=ON -DTIC80_TARGET=tic80squirrel .. --fresh 502 + cmake --build . --config MinSizeRel --parallel 503 + 504 + - name: Build wren 505 + run: | 506 + cd build 507 + emcmake cmake -DBUILD_SDLGPU=On -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_LUA=OFF -DBUILD_WITH_WREN=ON -DTIC80_TARGET=tic80wren .. --fresh 508 + cmake --build . --config MinSizeRel --parallel 509 + 510 + - name: Build wasm 511 + run: | 512 + cd build 513 + emcmake cmake -DBUILD_SDLGPU=On -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_LUA=OFF -DBUILD_WITH_WASM=ON -DTIC80_TARGET=tic80wasm .. --fresh 514 + cmake --build . --config MinSizeRel --parallel 515 + 516 + - name: Build janet 517 + run: | 518 + cd build 519 + emcmake cmake -DBUILD_SDLGPU=On -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_LUA=OFF -DBUILD_WITH_JANET=ON -DTIC80_TARGET=tic80janet .. --fresh 520 + cmake --build . --config MinSizeRel --parallel 521 + 522 + - name: Build python 523 + run: | 524 + cd build 525 + emcmake cmake -DBUILD_SDLGPU=On -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_LUA=OFF -DBUILD_WITH_PYTHON=ON -DTIC80_TARGET=tic80python .. --fresh 526 + cmake --build . --config MinSizeRel --parallel 527 + 528 + - name: Build all 529 + run: | 530 + cd build 531 + emcmake cmake -DBUILD_SDLGPU=On -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_WITH_ALL=ON .. --fresh 466 532 cmake --build . --config MinSizeRel --parallel 467 533 cp html/index.html bin/index.html 468 534 ··· 471 537 with: 472 538 name: "tic80-html" 473 539 path: | 474 - build/bin/tic80.js 475 - build/bin/tic80.wasm 476 - build/bin/index.html 540 + build/bin/*
+5
CMakeLists.txt
··· 39 39 option(BUILD_NO_OPTIMIZATION "Build without optimizations for debugging" OFF) 40 40 option(BUILD_ASAN_DEBUG "Build with AddressSanitizer" OFF) 41 41 option(BUILD_WITH_ZLIB "Build with zlib linked" ON) 42 + option(TIC80_TARGET "Target binary suffix") 43 + 44 + if(NOT TIC80_TARGET) 45 + set(TIC80_TARGET tic80) 46 + endif() 42 47 43 48 if (BUILD_NO_OPTIMIZATION) 44 49 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0")
+1 -1
build/android/app/build.gradle
··· 25 25 arguments "APP_PLATFORM=android-31" 26 26 } 27 27 cmake { 28 - arguments "-DBUILD_WITH_MRUBY=OFF", "-DBUILD_PRO=Off", "-DCMAKE_BUILD_TYPE=MinSizeRel", "-DBUILD_WITH_ALL=ON" 28 + arguments "-DBUILD_WITH_RUBY=OFF", "-DBUILD_PRO=Off", "-DCMAKE_BUILD_TYPE=MinSizeRel", "-DBUILD_WITH_ALL=ON" 29 29 } 30 30 } 31 31 }
+1 -1
cmake/core.cmake
··· 90 90 target_link_libraries(tic80core PRIVATE wren) 91 91 endif() 92 92 93 - if(BUILD_WITH_MRUBY) 93 + if(BUILD_WITH_RUBY) 94 94 target_link_libraries(tic80core PRIVATE ruby) 95 95 endif() 96 96
+2 -1
cmake/fennel.cmake
··· 11 11 12 12 if(NOT BUILD_STATIC) 13 13 set_target_properties(fennel PROPERTIES PREFIX "") 14 + else() 15 + target_compile_definitions(fennel INTERFACE TIC_BUILD_WITH_FENNEL) 14 16 endif() 15 17 16 18 target_link_libraries(fennel PRIVATE runtime luaapi) ··· 20 22 ${CMAKE_SOURCE_DIR}/include 21 23 ${CMAKE_SOURCE_DIR}/src 22 24 ) 23 - target_compile_definitions(fennel INTERFACE TIC_BUILD_WITH_FENNEL) 24 25 25 26 endif()
+2 -1
cmake/janet.cmake
··· 45 45 46 46 if(NOT BUILD_STATIC) 47 47 set_target_properties(janet PROPERTIES PREFIX "") 48 + else() 49 + target_compile_definitions(janet INTERFACE TIC_BUILD_WITH_JANET=1) 48 50 endif() 49 51 50 52 target_link_libraries(janet PRIVATE runtime) ··· 57 59 ${CMAKE_SOURCE_DIR}/src 58 60 ) 59 61 60 - target_compile_definitions(janet INTERFACE TIC_BUILD_WITH_JANET=1) 61 62 62 63 endif()
+15 -12
cmake/lua.cmake
··· 5 5 option(BUILD_WITH_LUA "Lua Enabled" ON) 6 6 message("BUILD_WITH_LUA: ${BUILD_WITH_LUA}") 7 7 8 - if(BUILD_WITH_LUA) 9 - 8 + if(BUILD_WITH_LUA OR BUILD_WITH_MOON OR BUILD_WITH_FENNEL) 10 9 set(LUA_DIR ${THIRDPARTY_DIR}/lua) 11 10 set(LUA_SRC 12 11 ${LUA_DIR}/lapi.c ··· 50 49 ${CMAKE_SOURCE_DIR}/src/api/parse_note.c 51 50 ) 52 51 53 - add_library(lua ${TIC_RUNTIME} ${CMAKE_SOURCE_DIR}/src/api/lua.c) 54 - 55 - if(NOT BUILD_STATIC) 56 - set_target_properties(lua PROPERTIES PREFIX "") 57 - endif() 58 - 59 - target_link_libraries(lua PRIVATE runtime luaapi) 60 - 61 52 target_compile_definitions(luaapi PRIVATE LUA_COMPAT_5_2) 62 53 63 54 target_include_directories(luaapi ··· 66 57 ${CMAKE_SOURCE_DIR}/src 67 58 ) 68 59 60 + endif() 61 + 62 + if(BUILD_WITH_LUA) 63 + 64 + add_library(lua ${TIC_RUNTIME} ${CMAKE_SOURCE_DIR}/src/api/lua.c) 65 + 66 + if(NOT BUILD_STATIC) 67 + set_target_properties(lua PROPERTIES PREFIX "") 68 + else() 69 + target_compile_definitions(lua INTERFACE TIC_BUILD_WITH_LUA) 70 + endif() 71 + 72 + target_link_libraries(lua PRIVATE runtime luaapi) 73 + 69 74 target_include_directories(lua 70 75 PUBLIC ${THIRDPARTY_DIR}/lua 71 76 PRIVATE ··· 76 81 if(N3DS) 77 82 target_compile_definitions(luaapi PUBLIC LUA_32BITS) 78 83 endif() 79 - 80 - target_compile_definitions(lua INTERFACE TIC_BUILD_WITH_LUA) 81 84 82 85 endif()
+2 -1
cmake/moon.cmake
··· 23 23 24 24 if(NOT BUILD_STATIC) 25 25 set_target_properties(moon PROPERTIES PREFIX "") 26 + else() 27 + target_compile_definitions(moon INTERFACE TIC_BUILD_WITH_MOON) 26 28 endif() 27 29 28 30 target_link_libraries(moon PRIVATE lpeg runtime luaapi) ··· 34 36 ${CMAKE_SOURCE_DIR}/src 35 37 ) 36 38 37 - target_compile_definitions(moon INTERFACE TIC_BUILD_WITH_MOON) 38 39 39 40 endif()
+5 -4
cmake/mruby.cmake
··· 2 2 # MRUBY 3 3 ################################ 4 4 5 - option(BUILD_WITH_MRUBY "mruby Enabled" ${BUILD_WITH_ALL}) 6 - message("BUILD_WITH_MRUBY: ${BUILD_WITH_MRUBY}") 5 + option(BUILD_WITH_RUBY "Ruby Enabled" ${BUILD_WITH_ALL}) 6 + message("BUILD_WITH_RUBY: ${BUILD_WITH_RUBY}") 7 7 8 - if(BUILD_WITH_MRUBY) 8 + if(BUILD_WITH_RUBY) 9 9 10 10 find_program(RUBY ruby) 11 11 find_program(RAKE rake) ··· 17 17 18 18 if(NOT BUILD_STATIC) 19 19 set_target_properties(ruby PROPERTIES PREFIX "") 20 + else() 21 + target_compile_definitions(ruby INTERFACE TIC_BUILD_WITH_RUBY=1) 20 22 endif() 21 23 22 24 target_link_libraries(ruby PRIVATE runtime) ··· 86 88 add_dependencies(ruby mruby_vendor) 87 89 target_link_libraries(ruby PRIVATE ${MRUBY_LIB}) 88 90 89 - target_compile_definitions(ruby INTERFACE TIC_BUILD_WITH_MRUBY=1) 90 91 91 92 endif()
+2 -1
cmake/pocketpy.cmake
··· 22 22 23 23 if(NOT BUILD_STATIC) 24 24 set_target_properties(python PROPERTIES PREFIX "") 25 + else() 26 + target_compile_definitions(python INTERFACE TIC_BUILD_WITH_PYTHON=1) 25 27 endif() 26 28 27 29 target_link_libraries(python PRIVATE runtime) ··· 40 42 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fexceptions") 41 43 endif() 42 44 43 - target_compile_definitions(python INTERFACE TIC_BUILD_WITH_PYTHON=1) 44 45 45 46 endif()
+2 -1
cmake/quickjs.cmake
··· 43 43 44 44 if(NOT BUILD_STATIC) 45 45 set_target_properties(js PROPERTIES PREFIX "") 46 + else() 47 + target_compile_definitions(js INTERFACE TIC_BUILD_WITH_JS=1) 46 48 endif() 47 49 48 50 target_link_libraries(js PRIVATE runtime) ··· 55 57 ${CMAKE_SOURCE_DIR}/src 56 58 ) 57 59 58 - target_compile_definitions(js INTERFACE TIC_BUILD_WITH_JS=1) 59 60 60 61 endif()
+2 -1
cmake/scheme.cmake
··· 16 16 17 17 if(NOT BUILD_STATIC) 18 18 set_target_properties(scheme PROPERTIES PREFIX "") 19 + else() 20 + target_compile_definitions(scheme INTERFACE TIC_BUILD_WITH_SCHEME=1) 19 21 endif() 20 22 21 23 target_link_libraries(scheme PRIVATE runtime) ··· 36 38 target_compile_definitions(scheme PRIVATE S7_BAREMETALPI) 37 39 endif() 38 40 39 - target_compile_definitions(scheme INTERFACE TIC_BUILD_WITH_SCHEME=1) 40 41 41 42 endif()
+19 -19
cmake/sdl.cmake
··· 139 139 configure_file("${PROJECT_SOURCE_DIR}/build/windows/tic80.rc.in" "${PROJECT_SOURCE_DIR}/build/windows/tic80.rc") 140 140 set(TIC80_SRC ${TIC80_SRC} "${PROJECT_SOURCE_DIR}/build/windows/tic80.rc") 141 141 142 - add_executable(tic80 ${SYSTEM_TYPE} ${TIC80_SRC}) 142 + add_executable(${TIC80_TARGET} ${SYSTEM_TYPE} ${TIC80_SRC}) 143 143 144 144 elseif(ANDROID) 145 145 146 146 set(TIC80_SRC ${TIC80_SRC} ${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c) 147 147 148 - add_library(tic80 SHARED ${TIC80_SRC}) 148 + add_library(${TIC80_TARGET} SHARED ${TIC80_SRC}) 149 149 150 150 else() 151 - add_executable(tic80 ${TIC80_SRC}) 151 + add_executable(${TIC80_TARGET} ${TIC80_SRC}) 152 152 endif() 153 153 154 154 if(MINGW) 155 - target_link_libraries(tic80 mingw32) 156 - target_link_options(tic80 PRIVATE -static -mconsole) 155 + target_link_libraries(${TIC80_TARGET} mingw32) 156 + target_link_options(${TIC80_TARGET} PRIVATE -static -mconsole) 157 157 endif() 158 158 159 159 if(EMSCRIPTEN) 160 - set_target_properties(tic80 PROPERTIES LINK_FLAGS "-s WASM=1 -s USE_SDL=2 -s ALLOW_MEMORY_GROWTH=1 -s FETCH=1 --pre-js ${CMAKE_SOURCE_DIR}/build/html/prejs.js -lidbfs.js") 160 + set_target_properties(${TIC80_TARGET} PROPERTIES LINK_FLAGS "-s WASM=1 -s USE_SDL=2 -s ALLOW_MEMORY_GROWTH=1 -s FETCH=1 --pre-js ${CMAKE_SOURCE_DIR}/build/html/prejs.js -lidbfs.js") 161 161 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s USE_SDL=2") 162 162 163 163 if(CMAKE_BUILD_TYPE STREQUAL "Debug") ··· 165 165 endif() 166 166 167 167 elseif(NOT ANDROID) 168 - target_link_libraries(tic80 SDL2main) 168 + target_link_libraries(${TIC80_TARGET} SDL2main) 169 169 endif() 170 170 171 - target_link_libraries(tic80 tic80studio) 171 + target_link_libraries(${TIC80_TARGET} tic80studio) 172 172 173 173 if(BUILD_TOUCH_INPUT) 174 - target_compile_definitions(tic80 PRIVATE TOUCH_INPUT_SUPPORT) 174 + target_compile_definitions(${TIC80_TARGET} PRIVATE TOUCH_INPUT_SUPPORT) 175 175 endif() 176 176 177 177 if (FREEBSD) 178 - target_include_directories(tic80 PRIVATE ${SYSROOT_PATH}/usr/local/include) 179 - target_link_directories(tic80 PRIVATE ${SYSROOT_PATH}/usr/local/lib) 178 + target_include_directories(${TIC80_TARGET} PRIVATE ${SYSROOT_PATH}/usr/local/include) 179 + target_link_directories(${TIC80_TARGET} PRIVATE ${SYSROOT_PATH}/usr/local/lib) 180 180 endif() 181 181 182 182 if(RPI) 183 - target_include_directories(tic80 PRIVATE ${SYSROOT_PATH}/usr/local/include/SDL2) 184 - target_link_directories(tic80 PRIVATE ${SYSROOT_PATH}/usr/local/lib ${SYSROOT_PATH}/opt/vc/lib) 185 - target_compile_definitions(tic80 PRIVATE __RPI__) 183 + target_include_directories(${TIC80_TARGET} PRIVATE ${SYSROOT_PATH}/usr/local/include/SDL2) 184 + target_link_directories(${TIC80_TARGET} PRIVATE ${SYSROOT_PATH}/usr/local/lib ${SYSROOT_PATH}/opt/vc/lib) 185 + target_compile_definitions(${TIC80_TARGET} PRIVATE __RPI__) 186 186 endif() 187 187 188 188 if(BUILD_SDLGPU) 189 - target_link_libraries(tic80 sdlgpu) 189 + target_link_libraries(${TIC80_TARGET} sdlgpu) 190 190 else() 191 191 if(EMSCRIPTEN) 192 192 elseif(RPI) 193 - target_link_libraries(tic80 libSDL2.a bcm_host pthread) 193 + target_link_libraries(${TIC80_TARGET} libSDL2.a bcm_host pthread) 194 194 else() 195 195 if(BUILD_STATIC) 196 - target_link_libraries(tic80 SDL2-static) 196 + target_link_libraries(${TIC80_TARGET} SDL2-static) 197 197 else() 198 - target_link_libraries(tic80 SDL2) 198 + target_link_libraries(${TIC80_TARGET} SDL2) 199 199 endif() 200 200 endif() 201 201 endif() ··· 204 204 205 205 configure_file("${PROJECT_SOURCE_DIR}/build/linux/tic80.desktop.in" "${PROJECT_SOURCE_DIR}/build/linux/tic80.desktop") 206 206 207 - install(TARGETS tic80 DESTINATION bin) 207 + install(TARGETS ${TIC80_TARGET} DESTINATION bin) 208 208 209 209 SET(TIC80_DESKTOP_DIR "share/applications/") 210 210 SET(TIC80_PIXMAPS_DIR "share/icons/")
+2 -1
cmake/squirrel.cmake
··· 39 39 40 40 if(NOT BUILD_STATIC) 41 41 set_target_properties(squirrel PROPERTIES PREFIX "") 42 + else() 43 + target_compile_definitions(squirrel INTERFACE TIC_BUILD_WITH_SQUIRREL=1) 42 44 endif() 43 45 44 46 target_link_libraries(squirrel PRIVATE runtime) ··· 54 56 ${CMAKE_SOURCE_DIR}/src 55 57 ) 56 58 57 - target_compile_definitions(squirrel INTERFACE TIC_BUILD_WITH_SQUIRREL=1) 58 59 59 60 endif()
+2 -1
cmake/wasm.cmake
··· 28 28 29 29 if(NOT BUILD_STATIC) 30 30 set_target_properties(wasm PROPERTIES PREFIX "") 31 + else() 32 + target_compile_definitions(wasm INTERFACE TIC_BUILD_WITH_WASM=1) 31 33 endif() 32 34 33 35 target_link_libraries(wasm PRIVATE runtime) ··· 39 41 ${CMAKE_SOURCE_DIR}/src 40 42 ) 41 43 42 - target_compile_definitions(wasm INTERFACE TIC_BUILD_WITH_WASM=1) 43 44 44 45 endif()
+2 -1
cmake/wren.cmake
··· 27 27 28 28 if(NOT BUILD_STATIC) 29 29 set_target_properties(wren PROPERTIES PREFIX "") 30 + else() 31 + target_compile_definitions(wren INTERFACE TIC_BUILD_WITH_WREN=1) 30 32 endif() 31 33 32 34 target_link_libraries(wren PRIVATE runtime) ··· 40 42 target_include_directories(wren PUBLIC ${THIRDPARTY_DIR}/wren/src/include) 41 43 target_include_directories(wren PRIVATE ${THIRDPARTY_DIR}/wren/src/optional) 42 44 target_include_directories(wren PRIVATE ${THIRDPARTY_DIR}/wren/src/vm) 43 - target_compile_definitions(wren INTERFACE TIC_BUILD_WITH_WREN=1) 44 45 45 46 endif()
+2 -2
src/script.c
··· 33 33 extern tic_script EXPORT_SCRIPT(Lua); 34 34 #endif 35 35 36 - #if defined(TIC_BUILD_WITH_MRUBY) 36 + #if defined(TIC_BUILD_WITH_RUBY) 37 37 extern tic_script EXPORT_SCRIPT(Ruby); 38 38 #endif 39 39 ··· 82 82 &EXPORT_SCRIPT(Lua), 83 83 #endif 84 84 85 - #if defined(TIC_BUILD_WITH_MRUBY) 85 + #if defined(TIC_BUILD_WITH_RUBY) 86 86 &EXPORT_SCRIPT(Ruby), 87 87 #endif 88 88