[{"data":1,"prerenderedAt":702},["ShallowReactive",2],{"project-19610459":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":33,"aspects":34,"strip":43,"post_text":46,"what":47,"said":69,"maker_in_thread":180,"shape":191,"grid":195,"attempts":660,"same_week":665,"maker_shows":45,"maker_hidden":694,"reader_version":695,"card":696},"19610459","Xmake","A modern C\u002FC++ build utility","title","Show HN: Xmake, a modern C\u002FC++ build utility","https:\u002F\u002Fgithub.com\u002Fxmake-io\u002Fxmake","github.com","waruqi",1554768988,2019,186,183,216,2195,10,"notable","dev_tools","build system","cli",[24,25,26,27],"c++ build system","cmake alternative","lua build","c++ dependency management","debated",0.053,{"positive":31,"neutral":18,"mixed":32,"critical":31},6,2,24,{"idea":35,"docs":37,"performance":39,"design":40,"privacy":42},{"positive":36,"critical":32},1,{"positive":36,"critical":38},0,{"positive":38,"critical":38},{"positive":38,"critical":41},3,{"positive":38,"critical":36},[38,38,44,38,38,38,38,38,38,38,38,38,38,38,38,38,38,41,38,38,45,38,38,38,36,38,38,41,41,41,41,32,36,38,38,38,41,44,36,41],5,4,null,{"problem":48,"audience":46,"pricing":46,"motivation":55,"time_to_build":46,"stack":62,"openness":67,"stage":68,"team_size":68},{"value":49,"source":50,"evidence":51},"Building C\u002FC++ projects and managing their dependency packages","maker",[52],{"id":53,"by":11,"text":54},"19610854","One of the purposes of xmake is to solve the problem of C\u002FC++ dependency packages.",{"value":56,"source":50,"evidence":57},"Solve C\u002FC++ dependency package problem and simplify build configuration",[58,59],{"id":53,"by":11,"text":54},{"id":60,"by":11,"text":61},"19610984","But the meson installation has many dependencies, it is not very lightweight, it needs python, ninja, and xmake has built-in luajit, no third-party dependencies, more lightweight",[63],{"value":64,"source":50,"evidence":65},"Lua (built-in luajit)",[66],{"id":60,"by":11,"text":61},"open_source","unknown",{"praise":70,"objections":95,"requests":117,"questions":139,"alternatives":151},[71,87],{"value":72,"source":73,"evidence":74},"Well documented","commenter",[75,79,83],{"id":76,"by":77,"text":78},"19612676","soapdog","a developer post a well rounded tool with documentation that was built with a lot of care. The comment thread is mostly about other tools or people dismissing the work done…",{"id":80,"by":81,"text":82},"19614530","jhauris","This is really great work, great documentation. It looks like CMake, but with a full featured scripting language.",{"id":84,"by":85,"text":86},"19612345","fxfan","This looks thoughtfully created (and so documented!). I haven't gone through the entire doc and am not particularly clear but can you cross-build too? How would you run MSVC…",{"value":88,"source":73,"evidence":89},"Lua scripting is easier to read than CMake",[90,94],{"id":91,"by":92,"text":93},"19610823","RcouF1uZ4gsC","For better or worse though, CMake has won! Many IDE's including Visual Studio can directly work with CMake files. In addition, even Google which is famous for doing things their…",{"id":80,"by":81,"text":82},[96,104,110],{"value":97,"source":73,"evidence":98},"Adds yet another build system to an already crowded field",[99,103],{"id":100,"by":101,"text":102},"19610811","unrealhoang","Now we have N+1 incompatibile build systems.",{"id":91,"by":92,"text":93},{"value":105,"source":50,"evidence":106},"Distributed builds and caching not yet implemented",[107],{"id":108,"by":11,"text":109},"19611304","Distributed builds are being planned, but not yet implemented. You can see https:\u002F\u002Fgithub.com\u002Fxmake-io\u002Fxmake\u002Fissues\u002F274",{"value":111,"source":73,"evidence":112},"Install via piped remote script is a security concern",[113],{"id":114,"by":115,"text":116},"19610972","kayamon","Don’t ever install software by piping arbitrary remote scripts into bash.",[118,125,132],{"value":119,"source":73,"evidence":120},"Automatic dependency detection between source files",[121],{"id":122,"by":123,"text":124},"19612630","claudius","What I miss about these tools is some \"relatively\" straightforward dependency detection and generation. That is, I have a bunch of .cpp files which need to be compiled into…",{"value":126,"source":73,"evidence":127},"Distributed build and caching support",[128],{"id":129,"by":130,"text":131},"19611283","Game_Ender","Does it have any distributed build or caching support? That is my minimum bar for a C++ build system. ccache and distcc\u002Ficecc are too limited, you want something integrated with…",{"value":133,"source":73,"evidence":134},"Python-based build scripting",[135],{"id":136,"by":137,"text":138},"19613735","intea","Im not a fan of LUA. The syntax of XMake.lua reads somewhat like CMake but easier to understand. What I'd really like to see is a build system in Python (3!) utilizing objects…",[140,144],{"value":141,"source":73,"evidence":142},"How does cross-compilation work, e.g. MSVC on Linux",[143],{"id":84,"by":85,"text":86},{"value":145,"source":73,"evidence":146},"Is the build hermetic",[147],{"id":148,"by":149,"text":150},"19610834","euyyn","Does it produce hermetic builds?",[152,160,167,173],{"value":153,"source":73,"evidence":154},"CMake",[155,156],{"id":91,"by":92,"text":93},{"id":157,"by":158,"text":159},"19610783","Iwan-Zotow","cmake is NOT a build utility. It is dependency tracking and configuration utility",{"value":161,"source":73,"evidence":162},"Meson",[163],{"id":164,"by":165,"text":166},"19610947","2bluesc","Meson[0] has been gaining in popularity and has migration tools for cmake projects. Large projects such as systemd and gnome[1] have migrated or have been migrating for years [0]…",{"value":168,"source":50,"evidence":169},"SCons",[170],{"id":171,"by":11,"text":172},"19610922","Yes, xmake is more similar to scons, not cmake.",{"value":174,"source":73,"evidence":175},"Conan",[176],{"id":177,"by":178,"text":179},"19612594","_pmf_","What rubs me the wrong way is that a lot of build systems have a fatal combination of unfamiliar syntax and complete lack of debuggability. Conan and Meson seem so much better in…",{"comments":181,"answered":182,"key":183},22,7,[184,187,190],{"id":185,"text":186},"19612828","Yes, I agree very much.",{"id":188,"text":189},"19613070","Thank you very much for your support.",{"id":60,"text":61},{"commenters":192,"max_depth":18,"maker_replies":181,"first_comment_mins":193,"lifespan_hours":194},92,58,155,[196,198,202,205,208,211,214,217,219,221,224,226,229,232,233,235,238,240,243,246,248,251,253,256,259,261,264,266,268,270,273,275,277,279,281,283,285,287,290,292,295,297,300,303,306,309,312,314,316,319,321,324,326,329,332,335,338,341,343,346,349,351,354,357,360,363,366,369,371,373,376,378,380,382,385,387,390,393,396,400,402,405,407,409,411,413,415,417,420,423,425,428,430,432,434,435,437,440,443,445,448,450,453,457,460,462,465,467,469,472,475,478,481,484,486,488,491,493,496,498,500,502,504,506,508,510,512,513,514,516,519,521,523,526,528,531,533,538,540,543,547,549,552,555,557,560,562,565,567,570,573,576,578,580,583,585,588,591,593,595,597,599,602,604,607,609,611,615,617,619,623,625,627,631,634,637,640,643,645,647,651,653,656],[76,38,38,197,77,38],"other\u002Fpositive\u002Fnone",[199,38,38,200,201,38],"19612758","other\u002Fneutral\u002Fnone","fnord123",[203,38,38,200,204,38],"19614837","DataWorker",[206,38,38,200,207,38],"19614997","vernie",[209,38,38,200,210,38],"19615132","Crinus",[212,38,38,200,213,38],"19615501","haditab",[215,38,38,200,216,38],"19616598","alexeiz",[218,38,38,200,201,38],"19622871",[185,38,38,220,11,36],"commenter\u002Fneutral\u002Fnone",[222,38,44,223,77,38],"19612967","project\u002Fpositive\u002Fnone",[188,38,38,225,11,36],"maker\u002Fpositive\u002Fnone",[227,38,38,220,228,38],"19613375","Fnoord",[230,38,38,220,231,38],"19614394","ranit",[164,36,38,200,165,38],[60,36,38,234,11,36],"project\u002Fpositive\u002Fdesign",[236,36,38,220,237,38],"19611024","shaklee3",[239,36,38,220,11,36],"19611038",[241,36,38,220,242,38],"19611327","pfranz",[244,36,38,220,245,38],"19614354","NikkiA",[247,36,38,220,242,38],"19617915",[249,36,38,220,250,38],"19614605","lasagnaphil",[252,36,38,220,242,38],"19617865",[254,36,38,220,255,38],"19612130","geezerjay",[257,36,38,220,258,38],"19612605","rusk",[260,36,38,220,255,38],"19612717",[262,36,38,220,263,38],"19613075","roel_v",[265,36,38,200,258,38],"19613437",[267,36,38,200,263,38],"19631924",[269,36,38,220,258,38],"19613120",[271,36,38,220,272,38],"19613404","philpem",[274,36,38,220,258,38],"19613780",[276,36,38,220,272,38],"19664089",[278,36,38,220,245,38],"19614378",[280,36,38,220,258,38],"19615503",[282,36,38,220,242,38],"19618320",[284,36,38,220,258,38],"19621854",[286,36,38,220,242,38],"19622458",[288,36,38,220,289,38],"19612868","Groxx",[291,36,38,200,210,38],"19615164",[293,36,38,200,294,38],"19616454","stuaxo",[296,36,38,200,294,38],"19616437",[298,36,38,220,299,38],"19611345","jandrewrogers",[301,36,38,220,302,38],"19612946","flohofwoe",[304,36,38,220,305,38],"19613320","jcelerier",[307,36,38,220,308,38],"19613388","nickez",[310,36,38,200,311,38],"19611191","ridiculous_fish",[313,36,38,200,299,38],"19611447",[315,36,38,220,255,38],"19612174",[317,36,38,220,318,38],"19612208","jschwartzi",[320,36,38,220,255,38],"19612243",[322,36,38,220,323,38],"19614288","bluGill",[325,36,38,220,318,38],"19615622",[327,36,38,220,328,38],"19612247","orbifold",[330,36,38,220,331,38],"19612905","humanrebar",[333,36,38,220,334,38],"19613134","beagle3",[336,36,38,220,337,38],"19615289","rcxdude",[339,36,38,200,340,38],"19612369","kstenerud",[342,36,38,223,11,36],"19612408",[344,36,38,220,345,38],"19612830","ahartmetz",[347,36,38,220,348,38],"19613365","TheCabin",[350,36,38,200,323,38],"19614238",[352,36,38,200,353,38],"19616474","oblio",[355,36,38,200,356,38],"19614035","IshKebab",[358,36,38,220,359,38],"19615083","phaedrus",[361,36,38,200,362,38],"19618509","HelloNurse",[364,36,38,200,365,38],"19611253","pfultz2",[367,36,38,368,11,36],"19611294","project\u002Fneutral\u002Fnone",[370,36,38,220,255,38],"19612154",[372,36,38,220,331,38],"19612893",[374,36,38,200,375,38],"19612462","rienbdj",[377,36,38,200,302,38],"19612935",[379,36,38,220,272,38],"19613428",[381,36,38,220,216,38],"19616659",[383,36,38,200,384,38],"19613112","sandGorgon",[386,36,38,200,356,38],"19614037",[388,36,38,389,375,38],"19614136","other\u002Fneutral\u002Fperformance",[391,36,38,389,392,38],"19614955","laurentlb",[394,36,38,389,395,38],"19614353","emidln",[397,36,38,398,399,38],"19614303","other\u002Fcritical\u002Fnone","blattimwind",[401,36,38,200,245,38],"19614338",[403,32,38,404,11,36],"19613226","maker\u002Fneutral\u002Fdocs",[122,41,41,406,123,38],"project\u002Fneutral\u002Fidea",[408,41,38,200,255,38],"19612674",[410,41,38,220,123,38],"19612711",[412,41,38,406,11,36],"19612814",[414,41,38,220,331,38],"19612880",[416,41,38,220,302,38],"19612920",[418,41,38,220,419,38],"19613026","stkdump",[421,41,38,200,422,38],"19613053","adrian_b",[424,41,38,220,422,38],"19613099",[426,41,38,200,427,38],"19613585","JdeBP",[80,45,44,429,81,38],"project\u002Fpositive\u002Fdocs",[431,45,38,225,11,36],"19614568",[129,44,41,433,130,38],"project\u002Fneutral\u002Fperformance",[108,44,38,433,11,36],[91,31,41,436,92,38],"project\u002Fmixed\u002Fidea",[438,31,38,200,439,38],"19611008","kevin_thibedeau",[441,31,38,200,442,38],"19612144","usrnm",[444,31,38,220,255,38],"19612272",[446,31,38,398,447,38],"19612553","YayamiOmate",[449,31,38,200,255,38],"19612613",[451,31,38,452,255,38],"19612202","other\u002Fcritical\u002Fdocs",[454,31,38,455,456,38],"19612283","other\u002Fneutral\u002Fdocs","de_watcher",[458,31,38,200,459,38],"19612640","shstalwart",[461,31,38,200,305,38],"19612940",[463,31,38,200,464,38],"19613694","jlokier",[466,31,38,200,305,38],"19614283",[468,31,38,220,459,38],"19616907",[470,31,38,200,471,38],"19617520","Pete_D",[473,31,38,200,474,38],"19612975","yoz-y",[476,182,38,477,11,36],"19610904","project\u002Fneutral\u002Fdocs",[53,479,38,480,11,36],8,"maker\u002Fneutral\u002Fidea",[482,479,36,483,255,38],"19612182","project\u002Fcritical\u002Fidea",[485,479,38,406,11,36],"19612411",[157,487,38,200,158,38],9,[489,487,38,200,490,38],"19610918","sigzero",[492,487,38,220,158,38],"19611006",[494,487,38,220,495,38],"19611292","joshuamorton",[497,487,38,220,158,38],"19615012",[499,487,38,220,495,38],"19615246",[501,487,38,220,158,38],"19616998",[503,487,38,220,495,38],"19617636",[505,487,38,200,255,38],"19612261",[507,487,38,200,340,38],"19612417",[509,487,38,200,11,36],"19612556",[511,487,38,220,255,38],"19612597",[171,487,38,406,11,36],[148,18,41,406,149,38],[515,18,38,200,11,36],"19610869",[517,18,38,200,518,38],"19611023","tele_ski",[520,18,38,406,11,36],"19611075",[522,18,41,406,237,38],"19611077",[524,18,41,525,495,38],"19611312","maker\u002Fneutral\u002Fnone",[527,18,38,200,242,38],"19611349",[529,18,38,200,530,38],"19612679","otabdeveloper1",[532,18,38,200,149,38],"19621078",[534,535,41,536,537,38],"19611340",11,"project\u002Fneutral\u002Fdesign","je42",[539,535,38,536,11,36],"19611365",[541,535,36,542,255,38],"19612231","project\u002Fcritical\u002Fdesign",[544,545,44,546,359,38],"19615093",12,"project\u002Fpositive\u002Fidea",[548,545,38,368,11,36],"19615600",[136,550,41,551,137,38],13,"project\u002Fmixed\u002Fdesign",[553,550,41,536,554,38],"19613767","nomadluap",[556,550,36,542,137,38],"19614103",[558,550,41,406,559,38],"19613772","robmccoll",[561,550,38,220,137,38],"19614089",[563,550,38,200,564,38],"19618169","jcranberry",[100,566,36,483,101,38],14,[568,566,38,220,569,38],"19610833","mhh__",[571,566,38,220,572,38],"19611368","seanballais",[574,566,38,220,575,38],"19613407","cyphar",[577,566,38,220,569,38],"19624350",[579,566,38,200,11,36],"19610881",[581,566,38,200,582,38],"19610959","flukus",[584,566,38,200,255,38],"19612655",[586,566,38,200,587,38],"19613041","enriquto",[589,566,38,200,590,38],"19613673","Orphis",[592,566,38,200,587,38],"19614216",[594,566,38,200,337,38],"19615380",[596,566,38,200,587,38],"19622375",[598,566,38,200,337,38],"19664476",[600,566,38,200,601,38],"19614574","tom_",[603,566,38,200,582,38],"19613183",[605,566,38,200,606,38],"19613412","maccard",[608,566,38,200,601,38],"19614890",[610,566,38,200,255,38],"19612211",[612,613,44,223,614,38],"19613937",15,"peterownen2",[177,616,36,542,178,38],16,[618,616,38,200,255,38],"19612624",[620,621,44,223,622,38],"19631437",17,"caikelun",[84,624,41,368,85,38],18,[626,624,38,368,11,36],"19612392",[628,629,44,223,630,38],"19610765",19,"honey1988",[114,632,36,633,115,38],20,"project\u002Fcritical\u002Fprivacy",[635,632,38,220,636,38],"19610997","hollerith",[638,632,38,220,639,38],"19611043","michaelkrupp",[641,632,38,220,642,38],"19611097","Cyph0n",[644,632,38,200,636,38],"19613746",[646,632,38,368,11,36],"19611000",[648,632,41,649,650,38],"19611117","project\u002Fneutral\u002Fprivacy","bluejekyll",[652,632,38,220,582,38],"19611406",[654,632,38,220,655,38],"19612414","adev_",[657,658,38,200,659,38],"19612817",21,"godman_8",[661,662],{"id":4,"t":12,"points":14,"comments":15},{"id":663,"t":664,"points":18,"comments":41},"24076806",1596760133,[666,671,675,680,684,689],{"id":667,"name":668,"points":669,"category":670},"19572514","SourcedFact",593,"productivity",{"id":672,"name":673,"points":674,"category":20},"19593866","Water.css",501,{"id":676,"name":677,"points":678,"category":679},"19613477","Ethical Resources",291,"other",{"id":681,"name":682,"points":683,"category":670},"19581788","ReportMill SnapTea",289,{"id":685,"name":686,"points":687,"category":688},"19615895","Lawler.io",260,"creative",{"id":690,"name":691,"points":692,"category":693},"19626404","Hacker Newspapers",250,"learning_science",false,"v2",{"id":697,"name":5,"line":6,"ai":694,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":698,"top":18,"kw":699,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":700,"url":9,"mix":701,"praise":72,"objection":97,"sub":21},19610459,0.05,[24,25,26,27],"0050000000000000030040001003333210003513",[31,18,32,31],1793990988043]