Демонстрирует, как создать проект для двух DLL: плагина для QLua и собственной отдельной DLL с C++ интерфейсом
Проект собирает библиотеку cpp_dll, которая содержит класс my_class_in_dll с единственным методом show_message_box(). Для создания DLL файлов в Windows нужны фактически два файла заголовков: один для использования в программах, использующих эти заголовки, другой - для dll-деклараций при сборки самой библиотеки. При помощи cpp_dll_export.hpp, которая генерируется CMake мы получаем макрос cpp_dll_EXPORT, который в зависимости от того, что мы собираем декларирует класс в cpp_dll.hpp как dllexport или dllimport.