Мой проект может быть упрощен как следующая структура.
--+ project directory
+--+ flex (subdir)
| +-- CMakeLists.txt
| +-- xxx.l
|
+--+ bison (subdir)
| +-- CMakeLists.txt
| +-- xxx.y
|
+--- CMakeLists.txt
+--- other source files
Теперь у меня есть отдельные CMakeLists.txt
файлы для подкаталогов flex
и bison
.
В пределах CMakeLists.txt
вкорневой каталог, который я написал
add_subdirectory(flex)
add_subdirectory(bison)
в CMakeLists.txt
в flex
я написал
flex_target(lex ... )
в CMakeLists.txt
в bison
каталоге, который я написал
bison_target(syntax ... )
add_flex_bison_dependency(lex syntax)
Здесь lex
является целью flex_target
в другом каталоге flex
.CMake
показывает мне Flex target 'lex' does not exists.
.Мне интересно, как сказать CMake
, что у меня есть ранее определенная и зависимая цель flex
в другом каталоге?Thx.