Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: cmake очистка кэша
Форум на CrossPlatform.RU > Разработка > Инструменты разработчика
DEADHUNT
необходимо собрать N целей, расположение файлов такое:
CMakeLists.txt
subfolder1
    CMakeLists.txt
    ...
subfolder2
    CMakeLists.txt
    ...
...
subfolderN
    CMakeLists.txt
    ...

корневой CMakeLists.txt:
...
add_subdirectory(subfolder1)
add_subdirectory(subfolder2)
...
add_subdirectory(subfolderN)

для пересборки под различные ОС, или для сборки в другой версии(Debug/Release) приходится заходить в каждую папку и удалить кэш файлы cmake, как можно решить данную проблему?
Алексей1153
если дело происходит под виндой, то запросто поможет батник. Запускать процесс и дождаться его окончания - команда start /wait
BRE
Цитата(DEADHUNT @ 16.9.2010, 0:19) *
для пересборки под различные ОС, или для сборки в другой версии(Debug/Release) приходится заходить в каждую папку и удалить кэш файлы cmake, как можно решить данную проблему?

IMHO, лучше проводить сборку в отдельных папках.

Нужен релиз x86 - создали папку release-x86, зашли в нее, cmake </path/to/CMakeLists.txt>, make
Нужен дебаг x_86_64 - создали папку debug-x86_64, зашли в нее, cmake, make
Нужно что то очистить - убили все файлы в нужной папке или сразу папку.
DEADHUNT
Цитата(Алексей1153 @ 16.9.2010, 7:12) *
если дело происходит под виндой, то запросто поможет батник. Запускать процесс и дождаться его окончания - команда start /wait

в линуксе тоже есть скрипт процессоры.

Цитата(BRE @ 16.9.2010, 8:54) *
IMHO, лучше проводить сборку в отдельных папках.

вот так наверное?
build
    CMakeLists.txt
    win_x86
    win_x86-64

cd build/win_x86
cmake ../CMakeLists.txt
BRE
Цитата(DEADHUNT @ 16.9.2010, 10:43) *
вот так наверное?

В папке build вообще не нужен CMakeLists.txt, он должен лежать в папке с проектом.
Например:
prj
   src1
      CMakeLists.txt
      ...
   src2
      CMakeLists.txt
      ...
   src3
      CMakeLists.txt
      ...
   CMakeLists.txt
   ...

-------------
создали build с подкаталогами:
prj
   build
      win_x86
      win_x86_64

   src1
      CMakeLists.txt
      ...
   src2
      CMakeLists.txt
      ...
   src3
      CMakeLists.txt
      ...
   CMakeLists.txt
   ...

-------------
Зашли в папку prj/build/win_x86 и запустили cmake для prj/CMakeList.txt:
cmake ../.. или cmake /prj

В папке prj/build/win_x86 получили все для запуска make.
Litkevich Yuriy
для CMake'а норма - теневая сборка.
Под виндой есть CMake GUI позволяет наглядно всё настроить.
Там создаются два новых каталога - один для сборки (make), а другой для результата сборки (make install)
DEADHUNT
всё спасибо разобрался.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.