Consider an extension with two modules Wheel and Car :
.
├── CMakeLists.txt
├── Car
│ ├── CMakeLists.txt
│ ├── Widgets
│ │ ├── CMakeLists.txt
│ │ ├── qSlicerCarFooBarWidget.cxx
│ │ └── qSlicerCarFooBarWidget.h
│ ├── qSlicerCarModule.cxx
│ ├── qSlicerCarModule.h
│ ├── qSlicerCarModuleWidget.cxx
│ └── qSlicerCarModuleWidget.h
└── Wheel
├── CMakeLists.txt
├── Widgets
│ ├── CMakeLists.txt
│ ├── qSlicerWheelFooBarWidget.cxx
│ └── qSlicerWheelFooBarWidget.h
├── qSlicerWheelModule.cxx
├── qSlicerWheelModule.h
├── qSlicerWheelModuleWidget.cxx
└── qSlicerWheelModuleWidget.h
The module Car depends on some of the classes in module Wheel (for example qSlicerWheelFooBarWidget
). What do I need to put in ./Car/CMakeLists.txt
and ./CMakeLists.txt
in order to successfully build Car?
Extension Wizard just creates an extension with two independent module projects; my build fails because project Car can’t find header files located in project Wheel.
Should I also manually override the virtual qSlicerCarModule::dependencies() const
method and add Wheel
?