Title: Use cmake to import a test library. So we can add testing to the project. · Issue #3 · codereport/An-Algorithm-Library · GitHub
Open Graph Title: Use cmake to import a test library. So we can add testing to the project. · Issue #3 · codereport/An-Algorithm-Library
X Title: Use cmake to import a test library. So we can add testing to the project. · Issue #3 · codereport/An-Algorithm-Library
Description: I don't have much exp with catch2. Though I think it wouldn't take much work to setup. This site shows an example of how to add catch2 via cmake: https://cliutils.gitlab.io/modern-cmake/chapters/projects/fetch.html https://github.com/cat...
Open Graph Description: I don't have much exp with catch2. Though I think it wouldn't take much work to setup. This site shows an example of how to add catch2 via cmake: https://cliutils.gitlab.io/modern-cmake/chapters/pr...
X Description: I don't have much exp with catch2. Though I think it wouldn't take much work to setup. This site shows an example of how to add catch2 via cmake: https://cliutils.gitlab.io/modern-cmake/cha...
Opengraph URL: https://github.com/codereport/An-Algorithm-Library/issues/3
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Use cmake to import a test library. So we can add testing to the project.","articleBody":"I don't have much exp with catch2. Though I think it wouldn't take much work to setup. This site shows an example of how to add catch2 via cmake: https://cliutils.gitlab.io/modern-cmake/chapters/projects/fetch.html\r\n\r\nhttps://github.com/catchorg/Catch2/blob/devel/docs/other-macros.md shows STATIC_REQUIRE which can be used as a static_assert but it'll show as a pass or fail instead of just failing to compile. Since the code is constexpr I figure something like this would be a good way to go.\r\n\r\nOr maybe we could try https://github.com/boost-ext/ut\r\nFrom the talks I saw it seems neat. ~~I don't know if it's got a static_require like thing or if it needs it.~~ To test the constexpr, since this just uses lambdas, is just assign to a constexpr variable in the lambda and require it to be true.\r\n\r\nexample ut.cmake file.\r\n```cmake\r\nenable_testing()\r\ninclude(FetchContent)\r\nFetchContent_Declare(\r\n ut\r\n GIT_REPOSITORY https://github.com/boost-ext/ut.git\r\n GIT_TAG v1.1.8\r\n)\r\n#FetchContent_MakeAvailable(ut) #includes everything\r\n#Below filters out building stuff in this repo when you build all.\r\nFetchContent_GetProperties(ut)\r\nif(NOT ut_POPULATED)\r\n FetchContent_Populate(ut)\r\n add_subdirectory(${ut_SOURCE_DIR} ${ut_BINARY_DIR} EXCLUDE_FROM_ALL)\r\nendif()\r\n```\r\nTo use this afterwards: (based on example on ut's readme)\r\n```cmake\r\ninclude(cmake/ut.cmake)\r\nadd_executable(ut_1\r\n ut_1.cpp)\r\ntarget_link_libraries(ut_1 PRIVATE boost::ut)\r\n```","author":{"url":"https://github.com/Sebanisu","@type":"Person","name":"Sebanisu"},"datePublished":"2021-03-01T03:10:38.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/3/An-Algorithm-Library/issues/3"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:d8ccf39b-1512-e538-7115-ab027cfc582c |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | BC16:236C7E:2CFD167:3FF668D:6A4D0045 |
| html-safe-nonce | 89d033f4fad60c1723cbfe49829125e6e627074c3f174d0a7f1922c75436d5ce |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQzE2OjIzNkM3RToyQ0ZEMTY3OjNGRjY2OEQ6NkE0RDAwNDUiLCJ2aXNpdG9yX2lkIjoiMTQ2MjAxNTk4NzU1NzQwMDY0NSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 5daaf62171bcc781de6a69116d90ea099e95266480389649a6373a16d7a5adc2 |
| hovercard-subject-tag | issue:818415970 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/codereport/An-Algorithm-Library/3/issue_layout |
| twitter:image | https://opengraph.githubassets.com/2612785c787018b305c2f877e74a3d01e0bded7b6d4969453baa18caf989644f/codereport/An-Algorithm-Library/issues/3 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/2612785c787018b305c2f877e74a3d01e0bded7b6d4969453baa18caf989644f/codereport/An-Algorithm-Library/issues/3 |
| og:image:alt | I don't have much exp with catch2. Though I think it wouldn't take much work to setup. This site shows an example of how to add catch2 via cmake: https://cliutils.gitlab.io/modern-cmake/chapters/pr... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | Sebanisu |
| hostname | github.com |
| expected-hostname | github.com |
| None | 31e4db13a9e20081f2fac78f441659a6576e582bbb15e153f9c7fb6473aa29f5 |
| turbo-cache-control | no-preview |
| go-import | github.com/codereport/An-Algorithm-Library git https://github.com/codereport/An-Algorithm-Library.git |
| octolytics-dimension-user_id | 36027403 |
| octolytics-dimension-user_login | codereport |
| octolytics-dimension-repository_id | 342963212 |
| octolytics-dimension-repository_nwo | codereport/An-Algorithm-Library |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 342963212 |
| octolytics-dimension-repository_network_root_nwo | codereport/An-Algorithm-Library |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | fb70bd3c4b2bec429781b65419e912c66e2d5581 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width