You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
replace all log.panic with throwing and put the error logging into a single top level catch
./fibs reset should also run deno clean if possible (doesn't work on windows)
jobs: if addToTargetSources is true, also add a header search path no, since that header search path would need to be magically derived from the output filenames
add IDE group property to targets
add and test win-vscode-* configs
rename config-arch... etc to better match cmake generator properties?
vscode: check Emscripten debugging
default scope on interface targets should be 'interface'
low-prio: imported modules should be directly available via p.importModule(importName, filename) to allow projects to use/call custom exports on those modules (like the 'emrun()' helper function in fibs-platforms/emscripten.ts
properly deal with import options and unify with job args:
import modules may define a single options type
the importOptions() method becomes generic and gets a schema arg
the schema also contains the default value and help text
low-prio: imported targets should be grouped under an 'imports' IDE group moved to 2.x wishlist
low-prio: targets libs and frameworks should allow scope (public/private/interface) moved to 2.x wishlist
low-prio: projects should be able to define a default run target moved to 2.x wishlist
~~low-prio: maybe add varargs overloads for functions that take arrays?
a project should be able to override the default config (via function) => moved to 2.x wishlist
Android support => moved to 2.x wishlist
iOS support => moved to 2.x wishlist
proper pthread handling on Linux via Thread cmake package
Ubuntu/Debian compatibility (can't use cmake 4 as minimal version)
b.targetDistDir() and b.targetBuildDir() don't work from within target builder for the current target (add target builder helpers instead!!!)
MSVC:
set debug session working directory
copy target dlls into exe directory
fix emscripten runner on windows (emrun not found)
macOS/iOS: generate plist file (not directly, but can be configured via cmake target properties)
new git handling: fix 'you are leaving commit behind' warning during 'fibs update'
import git dirs must be named like their import, not like the repository (because things like imgui docking vs main branch) (fixed by appending @ref to the directory name)
implement a 'fibs reset' command which wipes the .fibs subdirectory
fibs update should completely skip linked imports (especially not delete them on --clean)
add a separate 'deps' field to targets, which may only reference targets, and use libs only for existing static link libs
StringArrays should be allowed to have null and undefined items (which are then ignored)
there should explicit wrapper types for the various records (e.g. type TargetDescs = Record<string, TargetDesc>
fibs update needs to happen in import order
compileDefinitions should be a Record<string,string>
Context should include host platform and host cpu arch
need a way to conditionally import .ts files by configs (e.g. glfw3 in sokol-samples if no glfw-* build config is used
fibs list targets should only show enabled targets (and get a new --disabled option)
hook 'fibs runjobs' into cmake file
target sources list must be build-time configurable
targets can be disabled based on build config
build configs: rename variables to cmakeVariables
build configs should have an options: Record<string, any> field
fibs clean should have sub-commands: config, import, target, sdk
'fibs diag targets' needs to validate targets:
only interface targets may have no sources
interface target must not define public or private items (only generic array or interface)
'fibs diag imports':
check that import exists
check if import has local modifications
check if import has unpushed modifications
check if import has remote modifications
'fibs update [import]'
'fibs link [import] [local-dir]
'fibs unlink [import]
imports
imports with embedded fibs.ts file
imports with locally defined ProjectDesc
WASI support (via WASI SDK)
inherited configs must merge arrays and records (not replace)
must be able to patch/extend existing config desc without having to inherit
global target defaults per platform (must be able to filter by language => for now just expect cmake generator expressions in the items, but this is ugly)
cmake variables
compile options
include directories
compile definitions
link options
target defaults per config (must be able to filter by language)
compile options
include directories
compile definitions
link options
need a universal path alias system which allows to patch path strings into valid absolute paths, this is for instance needed in places where a string property cannot be identified as a path (for instance cmake variables which need to point to a file). The path aliases need to be patched at the last moment, because they may depend on the current build config
@root/ always points to the current root project directory
@self/ points to the root or import directory
@sdks/ points to @root/.fibs/sdks/
@build/ points to the current config's build directory
@dist/ points to the current config's dist directory
any actual relative path should be treated like starting with @self/
link_directories# machine generated, don't editto the top of the generated CMakeLists.txt(wasn't also the case in fips)./fibs diag configsfor the builtin configs should check the host platformundefinedb.addIncludeDirectories({ dirs: ['.'], language: 'cxx', buildMode: 'release' });yieldsinclude_directories(""$<$<CONFIG:RELEASE>:"$<$<COMPILE_LANGUAGE:CXX>:/Users/floh/projects/fibs-sokol-test/.>">"")^1import version specififer to all fibs packagesdeno run --allow-all jsr:@floooh/fibs initin an existing directory)(doesn't work on windows)./fibs resetshould also rundeno cleanif possiblejobs: if addToTargetSources is true, also add a header search pathno, since that header search path would need to be magically derived from the output filenameswin-vscode-*configsp.importModule(importName, filename)to allow projects to use/call custom exports on those modules (like the 'emrun()' helper function infibs-platforms/emscripten.tslow-prio: imported targets should be grouped under an 'imports' IDE groupmoved to 2.x wishlistlow-prio: targets libs and frameworks should allow scope (public/private/interface)moved to 2.x wishlistlow-prio: projects should be able to define a default run targetmoved to 2.x wishlista project should be able to override the default config (via function)=> moved to 2.x wishlistAndroid support=> moved to 2.x wishlistiOS support=> moved to 2.x wishlistimport git dirs must be named like their import, not like the repository (because things like imgui docking vs main branch)(fixed by appending @ref to the directory name)fibs updateshould completely skip linked imports (especially not delete them on --clean)type TargetDescs = Record<string, TargetDesc>glfw-*build config is used--disabledoption)variablestocmakeVariablesoptions: Record<string, any>fieldfibs clean should have sub-commands: config, import, target, sdkcheck if import has remote modificationsfibs.tsfileProjectDesc=> for now just expect cmake generator expressions in the items, but this is ugly)@root/always points to the current root project directory@self/points to the root or import directory@sdks/points to@root/.fibs/sdks/@build/points to the current config's build directory@dist/points to the current config's dist directory@self/