{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":3937162,"defaultBranch":"master","name":"vmime","ownerLogin":"kisli","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2012-04-05T07:11:11.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1613077?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1705062963.0","currentOid":""},"activityList":{"items":[{"before":"d296c2d1d590f8b4f619d9c555ff24ddecec1614","after":"a2636bd4ae2c9ed1b4a4a01324300ed1432fd40d","ref":"refs/heads/master","pushedAt":"2024-05-21T18:48:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"asciiPercent computation: another potential multiplication overflow (#307)\n\n* build: resolve a -Wconversion compiler warning\r\n\r\nwordEncoder.cpp:312:91: warning: conversion from\r\n‘std::__cxx11::basic_string::size_type’ {aka ‘long unsigned\r\nint’} to ‘double’ may change value [-Wconversion]\r\n 312 | buffer.length() == 0 ? 1 : static_cast(asciiCount) / buffer.length();\r\n | ~~~~~~~~~~~~~^~\r\n\r\n* wordEncoder: replace value 100 for asciiPercent\r\n\r\nasciiPercent is a ratio, and not counting in units of hundredths\r\nanymore. The maximum value therefore should be 1 not 100.\r\n\r\n* vmime: avoid integer multiply wraparound in text::createFromString\r\n\r\nThe change from commit v0.9.2-194-gb447adbe needs to be applied to\r\none more function that replicates the same code.\r\n\r\n(If the input string is 42949673 characters long or larger, there will\r\nbe integer overflow on 32-bit platforms when multiplying by 100.\r\nSwitch that one computation to floating point.)","shortMessageHtmlLink":"asciiPercent computation: another potential multiplication overflow (#…"}},{"before":"c105165c6e538a48a3713d41af7a2718a105eafb","after":"d296c2d1d590f8b4f619d9c555ff24ddecec1614","ref":"refs/heads/master","pushedAt":"2024-05-21T13:55:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"vmime: prevent loss of a space during text::createFromString (#306)\n\n```\r\nmailbox(text(\"Test München West\", charsets::UTF_8), \"a@b.de\").generate();\r\n```\r\n\r\nproduces\r\n\r\n```\r\n=?us-ascii?Q?Test_?= =?utf-8?Q?M=C3=BCnchen?= =?us-ascii?Q?West?= \r\n```\r\n\r\nThe first space between ``Test`` and ``München`` is encoded as an\r\nunderscore along with the first word: ``Test_``. The second space\r\nbetween ``München`` and ``West`` is encoded with neither of the two\r\nwords and thus lost. Decoding the text results in ``Test\r\nMünchenWest`` instead of ``Test München West``.\r\n\r\nThis is caused by how ``vmime::text::createFromString()`` handles\r\ntransitions between 7-bit and 8-bit words: If an 8-bit word follows a\r\n7-bit word, a space is appended to the previous word. The opposite\r\ncase of a 7-bit word following an 8-bit word *misses* this behaviour.\r\n\r\nWhen one fixes this problem, a follow-up issue appears:\r\n\r\n``text::createFromString(\"a b\\xFFc d\")`` tokenizes the input into\r\n``m_words={word(\"a \"), word(\"b\\xFFc \", utf8), word(\"d\")}``. This\r\n\"right-side alignment\" nature of the whitespace is a problem for\r\nword::generate():\r\n\r\nAs per RFC 2047, spaces between adjacent encoded words are just\r\nseparators but not meant to be displayed. A space between an encoded\r\nword and a regular ASCII text is not just a separator but also meant\r\nto be displayed.\r\n\r\nWhen word::generate() outputs the b-word, it would have to strip one\r\nspace, but only when there is a transition from encoded-word to\r\nunencoded word. word::generate() does not know whether d will be\r\nencoded or unencoded.\r\n\r\nThe idea now is that we could change the tokenization of\r\n``text::createFromString`` such that whitespace is at the *start* of\r\nwords rather than at the end. With that, word::generate() need not\r\nknow anything about the next word, but rather only the *previous*\r\none.\r\n\r\nThus, in this patch,\r\n\r\n1. The tokenization of ``text::createFromString`` is changed to\r\n left-align spaces and the function is fixed to account for\r\n the missing space on transition.\r\n2. ``word::generate`` learns how to steal a space character.\r\n3. Testcases are adjusted to account for the shifted\r\n position of the space.\r\n\r\nFixes: #283, #284\r\n\r\nCo-authored-by: Vincent Richard ","shortMessageHtmlLink":"vmime: prevent loss of a space during text::createFromString (#306)"}},{"before":"b447adbe373d3940d2023d8e7a6ec21c7bfb8a48","after":"c105165c6e538a48a3713d41af7a2718a105eafb","ref":"refs/heads/master","pushedAt":"2024-05-21T13:48:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"tests: switch a byte sequence in textTest (#305)\n\nSwitch out the byte sequence by one that is simiarly random, but one\r\nwhich happens to decode as valid UTF-8, such that the expected and\r\nactual strings are shown with reasonable characters on a terminal.","shortMessageHtmlLink":"tests: switch a byte sequence in textTest (#305)"}},{"before":"97d15b8cd77998f37c279a023aa9f07def956e60","after":"b447adbe373d3940d2023d8e7a6ec21c7bfb8a48","ref":"refs/heads/master","pushedAt":"2024-05-21T13:47:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Fixes/comments for guessBestEncoding (#304)\n\n* tests: add case for getRecommendedEncoding\r\n\r\n* vmime: avoid integer multiply wraparound in wordEncoder::guessBestEncoding\r\n\r\nIf the input string is 42949673 characters long or larger, there will\r\nbe integer overflow on 32-bit platforms when multiplying by 100.\r\nSwitch that one computation to floating point.\r\n\r\n* vmime: update comment in wordEncoder::guessBestEncoding","shortMessageHtmlLink":"Fixes/comments for guessBestEncoding (#304)"}},{"before":"15f3b945800962adc808a2138360b3fd2b6b0806","after":"97d15b8cd77998f37c279a023aa9f07def956e60","ref":"refs/heads/master","pushedAt":"2024-05-21T13:45:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"vmime: avoid changing SEVEN_BIT when encoding::decideImpl sees U+007F (#303)\n\n* vmime: avoid changing SEVEN_BIT when encoding::decideImpl sees U+007F\r\n\r\nDo not switch to QP/B64 when encountering U+007F.\r\nU+007F is part of ASCII just as much as U+0001 is.\r\n\r\n---------\r\n\r\nCo-authored-by: Vincent Richard ","shortMessageHtmlLink":"vmime: avoid changing SEVEN_BIT when encoding::decideImpl sees U+007F ("}},{"before":"d03ad5f0f6d3b2d54009ccdc7d1f7670218b263c","after":"15f3b945800962adc808a2138360b3fd2b6b0806","ref":"refs/heads/master","pushedAt":"2024-05-21T13:41:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Resolve compiler warnings (#302)\n\n* build: replace class noncopyable by C++11 deleted function declaration\r\n\r\nC++11 is mandatory since commit v0.9.2-48-g8564b2f8, therefore we can\r\nexercise the =delete keyword in class declarations to prohibit\r\ncopying.\r\n\r\n* build: resolve -Woverloaded-virtual warnings\r\n\r\ncontext.hpp:109:26: warning: \"virtual vmime::context&\r\nvmime::context::operator=(const vmime::context&)’ was hidden\r\n[-Woverloaded-virtual=]\r\n 109 | virtual context& operator=(const context& ctx);\r\n | ^~~~~~~~\r\ngenerationContext.hpp:153:28: note: by ‘vmime::generationContext&\r\nvmime::generationContext::operator=(const vmime::generationContext&)’\r\n 153 | generationContext& operator=(const generationContext& ctx);\r\n | ^~~~~~~~\r\n\r\nAFAICS, there is no point in having \"virtual\" on an assignment operator.\r\nAny derived classes' operator= has different signature anyway.\r\nIt is also the only class with a virtual operator=, so that's an indicator\r\nfor oddness as well.\r\n\r\n* build: resolve -Wdeprecated-declarations warnings\r\n\r\nencoding.cpp: In static member function \"static const vmime::encoding\r\nvmime::encoding::decideImpl(std::__cxx11::basic_string::const_iterator,\r\nstd::__cxx11::basic_string::const_iterator)\":\r\n\r\nencoding.cpp:161:29: warning: \"std::binder2nd<_Operation>\r\nstd::bind2nd(const _Operation&, const _Tp&) [with _Operation =\r\nless; _Tp = int]\" is deprecated: use \"std::bind\" instead\r\n[-Wdeprecated-declarations]\r\n 161 | std::bind2nd(std::less(), 127)\r\n | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\nC++11 is mandatory, so just use a lambda already.","shortMessageHtmlLink":"Resolve compiler warnings (#302)"}},{"before":"0ce327abee4666385ebb54a7530e4710b63265a3","after":"d03ad5f0f6d3b2d54009ccdc7d1f7670218b263c","ref":"refs/heads/master","pushedAt":"2024-03-04T10:48:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Fix OpenSSL initialization #299 (#300)","shortMessageHtmlLink":"Fix OpenSSL initialization #299 (#300)"}},{"before":"c6b01fcc32956518ce010d4d367b844c006958d2","after":"0ce327abee4666385ebb54a7530e4710b63265a3","ref":"refs/heads/master","pushedAt":"2024-03-04T10:46:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"url: strip leading slash from url-path (#298)","shortMessageHtmlLink":"url: strip leading slash from url-path (#298)"}},{"before":"c3c6242ed135f9eca805380394791d17b0fc7a63","after":"c6b01fcc32956518ce010d4d367b844c006958d2","ref":"refs/heads/master","pushedAt":"2024-03-04T10:45:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"url: repair off-by-one bug in extractHost (#297)\n\n`hostPart[len]` is pointing to `]`, but we need to check the\r\nchar after that.\r\n\r\nFixes: v0.9.2-187-g874a1d8c","shortMessageHtmlLink":"url: repair off-by-one bug in extractHost (#297)"}},{"before":"874a1d8c33ef80402be95a1ebee01902e14f12e4","after":"c3c6242ed135f9eca805380394791d17b0fc7a63","ref":"refs/heads/master","pushedAt":"2024-01-30T11:41:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"url: add remark to documentation about hardcoded // substring (#293)","shortMessageHtmlLink":"url: add remark to documentation about hardcoded // substring (#293)"}},{"before":"8bed1cc7436208204a586662c7a705601557c1c1","after":"874a1d8c33ef80402be95a1ebee01902e14f12e4","ref":"refs/heads/master","pushedAt":"2024-01-30T11:38:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"url: support IPv6 literals (RFC 2732) (#292)","shortMessageHtmlLink":"url: support IPv6 literals (RFC 2732) (#292)"}},{"before":"565765daa2090a82478bb6b9f85738707ede4b43","after":null,"ref":"refs/heads/Fixed_confusing_source_bin_dirs","pushedAt":"2024-01-12T12:36:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"}},{"before":"a5623d695f94f8718c75e91e6bb62576b6099b91","after":"8bed1cc7436208204a586662c7a705601557c1c1","ref":"refs/heads/master","pushedAt":"2024-01-12T12:36:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Fixed confusing source/bin dirs in makefile. (#291)","shortMessageHtmlLink":"Fixed confusing source/bin dirs in makefile. (#291)"}},{"before":"a5623d695f94f8718c75e91e6bb62576b6099b91","after":"565765daa2090a82478bb6b9f85738707ede4b43","ref":"refs/heads/Fixed_confusing_source_bin_dirs","pushedAt":"2024-01-08T13:51:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Fixed confusing source/bin dirs in makefile.","shortMessageHtmlLink":"Fixed confusing source/bin dirs in makefile."}},{"before":null,"after":"a5623d695f94f8718c75e91e6bb62576b6099b91","ref":"refs/heads/Fixed_confusing_source_bin_dirs","pushedAt":"2024-01-08T13:47:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Fixed use of old API (#287).","shortMessageHtmlLink":"Fixed use of old API (#287)."}},{"before":"6fd4de8fb59dd58a796522425cd537625dd5b00b","after":"a5623d695f94f8718c75e91e6bb62576b6099b91","ref":"refs/heads/master","pushedAt":"2024-01-01T17:02:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Fixed use of old API (#287).","shortMessageHtmlLink":"Fixed use of old API (#287)."}},{"before":"9b65b4de6c8491dd7ba0c26ed6923e67984c90ec","after":"6fd4de8fb59dd58a796522425cd537625dd5b00b","ref":"refs/heads/master","pushedAt":"2023-12-31T15:10:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Add parsing feedback via parsingContext (#280)\n\n* Add parsing feedback via parsingContext\r\n\r\nChanges the parsing context to be modifiable to be able to provide\r\nfeedback on the parsing. This allows the user to check if header\r\nrecovery was necessary, for example, while parsing the current message.\r\n\r\nSigned-off-by: Ben Magistro \r\nCo-authored-by: Vincent Richard ","shortMessageHtmlLink":"Add parsing feedback via parsingContext (#280)"}},{"before":"acfc0bbf824defd604fd218539c3f504abbb7efe","after":"9b65b4de6c8491dd7ba0c26ed6923e67984c90ec","ref":"refs/heads/master","pushedAt":"2023-12-31T15:03:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Configurable email add domain (#287)\n\n* Allow appending of local hostname to be configured via parsing context\r\n\r\nSigned-off-by: Ben Magistro \r\nCo-authored-by: Vincent Richard ","shortMessageHtmlLink":"Configurable email add domain (#287)"}},{"before":"022303bbc9c281f7c2c525acaba19f31e755b4e3","after":"acfc0bbf824defd604fd218539c3f504abbb7efe","ref":"refs/heads/master","pushedAt":"2023-12-31T14:56:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Avoid generating illegal Envelope-From with sendmail:// transport (#285)\n\nWhen the ``sender`` function argument is the empty object, vmime\r\nwould still attempt to use it at ``sender.getEmail().generate()``,\r\nbut that produces just ``@``. As sendmail is called with ``-f @``,\r\nthis shows up in postfix's logs as ``<\"\"@>``.","shortMessageHtmlLink":"Avoid generating illegal Envelope-From with sendmail:// transport (#285)"}},{"before":"7ada1c974c9904340ecfe7be6d3fbbe875eb50b2","after":"022303bbc9c281f7c2c525acaba19f31e755b4e3","ref":"refs/heads/master","pushedAt":"2023-12-31T14:54:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Build: static lib dependency for ICU (#281)\n\n* Fix missed path for generated files in #277\r\n\r\n* Update cmake to include char conversion dependency on static library","shortMessageHtmlLink":"Build: static lib dependency for ICU (#281)"}},{"before":"82377e034246e75aa2fd1a28ee54a667848860e3","after":"7ada1c974c9904340ecfe7be6d3fbbe875eb50b2","ref":"refs/heads/master","pushedAt":"2023-12-31T14:35:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Build: fix missed path for generated files in #277 (#278)","shortMessageHtmlLink":"Build: fix missed path for generated files in #277 (#278)"}},{"before":"6e11c9c9f817ee37da4ccfa5f50d2cca71de949e","after":"82377e034246e75aa2fd1a28ee54a667848860e3","ref":"refs/heads/master","pushedAt":"2023-12-31T14:22:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Build: add FreeBSD & libc++ compilation support (#288)\n\n* build: add FreeBSD compilation support\r\n\r\n* build: unbreak compilation with clang libc++\r\n\r\nunary_function is obsolete with C++11 and removed in C++17.\r\ngnu-gcc-libstdc++ still has the class, but llvm-clang-libc++ does\r\nnot, and there is a compile error.\r\n\r\nvmime should have just stopped using unary_function with commit\r\nv0.9.2-48-g8564b2f8.\r\n\r\n\t$ cat x.cpp\r\n\t$ clang++ -std=c++17 -stdlib=libc++ -c x.cpp\r\n\tIn file included from x.cpp:1:\r\n\tIn file included from /usr/local/include/vmime/net/transport.hpp:34:\r\n\tIn file included from /usr/local/include/vmime/net/service.hpp:36:\r\n\tIn file included from /usr/local/include/vmime/net/session.hpp:40:\r\n\tIn file included from /usr/local/include/vmime/utility/url.hpp:30:\r\n\t/usr/local/include/vmime/propertySet.hpp:339:33: error: no template named\r\n\t/'unary_function' in namespace 'std'; did you mean '__unary_function'?\r\n\t\tclass propFinder : public std::unary_function , bool> {\r\n\t\t\t\t\t ~~~~~^~~~~~~~~~~~~~\r\n\t\t\t\t\t __unary_function","shortMessageHtmlLink":"Build: add FreeBSD & libc++ compilation support (#288)"}},{"before":"1a35bb6d71b6301287e21aaabd112997ea0f0a7f","after":"6e11c9c9f817ee37da4ccfa5f50d2cca71de949e","ref":"refs/heads/master","pushedAt":"2023-12-31T14:19:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Make default context thread_local (#286)\n\n* Make default context thread_local\r\n\r\nSigned-off-by: Ben Magistro \r\nCo-authored-by: Vincent Richard ","shortMessageHtmlLink":"Make default context thread_local (#286)"}},{"before":"c6b9ad3c788e88f87bad38831c53be12c5763d97","after":"1a35bb6d71b6301287e21aaabd112997ea0f0a7f","ref":"refs/heads/master","pushedAt":"2023-11-09T19:32:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Build: add Solaris compilation support (#282)","shortMessageHtmlLink":"Build: add Solaris compilation support (#282)"}},{"before":"fc69321d5304c73be685c890f3b30528aadcfeaf","after":"c6b9ad3c788e88f87bad38831c53be12c5763d97","ref":"refs/heads/master","pushedAt":"2023-08-09T08:59:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vincent-richard","name":"Vincent Richard","path":"/vincent-richard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/428212?s=80&v=4"},"commit":{"message":"Update cmake (#277)\n\nThis restructures the cmake a little bit to only find components if they\r\nare actually enabled. It also rearranges things to better group some\r\nrelated items. This change also fixes include directories for the build\r\ntarget allowing the library to be embedded making the install step\r\noptional.\r\n\r\nSigned-off-by: Ben Magistro ","shortMessageHtmlLink":"Update cmake (#277)"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUC-2YAA","startCursor":null,"endCursor":null}},"title":"Activity · kisli/vmime"}