{"id":1146,"date":"2019-04-02T09:42:44","date_gmt":"2019-04-02T09:42:44","guid":{"rendered":"http:\/\/www.labri.fr\/perso\/allali\/?page_id=1146"},"modified":"2019-04-02T09:43:58","modified_gmt":"2019-04-02T09:43:58","slug":"tips","status":"publish","type":"page","link":"https:\/\/www.labri.fr\/perso\/allali\/?page_id=1146","title":{"rendered":"Tips"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">cmake and code coverage:<\/h2>\n\n\n\n<p>file coverage.sh:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">!\/bin\/bash<br> lcov --capture --directory . --output-file coverage.info<br> lcov --directory . --output-file coverage.info \\<br>     --remove coverage.info \"\/usr\/<em>\" \"<\/em>.moc\" \"test\/*\"<br> genhtml -o coverage coverage.info<\/pre>\n\n\n\n<p>minimal CMakeLists.txt:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cmake_minimum_required(VERSION 3.1)<br>project(bitboard)<br>include(CTest)<br>option(MAKE_COVERAGE \"add coverage into tests\" OFF)<br>add_executable(test1 test1.c)<br>if (${MAKE_COVERAGE})<br>     target_compile_options(test1 PUBLIC \"--coverage\")<br>     target_link_libraries(test1 gcov)<br>endif()<br>add_test(test1)<br>if (${MAKE_COVERAGE})<br>   add_custom_target (coverage<br>     COMMAND ${CMAKE_CURRENT_SOURCE_DIR}\/coverage.sh<br>     WORKING_DIRECTORY ${CMAKE_BINARY_DIR})<br> endif()<\/pre>\n\n\n\n<p>Commands to test this:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mkdir build<br>cd build<br>cmake -DMAKE_COVERAGE=ON ..<br>make<br>make test<br>make coverage<\/pre>\n\n\n\n<p>Coverage analysis can be found in build\/coverage\/index.html<\/p>\n","protected":false},"excerpt":{"rendered":"<p>cmake and code coverage: file coverage.sh: !\/bin\/bash lcov &#8211;capture &#8211;directory . &#8211;output-file coverage.info lcov &#8211;directory . &#8211;output-file coverage.info \\ &#8211;remove coverage.info &#8220;\/usr\/&#8221; &#8220;.moc&#8221; &#8220;test\/*&#8221; genhtml -o coverage coverage.info minimal CMakeLists.txt: cmake_minimum_required(VERSION 3.1)project(bitboard)include(CTest)option(MAKE_COVERAGE &#8220;add coverage into tests&#8221; OFF)add_executable(test1 test1.c)if (${MAKE_COVERAGE}) target_compile_options(test1 PUBLIC &#8220;&#8211;coverage&#8221;) target_link_libraries(test1 gcov)endif()add_test(test1)if (${MAKE_COVERAGE}) add_custom_target (coverage COMMAND ${CMAKE_CURRENT_SOURCE_DIR}\/coverage.sh WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) endif() Commands to test [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1146","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.labri.fr\/perso\/allali\/index.php?rest_route=\/wp\/v2\/pages\/1146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.labri.fr\/perso\/allali\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.labri.fr\/perso\/allali\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.labri.fr\/perso\/allali\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.labri.fr\/perso\/allali\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1146"}],"version-history":[{"count":2,"href":"https:\/\/www.labri.fr\/perso\/allali\/index.php?rest_route=\/wp\/v2\/pages\/1146\/revisions"}],"predecessor-version":[{"id":1148,"href":"https:\/\/www.labri.fr\/perso\/allali\/index.php?rest_route=\/wp\/v2\/pages\/1146\/revisions\/1148"}],"wp:attachment":[{"href":"https:\/\/www.labri.fr\/perso\/allali\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}