Code Monkey home page Code Monkey logo

cake's People

Contributors

tamaskenez avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cake's Issues

introduce CAKE_PKG_DEPENDS_DB_FILES

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 ")

CakeLoadConfig does not always force valid CMAKE_INSTALL_PREFIX

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.

implement cakepkg CHECKOUT or UPDATE

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

new way of control clone DEPTH

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

report which repo is on which commit and also allow to use it

  • generate a report, just like git-repo's manifest which contains which repo is on which commit, which can mean the following things
  • which is the original commit or branch this repo would be cloned by a fresh cmake configure (this is the branch parameter of the first encountered CLONE or INSTALL operation, the 'branch' field in the repo_db
  • which branch or commit (if detached head) the repos are currently on
  • exactly which commits the repos are currently on
    This should be saved to cmake file which can be later processed by another command, which:
  • reads in the file
  • restores the repos to the commit listed in the file

This file should be a

  • a list of cakepkg CHECKOUT URL BRANCH commands
    (or alternatively
  • a csv file or a more complicated format
  • a list of cmake set(...) commands describing the situation
    )

allow setting CAKE_PKG_CMAKE_ARGS effecting child cmake process

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

change directory layout

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.