[{"data":1,"prerenderedAt":733},["ShallowReactive",2],{"project-47705413":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":35,"aspects":36,"strip":46,"post_text":48,"what":49,"said":77,"maker_in_thread":218,"shape":230,"grid":234,"attempts":694,"same_week":695,"maker_shows":45,"maker_hidden":725,"reader_version":726,"card":727},"47705413","Craft","A Cargo-like build tool for C\u002FC++","title","Show HN: I built a Cargo-like build tool for C\u002FC++","https:\u002F\u002Fgithub.com\u002Franderson112\u002Fcraft","github.com","randerson_112",1775750694,2026,177,168,343,4366,8,"notable","dev_tools","build tool","cli",[24,25,26,27],"c build tool","cmake alternative","c++ package manager","craft.toml","roasted",-0.498,{"positive":31,"neutral":32,"mixed":33,"critical":34},4,14,2,29,49,{"design":37,"idea":40,"privacy":42,"execution":43,"docs":44},{"positive":38,"critical":39},0,3,{"positive":31,"critical":41},18,{"positive":38,"critical":31},{"positive":38,"critical":33},{"positive":38,"critical":45},1,[45,38,38,38,38,38,38,38,38,38,33,38,45,38,38,47,38,45,38,45,45,38,45,38,38,45,38,45,39,33,45,45,31,45,45,38,47,45,45,39],5,null,{"problem":50,"audience":57,"pricing":48,"motivation":61,"time_to_build":48,"stack":65,"openness":74,"stage":75,"team_size":76},{"value":51,"source":52,"evidence":53},"Setting up C\u002FC++ projects and dependencies requires tedious CMake writing.","maker",[54],{"id":55,"by":11,"text":56},"47705414","I love C and C++, but setting up projects can sometimes be a pain. Every time I wanted to start something new I'd spend the first hour writing CMakeLists.txt, figuring out…",{"value":58,"source":52,"evidence":59},"C and C++ developers starting new projects.",[60],{"id":55,"by":11,"text":56},{"value":62,"source":52,"evidence":63},"Setting up C\u002FC++ projects with CMake was a time sink.",[64],{"id":55,"by":11,"text":56},[66,70],{"value":67,"source":52,"evidence":68},"C",[69],{"id":55,"by":11,"text":56},{"value":71,"source":52,"evidence":72},"CMake",[73],{"id":55,"by":11,"text":56},"open_source","launched","unknown",{"praise":78,"objections":91,"requests":136,"questions":154,"alternatives":181},[79],{"value":80,"source":81,"evidence":82},"Interesting project that fills a gap in the C\u002FC++ ecosystem.","commenter",[83,87],{"id":84,"by":85,"text":86},"47729015","c_chenfeng","This is something the C\u002FC++ ecosystem has been missing for a long time. How do you handle dependency resolution compared to existing tools like CMake or Meson?",{"id":88,"by":89,"text":90},"47706234","looneysquash","Nice. I have been thinking of making something similar. Now hopefully I don't have to! Not sure how big your plans are. My thoughts would be to start as a cmake generator but to…",[92,107,122,129],{"value":93,"source":81,"evidence":94},"Generating CMake adds a layer instead of replacing it.",[95,99,103],{"id":96,"by":97,"text":98},"47708837","forrestthewoods","Cmake is infamously not a build system. It is a build system generator. This is now a build system generator generator. This is the wrong solution imho. The right solution is to…",{"id":100,"by":101,"text":102},"47705770","duped","FWIW: there is something fundamentally wrong with a meta-meta build system. I don't think you should bother generating or wrapping CMake, you should be replacing it.",{"id":104,"by":105,"text":106},"47706529","dima55","If you think cmake isn't very good, the solution isn't to add more layers of crap around cmake, but to replace it. Cmake itself exists because a lot of humans haven't bothered to…",{"value":108,"source":81,"evidence":109},"Built with AI, with questionable code quality.",[110,114,118],{"id":111,"by":112,"text":113},"47708709","thegrim33","Project description is AI generated, even the HN post is AI generated, why should I spend any energy looking into your project when all you're doing is just slinging AI slop…",{"id":115,"by":116,"text":117},"47713894","resonancel","Can't take this lib seriously when there're lots of gems like these in the codebase. ``` \u002F\u002F Open source directory dir_t* dir = open_dir(source_dir); \u002F\u002F Find where dot is char*…",{"id":119,"by":120,"text":121},"47719820","azizam","Great, no issue that a bit of LLM slop can't fix. Why even say \"I built X\"? I'd respect it more if you just said \"Claude built X\" or something.",{"value":123,"source":81,"evidence":124},"Need offline builds, cross-compilation and pkg-config support.",[125],{"id":126,"by":127,"text":128},"47706887","adev_","Feedback of someone who is used to manage large (>15000) software stack in C \u002F C++ \u002F Fortran \u002F Python \u002F Rust \u002F etc: - (1) Provide a way to compile without internet access and…",{"value":130,"source":81,"evidence":131},"Install script piping curl to sh is a security concern.",[132],{"id":133,"by":134,"text":135},"47706008","lgtx","The installation instructions being a `curl | sh` writing to the user's bashrc does not inspire confidence.",[137,143,150],{"value":138,"source":52,"evidence":139},"Support for system-wide dependencies.",[140],{"id":141,"by":11,"text":142},"47708500","Yes, many libraries are system wide that is true. This is something I had on the list of features to add. System dependencies. Thank you for the feedback!",{"value":144,"source":81,"evidence":145},"Add cargo watch equivalent.",[146],{"id":147,"by":148,"text":149},"47706571","mutkach","Please consider adding `cargo watch` - that would be a killer feature!",{"value":151,"source":81,"evidence":152},"Offline builds and manually specified dependency paths.",[153],{"id":126,"by":127,"text":128},[155,162,174],{"value":156,"source":81,"evidence":157},"How are transitive version conflicts (diamond dependencies) handled?",[158],{"id":159,"by":160,"text":161},"47706163","cherryteastain","Seems to solve a problem very similar to Conan or vcpkg but without its own package archive or build scripts. In general, unlike Cargo\u002FRust, many C\u002FC++ projects dynamically link…",{"value":163,"source":81,"evidence":164},"How does it compare to Conan, CMake FetchContent or Meson?",[165,169,173],{"id":166,"by":167,"text":168},"47706282","delduca","Compared to Conan, what are the advantages?",{"id":170,"by":171,"text":172},"47714782","macgyverismo","I have to say, since CMakes FetchContent module has been available I have not had a need for a dependency manager outside of CMake itself. What exactly is it you do\u002Fneed that…",{"id":84,"by":85,"text":86},{"value":175,"source":81,"evidence":176},"Does it support C++ modules?",[177],{"id":178,"by":179,"text":180},"47714484","chris_wot","Can it handle modules?",[182,193,200,204,211],{"value":183,"source":81,"evidence":184},"Conan",[185,189],{"id":186,"by":187,"text":188},"47711072","sebastos","The tough truth is that there already is a cargo for C\u002FC++: Conan2. I know, python, ick. I know, conanfile.py, ick. But despite its warts, Conan fundamentally CAN handle every…",{"id":190,"by":191,"text":192},"47706306","seniorThrowaway","Having to work around a massive C++ software project daily, I wish you luck. We use conan2, and while it can be very challenging to use, I've yet to find something better that…",{"value":194,"source":81,"evidence":195},"xmake",[196],{"id":197,"by":198,"text":199},"47706326","gavinray","The least painful C\u002FC++ build tool I've used is xmake https:\u002F\u002Fgithub.com\u002Fxmake-io\u002Fxmake The reason why I like it (beyond ease-of-use) is that it can spit out CMakeLists.txt and…",{"value":201,"source":81,"evidence":202},"CMake FetchContent",[203],{"id":170,"by":171,"text":172},{"value":205,"source":81,"evidence":206},"Bazel",[207],{"id":208,"by":209,"text":210},"47706078","spwa4","Just switch to bazel, copy my hermetic build config and just use it ... yes, you can hate me know.",{"value":212,"source":81,"evidence":213},"cmkr",[214],{"id":215,"by":216,"text":217},"47708626","wild_pointer","What about cmkr? https:\u002F\u002Fcmkr.build\u002F",{"comments":219,"answered":31,"key":220},10,[221,224,227],{"id":222,"text":223},"47708534","This is true. There is no way I could solve a problem of this scale by myself. That is why this is an open source project and open to everyone to make changes on. There is still…",{"id":225,"text":226},"47708601","Thank you everyone for the feedback so far! I just wanted to say that I understand this is not a fully cohesive and functional project for every edge case. This is the first day…",{"id":228,"text":229},"47708461","Why do you say this? I respect it, I'm just curious.",{"commenters":231,"max_depth":232,"maker_replies":219,"first_comment_mins":38,"lifespan_hours":233},110,9,121,[235,237,241,243,245,248,251,254,257,260,263,266,268,271,275,278,280,283,286,288,291,294,297,299,301,304,307,309,312,315,317,320,322,325,328,331,333,336,339,341,344,347,349,351,354,358,360,361,364,368,371,375,377,380,382,385,388,391,393,396,398,401,404,406,409,410,414,415,418,420,423,427,430,433,435,438,441,444,447,449,451,453,456,458,461,465,468,471,473,474,476,478,480,482,485,488,492,494,497,499,501,503,505,507,509,511,513,515,518,522,525,528,531,533,536,538,540,543,546,550,551,554,557,559,561,564,566,568,570,571,574,578,579,583,585,588,590,592,595,597,599,601,605,608,610,613,616,620,623,627,629,632,634,637,640,642,644,646,648,651,655,657,659,663,665,667,670,674,678,681,683,685,690],[126,38,45,236,127,38],"project\u002Fcritical\u002Fdesign",[238,38,38,239,240,38],"47707029","commenter\u002Fneutral\u002Fnone","moralestapia",[242,38,38,239,127,38],"47707178",[244,38,38,239,240,38],"47707511",[246,38,38,239,247,38],"47708163","tgma",[249,38,38,239,250,38],"47708281","jjmarr",[252,38,38,239,253,38],"47708328","CarVac",[255,38,38,239,256,38],"47710816","greenavocado",[258,38,38,239,259,38],"47710848","rascul",[261,38,38,239,262,38],"47712920","digitalPhonix",[264,38,38,239,265,38],"47720215","account42",[267,38,38,239,265,38],"47720204",[269,38,38,239,270,38],"47709675","CoastalCoder",[272,38,38,273,274,38],"47709942","commenter\u002Fneutral\u002Fperformance","eqvinox",[276,38,38,273,277,38],"47710974","tempest_",[279,38,38,239,274,38],"47711022",[281,38,38,239,282,38],"47714013","teo_zero",[284,38,38,273,285,38],"47711200","zahllos",[287,38,38,273,265,38],"47717871",[289,38,38,239,290,38],"47711467","dijit",[292,38,38,239,293,38],"47711534","ninkendo",[295,38,38,239,296,38],"47712522","lkjdsklf",[298,38,38,239,290,38],"47713955",[300,38,38,239,293,38],"47716976",[302,38,38,303,277,38],"47721392","other\u002Fneutral\u002Fnone",[305,38,38,239,306,38],"47714752","izacus",[308,38,38,239,293,38],"47729953",[310,38,38,239,311,38],"47712635","tom_",[313,38,38,273,314,38],"47714062","eslaught",[316,38,38,303,277,38],"47721893",[318,38,38,239,319,38],"47714746","pjmlp",[321,38,38,239,306,38],"47710128",[323,38,38,273,324,38],"47710139","PufPufPuf",[326,38,38,273,327,38],"47710689","hmry",[329,38,38,273,330,38],"47714623","fyrn_",[332,38,38,239,127,38],"47711629",[334,38,38,273,335,38],"47713247","pclmulqdq",[337,38,38,273,338,38],"47719184","atiedebee",[340,38,38,273,335,38],"47725086",[342,38,38,239,343,38],"47711067","Teknoman117",[345,38,38,303,346,38],"47711567","bsder",[348,38,38,303,187,38],"47717941",[350,38,38,303,343,38],"47768601",[352,38,45,353,319,38],"47714729","project\u002Fcritical\u002Fidea",[355,38,39,356,357,38],"47717542","project\u002Fneutral\u002Fdesign","criticalfault",[359,38,39,356,127,38],"47722112",[197,45,38,303,198,38],[362,45,38,303,363,38],"47706384","delta_p_delta_x",[365,45,38,366,367,38],"47706584","other\u002Fneutral\u002Fdocs","ethin",[369,45,38,303,370,38],"47708059","IshKebab",[372,45,38,373,374,38],"47709713","other\u002Fneutral\u002Fdesign","NekkoDroid",[376,45,38,303,274,38],"47709980",[378,45,38,239,379,38],"47710784","cassepipe",[381,45,38,239,274,38],"47710924",[383,33,39,384,89,38],"47706707","project\u002Fneutral\u002Fidea",[386,39,45,353,387,38],"47706302","bluGill",[389,39,38,239,390,38],"47706427","the__alchemist",[392,39,38,239,387,38],"47707997",[394,39,38,239,395,38],"47708389","tekne",[222,39,38,397,11,45],"maker\u002Fneutral\u002Fnone",[399,39,38,239,400,38],"47726249","froh",[402,39,38,303,403,38],"47710535","omcnoe",[405,39,38,239,387,38],"47713933",[407,39,38,303,408,38],"47726375","MomsAVoxell",[225,31,38,397,11,45],[411,31,47,412,413,38],"47713772","project\u002Fpositive\u002Fidea","alonsovm",[88,47,47,412,89,38],[416,47,38,239,417,38],"47706308","psyclobe",[190,419,38,303,191,38],6,[421,419,38,303,422,38],"47708474","mgaunard",[424,425,38,303,426,38],"47709039",7,"littlestymaar",[428,425,38,239,429,38],"47709285","bangaladore",[431,425,38,239,432,38],"47714181","nnevatie",[133,18,45,434,134,38],"project\u002Fcritical\u002Fprivacy",[436,18,38,303,437,38],"47706036","jjgreen",[439,18,38,303,440,38],"47706085","Bjartr",[442,18,38,303,443,38],"47706172","KPGv2",[445,18,38,303,446,38],"47706276","jvanderbot",[448,18,38,303,437,38],"47706743",[450,18,38,303,265,38],"47720577",[452,18,38,303,437,38],"47729718",[454,18,38,303,455,38],"47706039","ori_b",[457,18,45,434,265,38],"47720543",[459,18,45,434,460,38],"47706520","uecker",[462,18,39,463,464,38],"47706561","project\u002Fmixed\u002Fprivacy","bikelang",[466,18,38,239,467,38],"47707741","maccard",[469,18,38,239,470,38],"47707989","hyperhopper",[472,18,38,239,467,38],"47710369",[96,232,45,353,97,38],[475,232,38,239,432,38],"47714188",[477,232,38,239,97,38],"47714941",[479,232,38,239,432,38],"47715210",[481,232,38,239,97,38],"47722389",[483,219,38,303,484,38],"47705850","flohofwoe",[486,219,38,303,487,38],"47708131","apparatur",[489,490,45,353,491,38],"47708286",11,"einpoklum",[100,493,45,353,101,38],12,[495,493,45,353,496,38],"47706014","SpaceNoodled",[498,493,38,239,484,38],"47706139",[500,493,38,239,460,38],"47706551",[502,493,38,239,363,38],"47706597",[504,493,38,239,460,38],"47706982",[506,493,38,239,484,38],"47707928",[508,493,38,239,265,38],"47720661",[510,493,38,239,265,38],"47720640",[512,493,38,239,496,38],"47724756",[514,493,38,303,484,38],"47706070",[516,493,38,303,517,38],"47706576","SleepyMyroslav",[519,520,45,236,521,38],"47714039",13,"Panzerschrek",[523,520,38,303,524,38],"47714417","kakwa_",[526,520,38,303,527,38],"47716385","fisf",[529,32,45,353,530,38],"47706189","Surac",[532,32,38,239,387,38],"47706332",[534,32,38,239,535,38],"47706474","tosti",[537,32,38,239,296,38],"47712742",[539,32,38,239,363,38],"47706565",[541,32,38,303,542,38],"47707884","vnorilo",[544,32,38,303,545,38],"47708040","Night_Thastus",[547,548,45,353,549,38],"47707568",15,"nesarkvechnep",[228,548,38,397,11,45],[552,548,38,303,553,38],"47711898","avadodin",[555,548,38,239,556,38],"47712501","unclad5968",[558,548,38,239,553,38],"47712879",[560,548,38,239,556,38],"47759705",[159,562,39,563,160,38],16,"project\u002Fneutral\u002Fexecution",[166,565,39,384,167,38],17,[567,565,38,384,11,45],"47709630",[569,565,39,384,167,38],"47711687",[170,41,45,353,171,38],[115,572,45,573,116,38],19,"project\u002Fcritical\u002Fexecution",[575,576,39,384,577,38],"47706265",20,"tombert",[141,576,38,397,11,45],[580,581,45,353,582,38],"47706769",21,"kjksf",[584,581,45,353,101,38],"47707010",[586,581,45,353,587,38],"47731885","jcotton42",[589,581,38,397,11,45],"47708079",[591,581,45,353,432,38],"47714170",[111,593,45,594,112,38],22,"project\u002Fcritical\u002Fdocs",[215,596,39,384,216,38],23,[147,598,47,412,148,38],24,[600,598,38,397,11,45],"47708098",[602,603,39,563,604,38],"47705645",25,"wg0",[606,603,39,563,607,38],"47705946","integricho",[609,603,45,573,484,38],"47705978",[611,603,38,303,612,38],"47706235","eliemichel",[614,603,38,239,615,38],"47721472","mathstuf",[617,618,45,353,619,38],"47717242",26,"ethanc8",[621,618,38,239,622,38],"47730817","ahartmetz",[624,625,39,384,626,38],"47720701",27,"mixmastamyk",[104,628,45,353,105,38],28,[630,628,38,239,631,38],"47706552","dymk",[633,628,38,303,105,38],"47708715",[635,628,38,239,636,38],"47709417","beckford",[638,628,38,239,639,38],"47706600","wiseowise",[641,628,38,239,105,38],"47708232",[643,628,38,239,432,38],"47714199",[645,628,38,397,11,45],"47708155",[647,628,38,303,622,38],"47730876",[649,34,47,412,650,38],"47757418","dfa11",[652,653,39,384,654,38],"47711874",30,"singpolyma3",[186,656,45,353,187,38],31,[658,656,38,239,89,38],"47711385",[660,661,45,434,662,38],"47714118",32,"hulitu",[208,664,45,353,209,38],33,[178,666,39,563,179,38],34,[119,668,45,669,120,38],35,"project\u002Fcritical\u002Fnone",[671,672,45,353,673,38],"47714924",36,"0xMalotru",[675,676,45,236,677,38],"47715488",37,"sourcegrift",[55,679,38,680,11,45],38,"maker\u002Fneutral\u002Fidea",[84,682,39,563,85,38],39,[684,682,38,563,11,45],"47731146",[686,687,39,688,689,38],"47712398",40,"project\u002Fmixed\u002Fnone","linzhangrun",[691,692,38,303,693,38],"47706343",41,"shevy-java",[],[696,701,706,711,716,720],{"id":697,"name":698,"points":699,"category":700},"47742200","boringBar",520,"productivity",{"id":702,"name":703,"points":704,"category":705},"47727960","Pardonned.com",501,"data",{"id":707,"name":708,"points":709,"category":710},"47739174","Oberon System 3",245,"infrastructure",{"id":712,"name":713,"points":714,"category":715},"47778306","tracksuccession.com",191,"web_saas",{"id":717,"name":718,"points":719,"category":715},"47749674","BrightBean Studio",190,{"id":721,"name":722,"points":723,"category":724},"47756569","Ithihāsas",176,"learning_science",false,"v2",{"id":728,"name":5,"line":6,"ai":725,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":729,"top":18,"kw":730,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":731,"url":9,"mix":732,"praise":80,"objection":93,"sub":21},47705413,-0.5,[24,25,26,27],"1000000000201005010110100101321141105113",[31,32,33,34],1793991150969]