CTAD rules fix, MSVC build fixes, setting up CI (#7) * some fixes in CMakeLists * add test ci config. * ci fix attempt. * attempt to add a code coverage job. * attempt to add a code coverage job (2). * attempt to add a code coverage job (3). * attempt to add a code coverage job (4). * attempt to add a code coverage job (5). * attempt to add a code coverage job (6). * attempt to add a code coverage job (7). * attempt to add a code coverage job (8). * attempt to add a code coverage job (9). * attempt to add a code coverage job (10). * attempt to add a code coverage job (11). * attempt to add a code coverage job (12). * attempt to add a code coverage job (13). * attempt to add a code coverage job (14). * attempt to add a code coverage job (15). * attempt to add a code coverage job (16). * attempt to add a code coverage job (17). * attempt to add a code coverage job (18). * attempt to add a code coverage job (19). * attempt to add other ubuntu build jobs. * attempt to add other ubuntu build jobs (2). * attempt to add other ubuntu build jobs (3). * attempt to add other ubuntu build jobs (4). * attempt to add other ubuntu build jobs (5). * attempt to add other ubuntu build jobs (6). * attempt to add macOS builds. * attempt to add windows builds. * MSVS 2019 build fix. * attempt to fix MSVS 2017 build. * Revert "attempt to fix MSVS 2017 build." This reverts commit 9f38929d6988835d8aa20b9d723fb09c17c526ac. * attempt to fix MSVS 2017 build (2). * Revert "attempt to fix MSVS 2017 build (2)." This reverts commit 5dc08f20a0a8e0559a1658756a768b66b2d00d50. * attempt to fix MSVS 2017 build (3). * rename workflow. * Add badges to README * cleaning up. * minor code style fix. * Minor README update [skip-ci] * Minor README update skip-ci