{"id":155397,"date":"2012-10-19T16:24:04","date_gmt":"2012-10-19T12:24:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=155397"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=155397","title":{"rendered":"<span class=\"post_title\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c Cmake \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 makefile \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t&nbsp;&nbsp;\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0435, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u0437\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u0435\u043d cmake. \u041c\u043e\u0436\u0435\u0442\u0435 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0434 \u043a\u0430\u0442, \u0435\u0441\u043b\u0438 \u0443\u0436\u0435 \u0437\u043d\u0430\u0435\u0442\u0435.  <\/p>\n<h4>\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435<\/h4>\n<p>  &nbsp;&nbsp;\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0440\u0443\u043a\u0430\u043c\u0438 \u2014 \u043f\u0443\u0441\u0442\u0430\u044f \u0442\u0440\u0430\u0442\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u042d\u0442\u043e \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0430\u043a\u0441\u0438\u043e\u043c\u0430 \u0438 \u043e\u0431 \u044d\u0442\u043e\u043c \u0437\u043d\u0430\u044e\u0442 \u0442\u0435, \u043a\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u0442. \u041d\u043e \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0451 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u0442\u0430\u043a \u0432\u0435\u0434\u044c? \u0427\u0430\u0441\u0442\u043e \u0438 \u043f\u043e-\u0441\u0442\u0430\u0440\u0438\u043d\u043a\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 <a href=\"http:\/\/habrahabr.ru\/post\/155201\/\">makefile<\/a> \u0434\u043b\u044f *nix \u0438\u043b\u0438 \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c nmake \u0434\u043b\u044f windows.<br \/>  &nbsp;&nbsp;\u042f \u0445\u043e\u0442\u044c \u0438 \u043d\u0435 \u043f\u0435\u0440\u0432\u044b\u0439 \u0433\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u044e, \u0438 \u0440\u0443\u043a\u0430\u043c\u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0430\u0432\u0442\u043e\u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 makefile, \u043d\u043e \u0441\u0442\u043e\u0438\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0437\u0430\u0431\u044b\u0442\u044c \u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0437\u0430\u043d\u043e\u0432\u043e \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u043a\u0430\u043a \u0436\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u0445\u0438\u0442\u0440\u0443\u044e \u0441\u0445\u0435\u043c\u0443. \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0440\u0430\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u043e\u0434\u043d\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u0431\u0443\u0434\u044c \u0442\u043e linux \u0438\u043b\u0438 windows, \u0438 \u0447\u0430\u0441\u0442\u043e \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u043d\u0435 \u043a\u0440\u043e\u0441\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u044b\u0435. \u0414\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u0438 makefile \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <i>automake<\/i> \u0438 <i>autogen<\/i>, \u043d\u043e \u0438\u0445 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0435\u0449\u0451 \u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043f\u0443\u0442\u0430\u043d. \u041d\u0435 \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0432\u044b\u0431\u043e\u0440 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439, \u043d\u043e \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 cmake, \u0431\u043b\u0430\u0433\u043e \u043e\u043d \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u043e\u0434 \u0432\u0441\u0451 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0435. \u041c\u043d\u0435 \u043e\u043d \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u044e \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u044b. \u0412\u044b \u043f\u0438\u0448\u0438\u0442\u0435 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u0430 \u0438\u0437 \u043d\u0438\u0445 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f makefile, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u0443\u0436\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c.<\/p>\n<h5>\u041b\u0438\u043a\u0431\u0435\u0437<\/h5>\n<p>  &nbsp;&nbsp;<i>\u0417\u0430\u0447\u0435\u043c \u043e\u043d \u043d\u0443\u0436\u0435\u043d?<\/i> \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435 \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443, \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0443\u0442\u044f\u043c\u0438 \u0432\u044b \u0434\u0432\u0443\u043c\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 makefile. <i>\u041d\u043e \u0435\u0441\u0442\u044c \u0436\u0435 configure?<\/i> \u042d\u0442\u043e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430. \u0418 configure \u043d\u0435 \u043a\u0440\u043e\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0439, \u0434\u043b\u044f \u0435\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0443\u0436\u0435\u043d autoconf\/autogen, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0434\u0451\u0442 \u0435\u0449\u0451 \u0441\u0432\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u0432\u0438\u043b. <i>\u0422\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430?<\/i> \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u0430\u0432\u0442\u043e\u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c makefile \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430. \u041d\u043e Qt \u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f cmake \u0438 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0436\u0430\u043b\u0443\u0435\u0442\u0441\u044f.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h4>\u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u044f \u043a \u0440\u0430\u0431\u043e\u0442\u0435<\/h4>\n<p>  &nbsp;&nbsp;\u0412 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043e\u0431\u0443\u0447\u0430\u043b\u043a\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0441\u0430\u043c\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u0435 \u0421++ \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043b\u0438\u043d\u0443\u043a\u0441\u0435. \u041d\u0438 \u043e \u043a\u0430\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0435 \u043f\u043e\u0439\u0434\u0451\u0442 \u0440\u0435\u0447\u0438, \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b \u0438 \u0442.\u0434. \u0412 \u043e\u0434\u043d\u0443 \u0441\u0442\u0430\u0442\u044c\u044e \u043d\u0435 \u0432\u043b\u0435\u0437\u0435\u0442, \u0434\u0430 \u0438 \u043d\u0430\u0433\u0440\u043e\u043c\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0437\u0430\u043f\u0443\u0442\u0430\u0435\u0442 \u043d\u043e\u0432\u0438\u0447\u043a\u0430. <br \/>  &nbsp;&nbsp;\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043e \u043d\u0435\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 cmake. \u041e\u0431\u044b\u0447\u043d\u043e \u0432 \u043a\u043e\u0440\u043d\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043b\u0435\u0436\u0430\u0442 \u043f\u0430\u043f\u043a\u0438 <i>src<\/i> (\u0434\u043b\u044f \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432), <i>include<\/i> (\u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432), <i>lib<\/i> (\u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u043d\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435), \u043f\u0443\u0441\u0442\u0430\u044f \u043f\u0430\u043f\u043a\u0430 <i>build<\/i> (\u0432 \u043d\u0435\u0439 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u0431\u043e\u0440\u043a\u0430, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442, \u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0451\u043c), \u044f \u0435\u0449\u0451 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e <i>bin<\/i> (\u0438\u043b\u0438 out, \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0445\u0441\u044f \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u043e\u0432). \u0422\u0430\u043a \u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0432 \u043a\u043e\u0440\u043d\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 <i>AUTHOTS, COPYING, INSTALL, NEWS, README, ChangeLo<\/i>g. \u041e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c\u0438, \u043d\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e. \u041e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c <i>config.h.in<\/i> \u0444\u0430\u0439\u043b (\u043e \u043d\u0451\u043c \u0434\u0430\u043b\u0435\u0435). \u0424\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 cmake \u043b\u0435\u0436\u0430\u0442 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u043e\u0439 \u043f\u0430\u043f\u043a\u0435 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <i>CMakeLists.txt<\/i>. \u042d\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u0430\u043c\u0438 cmake \u0438 \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f.<br \/>  &nbsp;&nbsp;<a href=\"http:\/\/www.cmake.org\/cmake\/help\/v2.8.9\/cmake.html\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f<\/a> \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0442\u044f\u0436\u0435\u043b\u0430 \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f, \u0445\u043e\u0442\u044f \u0438 \u043f\u043e\u043b\u043d\u0430\u044f. \u042d\u0442\u043e \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u043c\u0438\u043d\u0443\u0441. \u041d\u043e \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 autotools\u2026<br \/>  \u0421\u043f\u0438\u0441\u043e\u043a \u0442\u0438\u043f\u043e\u0432 makefile \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u0435\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c cmake:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0435\u043a\u0441\u0442<\/b><\/p>\n<div class=\"spoiler_text\"> Borland Makefiles<br \/>   MSYS Makefiles<br \/>   MinGW Makefiles<br \/>   NMake Makefiles<br \/>   NMake Makefiles JOM<br \/>   Ninja<br \/>   Unix Makefiles<br \/>   Visual Studio 10<br \/>   Visual Studio 10 IA64<br \/>   Visual Studio 10 Win64<br \/>   Visual Studio 11<br \/>   Visual Studio 11 ARM<br \/>   Visual Studio 11 Win64<br \/>   Visual Studio 6<br \/>   Visual Studio 7<br \/>   Visual Studio 7 .NET 2003<br \/>   Visual Studio 8 2005<br \/>   Visual Studio 8 2005 Win64<br \/>   Visual Studio 9 2008<br \/>   Visual Studio 9 2008 IA64<br \/>   Visual Studio 9 2008 Win64<br \/>   Watcom WMake<br \/>   Xcode<br \/>   CodeBlocks \u2014 MinGW Makefiles<br \/>   CodeBlocks \u2014 NMake Makefiles<br \/>   CodeBlocks \u2014 Ninja<br \/>   CodeBlocks \u2014 Unix Makefiles<br \/>   Eclipse CDT4 \u2014 MinGW Makefiles<br \/>   Eclipse CDT4 \u2014 NMake Makefiles<br \/>   Eclipse CDT4 \u2014 Ninja<br \/>   Eclipse CDT4 \u2014 Unix Makefiles  <\/div>\n<\/div>\n<p>  &nbsp;&nbsp;\u041f\u0443\u0441\u0442\u044c \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u0438\u0439 <i>source.cpp<\/i> \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043e\u0444\u0442 \u2014 \u043f\u043e\u043b\u043e\u0436\u0438\u043c \u0435\u0433\u043e \u0432 \u043f\u0430\u043f\u043a\u0443 src. \u041d\u043e \u0443 \u043d\u0430\u0441 \u0436\u0435 \u043f\u0440\u043e\u0435\u043a\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0441\u0442\u044c \u0435\u0449\u0451 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u043e\u0432 <i>core.cpp, core.hpp, common.hpp, types.hpp<\/i>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u043e\u0436\u0435 \u043f\u043e\u043b\u043e\u0436\u0438\u043c \u0432 src \u0438 \u043d\u0443\u0436\u043d\u0430 \u043a\u0430\u043a\u0430\u044f-\u043d\u0438\u0431\u0443\u0434\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <i>pthread<\/i>. \u0420\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u0435\u0433\u043e \u043a \u0430\u0432\u0442\u043e\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e.<\/p>\n<p>  &nbsp;&nbsp;\u041d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0451 \u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0432 \u043a\u043e\u0440\u043d\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0444\u0430\u0439\u043b\u0430 CMakeLists.txt. \u041f\u0440\u0430\u0432\u0438\u043b\u0430 cmake \u043f\u043e\u0445\u043e\u0436\u0438 \u043d\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a, \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u043c\u0435\u0436\u0434\u0443 javascript \u0438 php. \u0422\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0449\u0435 \u0433\u043e\u0440\u0430\u0437\u0434\u043e. \u0415\u0441\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438. <\/p>\n<p>  &nbsp;&nbsp;\u0424\u0430\u0439\u043b CMakeLists.txt \u044f \u0440\u0430\u0437\u043e\u0431\u044c\u044e \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0435\u0439, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0442\u044c \u0438\u0445. \u0427\u0430\u0441\u0442\u044c 1:  <\/p>\n<pre><code class=\"lua\"># \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441 \u0440\u0435\u0448\u0451\u0442\u043a\u0438 cmake_minimum_required (VERSION 2.6)   cmake_policy(SET CMP0011 NEW) cmake_policy(SET CMP0003 OLD)  OPTION(WITH_DEBUG_MODE &quot;Build with debug mode&quot; ON)  if ( NOT UNIX )     message (FATAL_ERROR &quot;Not Unix!&quot;) endif () <\/code><\/pre>\n<p>  &nbsp;&nbsp;\u0422\u0443\u0442 cmake_minimum_required \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432\u0435\u0440\u0441\u0438\u0438.<br \/>  \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a <a href=\"http:\/\/www.cmake.org\/cmake\/help\/v2.8.9\/cmake.html#command:if\">if ()<\/a> \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0438 endif() \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0438\u0439. \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e <a href=\"http:\/\/www.cmake.org\/cmake\/help\/v2.8.9\/cmake.html#command:foreach\">foreach()<\/a> \u0438 endforeach().<br \/>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f <a href=\"http:\/\/www.cmake.org\/cmake\/help\/v2.8.9\/cmake.html#command:message\">message<\/a> \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043d\u0430\u0448\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435. \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0444\u043b\u0430\u0433 FATAL_ERROR \u0434\u043b\u044f \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<br \/>  \u0417\u0430\u043c\u0435\u0442\u044c\u0442\u0435 \u0442\u0430\u043a \u0436\u0435, \u0447\u0442\u043e \u043d\u0435 \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u0442\u043e\u0447\u043a\u0430 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 (;) \u0432 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u043c\u0430\u043d\u0434. \u0422\u0443\u0442 \u043e\u0434\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 \u2014 \u043e\u0434\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430. \u0421\u043a\u043e\u0431\u043a\u0438 \u043e\u0442\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b \u043e\u0442 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0447\u0442\u0435\u043d\u0438\u044f.<br \/>  \u041a\u0430\u0436\u0434\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u043c\u0435\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u0435\u0437 \u0437\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u043d\u0438\u044f \u0432 <a href=\"http:\/\/www.cmake.org\/cmake\/help\/v2.8.9\/cmake.html\">\u043c\u0430\u043d\u0443\u0430\u043b<\/a> \u043d\u0435 \u043e\u0431\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0438\u043a\u0430\u043a.<br \/>  \u0411\u044b\u0441\u0442\u0440\u043e\u0435 <a href=\"http:\/\/www.cmake.org\/cmake\/help\/syntax.html\">\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u043b\u0435\u043d\u0438\u0435<\/a> \u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 <a href=\"http:\/\/www.cmake.org\/cmake\/help\/examples.html\">\u043f\u0440\u0438\u043c\u0435\u0440<\/a> \u0435\u0441\u0442\u044c \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u043d\u043e \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u0435.<\/p>\n<p>  \u0427\u0430\u0441\u0442\u044c 2:  <\/p>\n<pre><code class=\"lua\">message (&quot;Starting cmake&quot;)  # \u044f \u0432\u044b\u043d\u0435\u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0443\u0442\u0435\u0439, \u0444\u043b\u0430\u0433\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0438\u043b, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0433\u0440\u043e\u043c\u043e\u0437\u0434\u0438\u0442\u044c \u0437\u0434\u0435\u0441\u044c \u043b\u0438\u0448\u043d\u0435\u0433\u043e include (myproj.cmake)  # \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 set (PROJECT myproj)  # \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c set (LIBRARIES) # \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a      foreach (LIBRARY ${LIBRARIES})         find_library(&quot;${LIBRARY}_FOUND&quot; ${LIBRARY})         message(STATUS &quot;Check the ${LIBRARY} is installed: &quot; ${${LIBRARY}_FOUND})         if ( &quot;${${LIBRARY}_FOUND}&quot; STREQUAL &quot;${LIBRARY}_FOUND-NOTFOUND&quot; )             message(STATUS &quot;Adding library sources&quot;)             add_subdirectory (..\/${LIBRARY} lib\/${LIBRARY})         endif ()     endforeach ()  # \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439 \u043d\u0435\u0442 set (TARGETS &quot;&quot;)  set (HEADERS &quot;&quot;)  message ( STATUS &quot;SOURCES: ${SOURCES}&quot;)  add_subdirectory (src) <\/code><\/pre>\n<p>  &nbsp;&nbsp;\u0424\u0443\u043d\u043a\u0446\u0438\u044f <a href=\"http:\/\/www.cmake.org\/cmake\/help\/v2.8.9\/cmake.html#command:set\">set()<\/a> \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435. \u0415\u0441\u043b\u0438 \u043d\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u0443\u0441\u0442\u043e\u0439. \u0417\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0434\u0435\u0441\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u044b \u043f\u043e \u0441\u043c\u044b\u0441\u043b\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043d\u0438 \u043d\u0435\u0441\u0443\u0442 \u0432 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438.<br \/>  include() \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0444\u0430\u0439\u043b \u0441 \u043a\u0443\u0441\u043a\u043e\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u043c\u0435\u0441\u0442\u043e. \u0422\u0443\u0442 \u0431\u0435\u0437 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0439.<br \/>  \u0418 add_subdirectory (src) \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0433\u0434\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435 makefile \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<p>  &nbsp;&nbsp;\u0415\u0441\u043b\u0438 \u0437\u0434\u0435\u0441\u044c \u0437\u0430\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0449\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 src \u0432 CMakeLists.txt \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0434\u0430\u043d\u044b \u043e\u043f\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432.<\/p>\n<p>  &nbsp;&nbsp;\u041d\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u043b \u0435\u0449\u0451 \u043e cmake_policy(). \u0420\u0435\u0448\u0438\u043b \u043d\u0435 \u043e\u0437\u0430\u0434\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0441\u0435\u0439\u0447\u0430\u0441 \u0432\u043d\u0438\u043a\u0430\u043d\u0438\u0435\u043c \u0432 \u044d\u0442\u043e. \u041f\u0443\u0441\u043a\u0430\u0439 \u0442\u0443\u0442 \u043f\u043e\u0432\u0435\u0441\u0438\u0442 \u00a9 \u041f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u0435\u0442 \u0441\u0431\u043e\u0440\u043a\u0443.<br \/>  \u041f\u0440\u043e foreach() \u0446\u0438\u043a\u043b \u0438 \u0431\u0438\u0431\u043b\u0438\u0442\u0435\u043a\u0438 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0434\u0430\u043b\u044c\u0448\u0435. \u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u043f\u043e\u043a\u0430.<\/p>\n<p>  &nbsp;&nbsp;\u0427\u0442\u043e \u0436\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u043e \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 cmake \u0444\u0430\u0439\u043b? \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c:<\/p>\n<pre><code class=\"lua\">set (&quot;${PROJECT}_BINARY_DIR&quot;  bin) set (&quot;${PROJECT}_SOURCE_DIR&quot; src:include) set (&quot;${PROJECT}_LIB_DIR&quot; lib)  set (CMAKE_INCLUDE_PATH ${${PROJECT}_SOURCE_DIR}) set (CMAKE_LIBRARY_PATH ${${PROJECT}_LIB_DIR}) set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}\/${${PROJECT}_BINARY_DIR}) set (CMAKE_VERBOSE_MAKEFILE ON) set (CMAKE_BUILD_TYPE Debug)  set (ERR_NO_UNIX &quot;Cannot build on non Unix systems&quot;)  if ( WITH_DEBUG_MODE )      ADD_DEFINITIONS( -DMY_DEBUG_MODE=1) endif()  if ( CMAKE_COMPILER_IS_GNUCXX )     set(MY_CXX_FLAGS  &quot;-Wall -std=c++0x -fmessage-length=0 -v -L\/usr\/local\/lib -L\/usr\/lib&quot;)     set(CMAKE_CXX_FLAGS &quot;-O0 ${MY_CXX_FLAGS}&quot;)     # \u044f \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043b \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0440\u0430\u0437\u043d\u044b\u0445 \u0444\u043b\u0430\u0433\u043e\u0432 \u0434\u043b\u044f \u0440\u0435\u043b\u0438\u0437\u0430 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e.     #set(CMAKE_CXX_FLAGS_DEBUG &quot;-g -O0 -fno-reorder-blocks -fno-schedule-insns -fno-inline&quot;)     #set(CMAKE_CXX_FLAGS_RELEASE &quot;-O3 -DNDEBUG&quot;) else ()     message (FATAL_ERROR ${ERR_NO_UNIX}) endif () <\/code><\/pre>\n<p>  &nbsp;&nbsp;\u0412\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0432 set () \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u043d\u0430\u044f (\u0438\u043b\u0438 \u0443\u0436\u0435 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u0430\u044f) \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0432 \u0432\u0438\u0434\u0435 ${\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435} \u2014 \u043e\u043d\u0430 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0440\u0430\u043d\u043d\u0435\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u043e\u0433\u043e \u0436\u0435 set () \u0438\u043b\u0438 \u0441\u0430\u043c\u0438\u043c cmake (\u0432\u0441\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0435 cmake \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0435\u0441\u0442\u044c \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438). \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 ${PROJECT} \u0432\u0441\u0442\u0430\u0432\u0438\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 myproj \u0438\u0437 \u0440\u0430\u043d\u0435\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 PROJECT. <br \/>  \u0417\u0430\u043f\u0438\u0441\u044c src:include \u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432 \u043b\u0438\u043d\u0443\u043a\u0441\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043f\u0443\u0442\u0435\u0439 (\u043e\u043d\u0438 \u0442\u0430\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u0435\u043c, \u0430 \u043d\u0435 \u0442\u043e\u0447\u043a\u043e\u0439 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439). <br \/>  &nbsp;&nbsp;\u041f\u0435\u0440\u0432\u044b\u0435 \u0442\u0440\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u044d\u0442\u043e \u043c\u043d\u043e\u044e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435. \u0410 \u0432\u043e\u0442 \u0434\u0430\u043b\u044c\u0448\u0435 \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0435 cmake. \u0418\u0445 \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0435 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u044f\u0432\u043d\u043e, \u043e\u043d\u0438 \u0443\u0436\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0441 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c, \u043d\u043e \u0431\u0443\u0434\u0443\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0442\u0443\u0434\u0430, \u043a\u0443\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0441 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u043f\u0430\u043f\u043e\u043a.<\/p>\n<p>  &nbsp;&nbsp;\u041f\u043e\u0440\u043e\u044e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0438 \u0442\u0430\u043a\u043e\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e: ${${PROJECT}_SOURCE_DIR}. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0437\u044b\u043c\u0435\u043d\u0443\u0435\u0442\u0441\u044f PROJECT \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f ${myproj_SOURCE_DIR}, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0436\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u0432\u043d\u0430\u0447\u0430\u043b\u0435. \u0412 \u0438\u0442\u043e\u0433\u0435 \u0431\u0443\u0434\u0435\u0442 \u0435\u0451 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u0412\u0441\u0451 \u044d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0434\u0430\u0431\u044b \u0435\u0441\u043b\u0438 \u043f\u043e\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441 myproj \u043d\u0430 superpuper \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043b\u0430\u0437\u0438\u0442\u044c \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043a\u043e\u0434\u0443 \u043c\u0435\u043d\u044f\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 \u043f\u0440\u043e\u0447\u0435\u0433\u043e.<\/p>\n<p>  &nbsp;&nbsp;\u0412 \u0431\u043b\u043e\u043a\u0435 if ( CMAKE_COMPILER_IS_GNUCXX ) \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438 \u043a\u0430\u043a\u0438\u0435 \u0444\u043b\u0430\u0433\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438. \u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u043d\u0435 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439, \u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435-\u0444\u043b\u0430\u0433\u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0433\u043e\u0440\u043e\u0434\u0438\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u0431\u0438\u043b\u0434\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432. \u0412\u0435\u0441\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <a href=\"http:\/\/www.cmake.org\/cmake\/help\/v2.8.9\/cmake.html#section_Variables\">Variables<\/a> \u0438 \u0440\u0430\u0437\u0434\u0435\u043b \u044d\u0442\u043e\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439. \u0412 \u043f\u0440\u043e\u0447\u0435\u043c, \u044d\u0442\u043e\u0442 \u0431\u043b\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u0443\u0431\u0440\u0430\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u0438\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0430 \u0438\u043b\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0431\u0448\u0438\u0440\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 cmake. \u041d\u043e \u0442\u0443\u0442 \u0437\u0430\u043d\u044f\u043b\u043e \u0431\u044b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430.<\/p>\n<p>  &nbsp;&nbsp;if ( WITH_DEBUG_MODE ) \u2014 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0441\u043e\u0431\u044b\u0439 \u0432\u0438\u0434 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u043d\u0430 WITH_. \u0421\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043e\u043d\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 option() \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043e\u043f\u0446\u0438\u0438 (\u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u0432 \u043a\u043e\u0434\u0435 \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0435). \u042d\u0442\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f ON \u0438\u043b\u0438 OFF \u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u0443\u043b\u0435\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443. \u0418 ADD_DEFINITION( -DMY_DEBUG_MODE=1) \u0434\u043e\u0431\u0430\u0432\u0438\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443 \u043e\u043f\u0446\u0438\u044e -DMY_DEBUG_MODE, \u0435\u0441\u043b\u0438 \u0432\u043a\u043b\u044e\u0447\u0451\u043d \u0434\u0435\u0431\u0430\u0433 \u0440\u0435\u0436\u0438\u043c. \u0414\u043b\u044f \u0421++ \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435) \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0435\u0444\u0430\u0439\u043d\u0430.<\/p>\n<h4>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c<\/h4>\n<p>  \u0412\u043e\u0442 \u0438 \u0434\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0434\u043e \u043f\u0430\u043f\u043a\u0438 src. \u0412 \u043d\u0435\u0439 \u0442\u043e\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c CMakeLists.txt, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0435\u0433\u043e \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0435\u0435.  <\/p>\n<pre><code class=\"lua\">set (&quot;${PROJECT}_VERSION_MAJ&quot; 0) set (&quot;${PROJECT}_VERSION_MIN&quot; 1) set (&quot;${PROJECT}_VERSION_A&quot; 1) set (&quot;${PROJECT}_VERSION_B&quot; 1) set (&quot;${PROJECT}_VERSION&quot; ${${PROJECT}_VERSION_MAJ}0${${PROJECT}_VERSION_MIN}0${${PROJECT}_VERSION_A}0${${PROJECT}_VERSION_B})  message(STATUS ${${PROJECT}_VERSION})  # \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u0430\u0439\u043b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b set (MAIN_SOURCES     source.cpp     )  # \u043d\u0435\u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u043f\u0430\u0440\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 set (PRIVATE_CLASSES         core     )  # \u0444\u0430\u0439\u043b\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u044b\u0435, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435\u0442 \u043f\u0430\u0440\u044b-\u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430 SET (HEADERS_ONLY         types         common     )  # \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 set (PUBLIC_CLASSES)  # \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 set (ADDITIONAL_LIBRARIES     stdc++     pthread     )  set (PUBLIC_HEADERS) set (SOURCES)  foreach (class ${PRIVATE_CLASSES})     LIST (APPEND SOURCES ${class}.cpp)     LIST (APPEND HEADERS ${class}.hpp) endforeach ()  foreach (class ${HEADERS_ONLY})     LIST (APPEND HEADERS ${class}.hpp) endforeach ()      foreach (class ${PUBLIC_CLASSES})     LIST (APPEND SOURCES ${class}.cpp)     LIST (APPEND HEADERS ..\/include\/${PROJECT}\/${class}.hpp)     LIST (APPEND PUBLIC_HEADERS ..\/include\/${PROJECT}\/${class}.hpp) endforeach ()  add_executable (${PROJECT} ${MAIN_SOURCES} ${SOURCES})  target_link_libraries (${PROJECT} ${ADDITIONAL_LIBRARIES})  set_target_properties(${PROJECT} PROPERTIES VERSION &quot;${${PROJECT}_VERSION}&quot; SOVERSION &quot;0&quot;)  INSTALL (     TARGETS     ${PROJECT}     DESTINATION     lib${LIB_SUFFIX} )  INSTALL (     FILES     ${PUBLIC_HEADERS}     DESTINATION     include\/${PROJECT} ) <\/code><\/pre>\n<p>  &nbsp;&nbsp;\u0417\u0434\u0435\u0441\u044c \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0438 \u0438\u0445 \u0441\u0431\u043e\u0440\u043a\u0430. \u0412\u043d\u0430\u0447\u0430\u043b\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438 \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0414\u0430\u043b\u044c\u0448\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0433\u0440\u0443\u043f\u043f\u044b (\u0438\u043b\u0438 \u043a\u0430\u043a \u0438\u0445 \u0442\u0443\u0442 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442, \u0441\u043f\u0438\u0441\u043a\u0438) \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432, \u0432\u0441\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0431\u0435\u043b. MAIN_SOURCES \u2014 \u043e\u0434\u0438\u043d \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a, PRIVATE_CLASSES \u2014 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 (\u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a.cpp-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a.hpp \u0441 \u043e\u0431\u0449\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c), PUBLIC_CLASSES \u2014 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043f\u0443\u0441\u0442\u043e\u0439, HEADERS_ONLY \u2014 \u0441\u043f\u0438\u0441\u043e\u043a \u043b\u0438\u0448\u044c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, ADDITIONAL_LIBRARIES \u2014 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0435 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442 \u0421++ \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.<\/p>\n<p>  &nbsp;&nbsp;\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0446\u0438\u043a\u043b\u0430\u043c\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044e\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043a\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0432 \u043e\u0434\u0438\u043d \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a (\u0437\u0430\u043c\u0435\u0447\u0443, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0438 \u0441\u043a\u0440\u044b\u0442\u044b\u0439 \u0431\u044b\u043b\u043e \u0447\u0438\u0441\u0442\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u043c). \u0418, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0435\u0435 \u00ab\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b\u00bb <a href=\"http:\/\/www.cmake.org\/cmake\/help\/v2.8.9\/cmake.html#command:add_executable\">add_executable<\/a>(). \u041f\u043e\u0441\u043b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0430 \u043a \u043d\u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u00ab\u043f\u0440\u0438\u043b\u0438\u043d\u043a\u043e\u0432\u0430\u0442\u044c\u00bb \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"http:\/\/www.cmake.org\/cmake\/help\/v2.8.9\/cmake.html#command:target_link_libraries\">target_link_libraries<\/a>() \u0438 \u0432\u0441\u0451. \u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b.<br \/>  \u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438-\u0438\u043d\u0441\u0442\u0430\u043b\u044f\u0446\u0438\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"http:\/\/www.cmake.org\/cmake\/help\/v2.8.9\/cmake.html#command:install\">install<\/a>().<\/p>\n<p>  &nbsp;&nbsp;\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e build, \u0447\u0442\u043e \u0432 \u043a\u043e\u0440\u043d\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c <\/p>\n<blockquote><p>cmake ..<\/p><\/blockquote>\n<p> \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438. \u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u043f\u0440\u043e\u0448\u043b\u043e \u0443\u0434\u0430\u0447\u043d\u043e (\u0430 \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u0443\u0434\u0430\u0447\u043d\u043e), \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c   <\/p>\n<blockquote><p> \u2014 Configuring done<br \/>   \u2014 Generating done<br \/>   \u2014 Build files have been written to: \/home\/username\/tmp\/fooproj\/build<\/p><\/blockquote>\n<p>  \u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u0439\u0441\u044f \u0440\u044f\u0434\u044b\u0448\u043a\u043e\u043c makefile<br \/>  \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0443\u0436\u0435 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c <\/p>\n<blockquote><p>make<\/p><\/blockquote>\n<p>  <\/p>\n<h4>\u0412\u043c\u0435\u0441\u0442\u043e \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f<\/h4>\n<p>  \u042f \u043d\u0430\u0448\u0451\u043b \u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0438 \u0443\u0434\u043e\u0431\u043d\u044b\u043c, \u043d\u0435\u0436\u0435\u043b\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 configure. \u0415\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u0437\u0430\u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u043f\u043e\u0440\u0438\u0442\u044c \u043d\u0430 \u044d\u0442\u043e\u0442 \u0441\u0447\u0451\u0442, \u0442\u043e \u044f \u0432\u043e\u0437\u0434\u0435\u0440\u0436\u0443\u0441\u044c \u043e\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0437\u0430\u0447\u0435\u043c?<br \/>  \u0415\u0441\u043b\u0438 \u0432\u044b \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u0438 \u0438 cmake \u0432\u044b\u0434\u0430\u0451\u0442 \u043e\u0448\u0438\u0431\u043a\u0438, \u0442\u043e \u0441\u043f\u0435\u0440\u0432\u0430 \u0443\u0434\u0430\u043b\u0438\u0442\u0435 \u0432\u0435\u0441\u044c \u043a\u0435\u0448 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u0437 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 build (\u0433\u0440\u0443\u0431\u043e \u0433\u043e\u0432\u043e\u0440\u044f \u0432\u0441\u0451) \u0438\u043b\u0438 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c CMakeCache.txt \u0438\u0437 \u0442\u043e\u0439 \u0436\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0431\u0438\u043b\u0434\u0430.<\/p>\n<p>  \u0427\u0442\u043e \u0431\u044b\u043b\u043e \u043d\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0432 \u043e\u0431\u0443\u0447\u0430\u043b\u043a\u0435:<br \/>  1) \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a Qt \u0438\u043b\u0438 Boost<br \/>  2) \u041f\u043e\u0438\u0441\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a<br \/>  3) \u041c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0441\u0442\u044c<br \/>  4) \u041e\u043f\u0446\u0438\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432<\/p>\n<h5>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f:<\/h5>\n<p>  1) <a href=\"http:\/\/www.cmake.org\/cmake\/help\/documentation.html\">\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0446\u0438\u0446\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a><br \/>  2) <a href=\"http:\/\/www.cmake.org\/cmake\/help\/v2.8.9\/cmake.html\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0432\u0435\u0440\u0441\u0438\u0438 2.8.9<\/a><br \/>  3) \u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a \u044d\u0442\u043e\u0433\u043e \u0431\u0435\u0437\u043e\u0431\u0440\u0430\u0437\u0438\u044f <a href=\"http:\/\/narod.ru\/disk\/62675073001.dbb2e45bb9f27172ba98c6d975d53679\/fooproj.tgz.html\">\u043f\u0440\u0438\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f<\/a>.    \t   \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/155397\/\"> http:\/\/habrahabr.ru\/post\/155397\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t&nbsp;&nbsp;\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0435, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u0437\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u0435\u043d cmake. \u041c\u043e\u0436\u0435\u0442\u0435 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0434 \u043a\u0430\u0442, \u0435\u0441\u043b\u0438 \u0443\u0436\u0435 \u0437\u043d\u0430\u0435\u0442\u0435.  <\/p>\n<h4>\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435<\/h4>\n<p>  &nbsp;&nbsp;\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0440\u0443\u043a\u0430\u043c\u0438 \u2014 \u043f\u0443\u0441\u0442\u0430\u044f \u0442\u0440\u0430\u0442\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u042d\u0442\u043e \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0430\u043a\u0441\u0438\u043e\u043c\u0430 \u0438 \u043e\u0431 \u044d\u0442\u043e\u043c \u0437\u043d\u0430\u044e\u0442 \u0442\u0435, \u043a\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u0442. \u041d\u043e \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0451 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u0442\u0430\u043a \u0432\u0435\u0434\u044c? \u0427\u0430\u0441\u0442\u043e \u0438 \u043f\u043e-\u0441\u0442\u0430\u0440\u0438\u043d\u043a\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 <a href=\"http:\/\/habrahabr.ru\/post\/155201\/\">makefile<\/a> \u0434\u043b\u044f *nix \u0438\u043b\u0438 \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c nmake \u0434\u043b\u044f windows.<br \/>  &nbsp;&nbsp;\u042f \u0445\u043e\u0442\u044c \u0438 \u043d\u0435 \u043f\u0435\u0440\u0432\u044b\u0439 \u0433\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u044e, \u0438 \u0440\u0443\u043a\u0430\u043c\u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0430\u0432\u0442\u043e\u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 makefile, \u043d\u043e \u0441\u0442\u043e\u0438\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0437\u0430\u0431\u044b\u0442\u044c \u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0437\u0430\u043d\u043e\u0432\u043e \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u043a\u0430\u043a \u0436\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u0445\u0438\u0442\u0440\u0443\u044e \u0441\u0445\u0435\u043c\u0443. \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0440\u0430\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u043e\u0434\u043d\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u0431\u0443\u0434\u044c \u0442\u043e linux \u0438\u043b\u0438 windows, \u0438 \u0447\u0430\u0441\u0442\u043e \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u043d\u0435 \u043a\u0440\u043e\u0441\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u044b\u0435. \u0414\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u0438 makefile \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <i>automake<\/i> \u0438 <i>autogen<\/i>, \u043d\u043e \u0438\u0445 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0435\u0449\u0451 \u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043f\u0443\u0442\u0430\u043d. \u041d\u0435 \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0432\u044b\u0431\u043e\u0440 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439, \u043d\u043e \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 cmake, \u0431\u043b\u0430\u0433\u043e \u043e\u043d \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u043e\u0434 \u0432\u0441\u0451 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0435. \u041c\u043d\u0435 \u043e\u043d \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u044e \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u044b. \u0412\u044b \u043f\u0438\u0448\u0438\u0442\u0435 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u0430 \u0438\u0437 \u043d\u0438\u0445 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f makefile, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u0443\u0436\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c.<\/p>\n<h5>\u041b\u0438\u043a\u0431\u0435\u0437<\/h5>\n<p>  &nbsp;&nbsp;<i>\u0417\u0430\u0447\u0435\u043c \u043e\u043d \u043d\u0443\u0436\u0435\u043d?<\/i> \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0435 \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443, \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0443\u0442\u044f\u043c\u0438 \u0432\u044b \u0434\u0432\u0443\u043c\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 makefile. <i>\u041d\u043e \u0435\u0441\u0442\u044c \u0436\u0435 configure?<\/i> \u042d\u0442\u043e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430. \u0418 configure \u043d\u0435 \u043a\u0440\u043e\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0439, \u0434\u043b\u044f \u0435\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0443\u0436\u0435\u043d autoconf\/autogen, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0434\u0451\u0442 \u0435\u0449\u0451 \u0441\u0432\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u0432\u0438\u043b. <i>\u0422\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430?<\/i> \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u0430\u0432\u0442\u043e\u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c makefile \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430. \u041d\u043e Qt \u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f cmake \u0438 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0436\u0430\u043b\u0443\u0435\u0442\u0441\u044f.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-155397","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/155397","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=155397"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/155397\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=155397"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=155397"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=155397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}