C5T / Current

C++ framework for realtime machine learning.
https://medium.com/dima-korolev/current-for-realtime-machine-learning-4f04aa8ab81a
97 stars 29 forks source link

Added `CMakeLists.txt` and `Makefile` for clean & fast builds of external projects that use Current. #956

Closed dimacurrentai closed 9 months ago

dimacurrentai commented 9 months ago

Hi @mzhurovich!

This was easier than I thought!

README.

Clean test:

$ mkdir clean_current_cmake_test
$ cd clean_current_cmake_test
$ wget https://raw.githubusercontent.com/dimacurrentai/Current/cmake/cmake/run-cmake-test.sh
$ chmod +x run-cmake-test.sh
$ ./run-cmake-test.sh

...

One-line change time, Current gtest, debug: 3s
One-line change time, Current gtest, release: 8s

One-line change time, Google gtest, debug: 3s
One-line change time, Google gtest, release: 2s

This test is also run by a Github Action, both on Linux and on macOS.

What this means now is that using Current, with fast incremental builds, and with a non-header-only Googletest, is just a matter of:

Thanks, Dima (from Windows)

dimacurrentai commented 9 months ago

@mzhurovich, added support for dynamic libraries too, and tested on Linux, WSL, and macOS!

dimacurrentai commented 9 months ago

Probably best to review per commit, but, to get a feel, cmake/run-cmake-test.sh is self-contained and self-explanatory!

mzhurovich commented 9 months ago

@dimacurrentai I have one question - why q/q/q? =)

dimacurrentai commented 9 months ago

It needs to not find current/ in ../ and ../../, and maybe in ../../..

Where did you find it thought? That's my internal local run script!

On Wed, Jan 3, 2024 at 00:04 Maxim Zhurovich @.***> wrote:

@dimacurrentai https://github.com/dimacurrentai I have one question - why q/q/q? =)

— Reply to this email directly, view it on GitHub https://github.com/C5T/Current/pull/956#issuecomment-1874218686, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVDEKLXBQOUCJTD2NY6FYRDYMQVYLAVCNFSM6AAAAABBJPCE4GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZUGIYTQNRYGY . You are receiving this because you were mentioned.Message ID: @.***>