Ответ 1
Вам нужно создать CMakeLists.txt
, чтобы CLion был счастлив. Достаточно объявить все исходные файлы, вам не нужно конвертировать ваши scons (или любую другую систему сборки) в cmake.
Вам даже не нужно писать CMakeLists.txt вручную, вы можете попросить CLion сделать это:
File | New CMake Project from Sources...
(начиная с CLion 2019.2)File | Import project ... |
(старый CLion)
а затем укажите каталог, содержащий ваш проект.
Теперь отредактируйте сгенерированный CMakeLists.txt
и добавьте команду cmake, чтобы сообщить CLion, где искать включения (фактически, чтобы сообщить компилятору, и CLion будет повторно использовать эту информацию).
Поскольку ваши исходные файлы используют include как #include "my_includes/my_own.hpp"
, вы должны указать cmake базовый каталог, содержащий каталог my_includes
:
include_directories(.)
Где точка означает тот же каталог, что и каталог, содержащий CMakeLists.txt
.
Я протестировал проект, воспроизводящий ваш макет, и из my_src.cpp
я могу перейти к my_own.hpp
.
Тогда для сборки вам все равно придется использовать scons в консоли. Также можно добавить команду cmake, add_custom_target()
, которая будет вызывать ваши scons (или ваш make, или любой другой), так что вы также можете перейти от CLion к ошибкам сборки.