-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
- emsdk install / wasisdk install should check if sdk directory already exists and ask to delete instead of throwing a git error
- need a target property
link_directories - running cmake with --parallel may kill build performance on ARM Macs (too many clang processes, using up all memory)
- add a
# machine generated, don't editto the top of the generated CMakeLists.txt - IConfigPhaseInfo directory info funcs cannot have the config name as optional!
-
(wasn't also the case in fips)./fibs diag configsfor the builtin configs should check the host platform - schema validation should allow optional properties to exist as
undefined - cmake code-gen bug:
b.addIncludeDirectories({ dirs: ['.'], language: 'cxx', buildMode: 'release' });yieldsinclude_directories(""$<$<CONFIG:RELEASE>:"$<$<COMPILE_LANGUAGE:CXX>:/Users/floh/projects/fibs-sokol-test/.>">"") - publish 1.0 and add
^1import version specififer to all fibs packages - cmake warning on Windows/VStudio: Manually specified variables were not used by build: CMAKE_BUILD_TYPE (e.g. put the 'isMultiConfigGenerator` back)
- add an 'init' cmd (needs to be run via
deno run --allow-all jsr:@floooh/fibs initin an existing directory) - port:
- sokol-doom: Port build system to fibs. doom-sokol#4
- webpage build!
- build instructions in readme
- v6502r Port build system to fibs. v6502r#37
- chips-test: Port build system to fibs. chips-test#42
- move sokol-tools to fibs Port to fibs build system sokol-tools#208
- sokol-doom: Port build system to fibs. doom-sokol#4
- replace all log.panic with throwing and put the error logging into a single top level catch
-
(doesn't work on windows)./fibs resetshould also rundeno cleanif possible -
jobs: if addToTargetSources is true, also add a header search pathno, 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 infibs-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 groupmoved 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 targetmoved 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 updateshould 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
--disabledoption) - 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
variablestocmakeVariables - 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.tsfile - imports with locally defined
ProjectDesc
- imports with embedded
- 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/
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels