Как распространить cmake add_definitions в другой каталог? - PullRequest
0 голосов
/ 22 октября 2019

Ниже приведена структура моего каталога проектов.

.
├── build
├── build.sh
├── clean.sh
├── CMakeLists.txt
├── README.md
├── src
│   ├── CMakeLists.txt
│   ├── Drivers
│   ├── stm32-cmake
│   ├── stm32_uavcan
│   ├── sys
│   └── util
├── tests
│   ├── CMakeLists.txt
│   ├── cpputest
│   ├── Makefile
│   ├── Tests
├── thirdparty
│   ├── ChibiOS_17.6.0
│   ├── CMakeLists.txt
│   ├── libuavcan
│   ├── sml
│   └── stm32plus
└── tools
    └── udev-rules

Проект libuavcan (создает статические библиотеки) в папке третьей стороны использует следующие определения

add_definitions(
                -DUAVCAN_STM32_TIMER_NUMBER=5
                -DUAVCAN_STM32_NUM_IFACES=2
                -DUAVCAN_STM32_CHIBIOS=1
                -DUAVCAN_CPP_VERSION=UAVCAN_CPP11
                -DUAVCAN_STM32_IRQ_PRIORITY_MASK=4
               )

, которые определены в третьей стороне / CMakeLists.txt. теперь исполняемые файлы в каталоге src / stm32_uavcan / также нуждаются в этих определениях. Вместо того, чтобы переопределять их снова. Возможно ли, что я мог бы как-то распространить их в другой каталог, который не является подкаталогом каталога, в котором определен add_definitions.

...