Я работаю над проектом моделирования: беру встроенную кодовую базу C с целевой платформы и пытаюсь смоделировать ее на главном компьютере для отладки или однократного ввода кода.
ОС: Ubuntu Linux 14.04, IDE: CodeLite, Генератор Makefile: Cmake. Я не понимаю, как написать CMakeLists.txt для проекта. Ниже приводится структура кодовой базы (все написано на C):
|ARQSim\
|-->ARQSim.h
|-->ARQSim.c
|-->BaseStationCode\
| |->downlink.c
| |->neoncopy.c
| |->armCore\
| | |->common\
| | | |->Bsconfig.h
| | | |->config.h
| | |->MacSource\
| | | |->lib\
| | | | |->arqCommon.h
| | | | |->OverTheAir.h
| | | |->source\
| | | | |->beacon.c
| | | | |->proxyDhcp.c
| | | | |->ARQ\
| | | | | |->arqCommon.c
| | | | | |->arqInterface.c
| | | | | |->fragmentation\
| | | | | | |->fragBookkeeping.c
| | | | | | |->fragProcessAck.c
| | | | | |->reassembly\
| | | | | | |->reasmBookkeeping.c
| | | | | | |->reasmProcessAck.c
Я совершенно новичок в Cmake. Я прочитал много ресурсов по CMake и потоков здесь, в StackOverflow. Но каждый раз путаюсь. Несколько вопросов у меня:
- Мне нужен только один файл CMakeLists.txt в корневом каталоге или для каждого каталога нужен другой файл CMakeLists.txt?
- Как рекурсивно добавить исходные файлы в CMakeLists.txt?
- Какие основные команды мне нужно добавить в CMakeLists.txt для создания MakeFile?
Приветствуется пример, основанный на структуре кода, упомянутой выше.