[{"data":1,"prerenderedAt":402},["ShallowReactive",2],{"project-18787777":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":42,"post_text":45,"what":46,"said":87,"maker_in_thread":182,"shape":192,"grid":196,"attempts":366,"same_week":367,"maker_shows":39,"maker_hidden":394,"reader_version":395,"card":396},"18787777","Bake","A modular build system and package manager for C\u002FC++","title","Show HN: Bake – A modular build system and package manager for C\u002FC++","https:\u002F\u002Fwww.github.com\u002FSanderMertens\u002Fbake","github.com","ajmmertens",1546150951,2018,132,70,318,2155,15,"notable","dev_tools","build system","cli",[24,25,26,27],"c++ build system","c package manager","cmake alternative","c dependency management","curious",-0.011,{"positive":31,"neutral":32,"mixed":33,"critical":31},4,9,0,17,{"idea":36,"privacy":38,"design":40,"docs":41},{"positive":33,"critical":37},2,{"positive":39,"critical":33},1,{"positive":39,"critical":37},{"positive":39,"critical":33},[39,33,33,33,33,33,33,33,33,33,33,33,33,33,43,33,33,33,33,39,33,44,33,44,44,33,44,43,44,43,44,33,44,44,33,33,33,33,39,44],5,3,null,{"problem":47,"audience":57,"pricing":45,"motivation":64,"time_to_build":45,"stack":70,"openness":84,"stage":85,"team_size":86},{"value":48,"source":49,"evidence":50},"Managing builds and dependencies across many C\u002FC++ projects without bundling or repositories","maker",[51,54],{"id":52,"by":11,"text":53},"18789896","\"How to make a package manager cry\" - lol. In all seriousness, the links you provided outline valid (and annoying) issues with package managers, but none of them apply to bake.…",{"id":55,"by":11,"text":56},"18789957","Yes, that is correct. Bake can find dependencies regardless of where the dependency's source code is. You also don't need to first install your project before it can be used as a…",{"value":58,"source":49,"evidence":59},"C\u002FC++ developers working on many shared projects",[60,61],{"id":55,"by":11,"text":56},{"id":62,"by":11,"text":63},"18789525","Thanks for bringing that up, I agree that the example is quite trivial, though I think it's at least a fair comparison when it comes to general complexity of two simple projects.…",{"value":65,"source":49,"evidence":66},"Spun off from earlier project after users reported positive experiences",[67],{"id":68,"by":11,"text":69},"18789747","Thanks for the comprehensive list of alternatives, there's some that I wasn't even aware of ;-) A few observations: - Bake has been used across platforms for large projects and…",[71,78],{"value":72,"source":49,"evidence":73},"JSON configuration",[74,75],{"id":68,"by":11,"text":69},{"id":76,"by":11,"text":77},"18789620","Yes, other formats were considered. There is some irony here, as I've been a vocal critic of JSON in the past…",{"value":79,"source":80,"evidence":81},"C","inferred",[82],{"id":83},"post","open_source","launched","unknown",{"praise":88,"objections":93,"requests":127,"questions":140,"alternatives":151},[89],{"value":90,"source":49,"evidence":91},"Dependency discovery from source without installing",[92],{"id":55,"by":11,"text":56},[94,110,120],{"value":95,"source":96,"evidence":97},"JSON config is verbose and less human-friendly than alternatives","commenter",[98,102,106],{"id":99,"by":100,"text":101},"18788395","ape4","JSON seems to verbose for this",{"id":103,"by":104,"text":105},"18788677","ricardobeat","Was YAML, CSON or some other format considered for config? JSON is not exactly human-friendly.",{"id":107,"by":108,"text":109},"18788803","richardwhiuk","Toml would be the best choice IMO",{"value":111,"source":96,"evidence":112},"Bundling dependencies causes diamond dependency problems",[113,117],{"id":114,"by":115,"text":116},"18789254","adev_","It was discussed for Meson when they included the \"subproject\" support as major issue for all the GNOME components for most linux distributions. There is some note here…",{"id":118,"by":115,"text":119},"18790366","> First of all, bake does not rely on an online package repository. As long as you have access to git, or have local copies of your git repositories, you're good. You'll never…",{"value":121,"source":96,"evidence":122},"Lacks a distinct test phase",[123],{"id":124,"by":125,"text":126},"18788935","humanrebar","The comparison to CMake isn't apt: https:\u002F\u002Fgithub.com\u002FSanderMertens\u002Fbake\u002Fblob\u002Fmaster\u002FREADME.md#how-does-bake-compare-to-cmake CMake projects allow proper recursive inclusion, so…",[128,135],{"value":129,"source":96,"evidence":130},"Unit test running support",[131],{"id":132,"by":133,"text":134},"18788521","kstenerud","How do you run unit tests in a bake project?",{"value":136,"source":96,"evidence":137},"Consider YAML or TOML for configuration",[138,139],{"id":103,"by":104,"text":105},{"id":107,"by":108,"text":109},[141,145],{"value":142,"source":96,"evidence":143},"How to run unit tests in a bake project",[144],{"id":132,"by":133,"text":134},{"value":146,"source":96,"evidence":147},"Why the title links to a fork rather than the original",[148],{"id":149,"by":133,"text":150},"18788527","https:\u002F\u002Fwww.github.com\u002FSanderMertens\u002Fbake is a fork of https:\u002F\u002Fgithub.com\u002Fcortoproject\u002Fbake... Is there any reason why the title link doesn't go to the original?",[152,159,163,171,178],{"value":153,"source":96,"evidence":154},"CMake",[155,158],{"id":156,"by":115,"text":157},"18789162","Cool. One more \"new\" build system after Meson (https:\u002F\u002Fmesonbuild.com\u002F), Scons (https:\u002F\u002Fscons.org\u002F), \"Modern\" CMake (https:\u002F\u002Fcmake.org\u002F), Waf (https:\u002F\u002Fwaf.io\u002F), qmake…",{"id":124,"by":125,"text":126},{"value":160,"source":96,"evidence":161},"Meson",[162],{"id":156,"by":115,"text":157},{"value":164,"source":96,"evidence":165},"Bazel",[166,167],{"id":156,"by":115,"text":157},{"id":168,"by":169,"text":170},"18790119","jchw","I think Bazel is a really cool option. It really does deliver on the 'fast, correct' promise strongly. That said, it certainly isn't perfect. Windows support is something that…",{"value":172,"source":96,"evidence":173},"vcpkg",[174],{"id":175,"by":176,"text":177},"18789262","uyoakaoma","vcpkg as another alternative package manager",{"value":179,"source":96,"evidence":180},"Nix, Guix, Spack or EasyBuild",[181],{"id":118,"by":115,"text":119},{"comments":183,"answered":43,"key":184},13,[185,186,189],{"id":52,"text":53},{"id":187,"text":188},"18791638","> It does not change anything to all the other problems of bundling dependencies. Including the problems related to diamond dependencies. As you put so eloquently before, that…",{"id":190,"text":191},"18789792","Funny, when I posted bake on reddit, I got the exact same reply: https:\u002F\u002Fwww.reddit.com\u002Fr\u002Fcpp\u002Fcomments\u002Fa8d7ny\u002Fmeet_bake_a_new_build_system_package_manager_for\u002Fec9vlve The comic…",{"commenters":193,"max_depth":194,"maker_replies":183,"first_comment_mins":18,"lifespan_hours":195},35,8,251,[197,199,203,205,207,208,209,213,214,216,219,222,225,226,229,232,234,236,239,241,242,245,248,251,253,257,260,263,266,269,271,273,275,277,279,282,284,286,289,292,294,295,297,300,302,305,309,313,315,320,323,325,328,330,332,334,335,336,337,340,343,346,348,350,352,354,356,358,361,363],[156,33,39,198,115,33],"project\u002Fcritical\u002Fidea",[200,33,33,201,202,33],"18789173","commenter\u002Fneutral\u002Fnone","Hendrikto",[114,33,33,204,115,33],"commenter\u002Fneutral\u002Fidea",[52,33,33,206,11,39],"project\u002Fpositive\u002Fidea",[118,33,33,204,115,33],[187,33,33,204,11,39],[210,33,33,211,212,33],"18789213","other\u002Fneutral\u002Fnone","Teknoman117",[175,33,33,211,176,33],[215,33,33,201,115,33],"18789267",[217,33,33,211,218,33],"18789524","thechao",[220,33,33,211,221,33],"18789742","orbifold",[223,33,33,211,224,33],"18789836","AHTERIX5000",[168,33,33,211,169,33],[227,33,33,211,228,33],"18790596","AlotOfReading",[230,33,33,211,231,33],"18789560","hellofunk",[190,33,33,233,11,39],"project\u002Fneutral\u002Fidea",[235,33,33,201,231,33],"18790032",[237,33,33,204,238,33],"18791092","geezerjay",[240,33,33,201,11,39],"18791337",[68,33,33,206,11,39],[243,33,33,201,244,33],"18792191","johannes1234321",[246,33,33,211,247,33],"18790458","naniwaduni",[249,33,33,250,11,39],"18791539","project\u002Fneutral\u002Fnone",[252,33,33,201,133,33],"18793925",[254,39,43,255,256,33],"18787840","project\u002Fpositive\u002Fprivacy","saagarjha",[258,39,33,211,259,33],"18787849","cbcoutinho",[261,39,33,211,262,33],"18788488","kartikkumar",[264,39,33,211,265,33],"18790017","mattkrause",[267,39,33,211,268,33],"18788520","IshKebab",[270,39,33,201,238,33],"18791103",[272,39,33,201,268,33],"18793957",[274,39,33,211,212,33],"18789184",[276,39,33,211,238,33],"18791097",[124,37,39,278,125,33],"project\u002Fcritical\u002Fdesign",[280,37,33,204,281,33],"18789109","weberc2",[283,37,33,204,125,33],"18789440",[285,37,33,250,11,39],"18789570",[287,37,44,288,125,33],"18790651","project\u002Fneutral\u002Fdocs",[290,37,33,204,291,33],"18789456","htfy96",[62,37,33,293,11,39],"project\u002Fneutral\u002Fdesign",[149,44,44,250,133,33],[296,44,44,288,104,33],"18788665",[298,31,44,250,299,33],"18787826","mehrdadn",[301,31,33,201,247,33],"18787874",[303,31,33,201,304,33],"18787877","metahost",[306,43,43,307,308,33],"18788051","project\u002Fpositive\u002Fdesign","Ericson2314",[310,311,39,198,312,33],"18788593",6,"radarsat1",[314,311,33,233,11,39],"18789931",[316,317,43,318,319,33],"18787940",7,"project\u002Fpositive\u002Fnone","bake",[321,317,44,288,322,33],"18788149","j1elo",[324,317,33,288,11,39],"18788209",[326,317,43,327,322,33],"18788276","maker\u002Fpositive\u002Fdocs",[329,194,44,233,262,33],"18788481",[331,194,33,211,125,33],"18788966",[333,194,33,211,262,33],"18813574",[55,194,33,293,11,39],[103,32,44,293,104,33],[107,32,44,293,108,33],[338,32,33,211,339,33],"18789011","crdoconnor",[341,32,33,201,342,33],"18789156","cyphar",[344,32,33,345,339,33],"18789778","commenter\u002Fneutral\u002Fdesign",[347,32,33,345,108,33],"18790696",[349,32,33,345,339,33],"18790846",[351,32,33,345,108,33],"18866600",[353,32,33,211,218,33],"18789564",[76,32,33,355,11,39],"maker\u002Fneutral\u002Fdesign",[99,357,39,278,100,33],10,[359,357,33,345,360,33],"18791268","mistrial9",[132,362,44,250,133,33],11,[364,362,33,365,11,39],"18791359","maker\u002Fpositive\u002Fnone",[],[368,372,376,381,386,390],{"id":369,"name":370,"points":371,"category":20},"18776496","rrweb",353,{"id":373,"name":374,"points":375,"category":20},"18789268","Vector Logo Zone",275,{"id":377,"name":378,"points":379,"category":380},"18776589","Pg-extend-rs",244,"infrastructure",{"id":382,"name":383,"points":384,"category":385},"18798209","Snigl",87,"languages",{"id":387,"name":388,"points":389,"category":385},"18790255","LJS",77,{"id":391,"name":392,"points":393,"category":20},"18794928","Autumn",75,false,"v2",{"id":397,"name":5,"line":6,"ai":394,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":398,"top":18,"kw":399,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":400,"url":9,"mix":401,"praise":90,"objection":95,"sub":21},18787777,-0.01,[24,25,26,27],"1000000000000050000103033035353033000013",[31,32,33,31],1794036573123]