tamaskenez / cake Goto Github PK
View Code? Open in Web Editor NEWCMake project and package management
License: MIT License
CMake project and package management
License: MIT License
this variable holds a list of files of cake-depends-db files. They contain lines like
cake_depends_db_add([URL ] [NAME ] CODE "cake_pkg(INSTALL URL ")
it holds a list of files of NAME -> URL informations like
set(CAKE_PKG_URL_OF_ZLIB http://github/zlib?branch=foo&BAR=bar)
CAKE_PKG_NAME_URL_DB_ZLIB ?
When cakepkg called from command line without valid CMAKE_INSTALL_PREFIX the default is not set and the check at the end of CakeLoadConfig.cmake allows it since the same code runs when only cake
is called which does not need CMAKE_INSTALL_PREFIX
The main problem is that the same config file is used by both the cake
and cakepkg
while they need completely disjunct set of config variables.
I think we need to return to the dropped -DCAKE_PKG_UPDATE_NOW - triggered clone-or-update behavior
[URL [?branch=] | NAME ] [BRANCH ]
implies a CLONE
fetches (only if needed)
checks out named branch tag commit
see the removed implementation of cake_pkg CLONE (in an older commit) which handled updates
in accordance with ExternalProject
url, definitions and branch with '!' will be interpreted as mandatory, not meeting it would could FATAL_ERROR
example:
cake_pkg(INSTALL URL !http://github.com/a/b?!branch=devel&!-DFOO=BAR
DEFINITIONS !-DFOO=BAR
BRANCH !master
BRANCH !208394723984
implement the code to actually use the cake_name_url_db
cake_public_headers: add FILES and emphasize: no files after GLOB/GLOB_RECURSE
single library with dependencies and test
single exe with dependencies
super project with external and subdir dependencies
the current way ?depth=x should be removed
introduce
CAKE_PKG_CLONE_DEPTH
CAKE_PKG_CLONE_DEPTH_SUBDIR
CAKE_PKG_CLONE_DEPTH_EXTERN
variables which control the depth
This file should be a
This is required to do things like
list(APPEND CAKE_PKG_CAKE_ARGS -DCMAKE_MODULE_PATH=<...>)
and this would affect
cake_pkg(INSTALL NAME ZLIB)
which loads the cakecfg.cmake file but should keep CAKE_PKG_CAKE_ARGS as is because it must be passed on as session var
Extra care needed for arguments containing lists, like such lines in cakecfg:
-DCMAKE_INSTALL_PREFIX=path1;path2
install_prefix/src/<short-cid>
install_prefix/build/<short-cid>_<config>
install_prefix/build/<short-cid>_<config>/cake-last-build-pars-<config>
install_prefix/tmp
implement the code that actually use cake_pkg_depends_db
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.