GameLib is a collection of libraries for creating applications in Cakelisp.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

29 lines
1.0 KiB

(skip-build)
(import &comptime-only "Dependencies.cake")
;; Add all the necessary includes, defines, download the repo, etc.
(defmacro use-stb-ds (clone-func-name symbol)
(tokenize-push output
;; TODO: Make this an "infect" to the importer rather than having to be global
(add-c-search-directory-global "Dependencies/stb")
;; TODO: Remove once importing this module no longer changes all compile commands
(add-build-config-label "STB")
;; (add-c-search-directory-module "Dependencies/stb")
;; TODO: Remove parameter, replace with gensym/check for redefine?
(add-dependency-git-submodule (token-splice clone-func-name)
"https://github.com/nothings/stb"
"Dependencies/stb")
;; Enforce only defining the implemention once
(comptime-cond
('stb-ds-defined)
(true
(c-preprocessor-define STB_DS_IMPLEMENTATION)
(comptime-define-symbol 'stb-ds-defined)))
(c-import &with-decls "stb_ds.h"
&with-defs "stb_ds.h"))
(return true))