Mam projekt CMake z plikiem wykonywalnym, oraz testy do tego projektu. Korzystam z boost unit test. W jaki sposób powinienem zalinkować binarkę projektu z binarką testów?
Próbowałem ustawić ENABLE_EXPORTS dla binarki projektu, jednak z tego issue wynika że binarki można linkować tylko do bibliotek, więc w ten sposób się nie zalinkuję.
Drugie podejście to zalinkowanie binarki testów do bibliotek i plików obiektowych projektu. Jednak w tym podejściu pojawia się kolejny problem - wielokrotne definicje funkcji main - main głównego projektu i main z boosta. Wolałbym uniknąć atrybutu weak przy głównej funkcji.
Projekt piszę obecnie na linuksie, docelowo chciałbym żeby działał również na windowsie, więc potrzebuję rozwiązania multiplatformowego. W jaki sposób mogę to osiągnąć?
Rozwiązanie które mi przychodzi do głowy to biblioteka na cały kod, do której będą się linkować binarka projektu z mainem i binarka testów, jednak jestem ciekawy czy nie ma mniej zmieniających strukturę projektu rozwiązań tego problemu.