ПРИМЕЧАНИЕ. Этот вопрос относится к тому, чтобы заголовки отображались в IDE, , а не , просто чтобы они были включены в сборку.Последнее здесь не проблема.
У меня есть проект, который выглядит в основном так, и я пытаюсь преобразовать его систему сборки в CMake:
project/
include/
common/
common1.hpp
common2.hpp
...
lib1/
file1_1.hpp
file1_2.hpp
...
lib2/
file2_1.hpp
file2_2.hpp
...
...
bin1/
...
src/
CMakeLists.txt (project)
lib1/
file1_1.cpp
file1_2.cpp
...
CMakeLists.txt (add_library)
lib2/
file2_1.cpp
file2_2.cpp
...
CMakeLists.txt (add_library)
...
bin1/
main.cpp
...
CMakeLists.txt (add_executable)
В каждом листовом каталогеCMakeLists.txt
, я включаю соответствующие файлы заголовков в команду add_library()
или add_executable()
, для максимальной совместимости с IDE.
Мой вопрос: как мне поменять CMake, чтобы получить небиблиотечныйкакие заголовки под common/
также отображаются в IDE?
Мой текущий план состоит в том, чтобы просто назначить каждый из них библиотеке / двоичному файлу, который использует их наиболее часто, но это неудовлетворительно.Я также не уверен, что это в конечном итоге сделает с презентацией структуры проекта в различных IDE;было бы лучше, если бы он несколько отражал физическое расположение файлов.
Обратите внимание, что я в настоящее время застрял с использованием CMake 2.8.12.2, поэтому многие функции только для 3.x не подойдут для меня.