2010-08-07 5 views
6

в моем проекте, весь исходный код находится в папке с именем «src». В моем проекте root (выше «src») есть файл CMakeLists.txt, но он просто объявляет проект и включает подкаталог «src». Файл CMakeLists.txt в src выполняет всю работу, включая «add_binary».Куда поместить двоичный код в CMake?

(Это обычный способ сделать это, или я должен положить весь интеллект в файле CMakeLists.txt на корневом уровне?)

Если я построить проект сейчас, мой двоичный файл помещается в src, но это не имеет большого смысла, я бы предпочёл его в корневой папке или в отдельной папке «bin».

Как вы это делаете?

ответ

6

Если вы хотите, чтобы поместить все исполняемые файлы в подкаталоге «бен», то вы можете использовать следующую строку в верхнем файле CMakeLists.txt:

SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") 

Просто удалите /bin и исполняемые файлы будут созданный в корневом каталоге. Аналогичная переменная существует для библиотек: CMAKE_LIBRARY_OUTPUT_DIRECTORY.

PS. Добавление логики для каждого каталога прекрасное. Это, кажется, общий способ делать что-то и держать вещи хорошо организованными.

Смежные вопросы