как изменить путь установки без повторного запуска скрипта configure / cmake

$(function() {

  $("input:disabled").closest("div").click(function() {
    $(this).find("input:disabled").attr("disabled", false).focus();
  });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

<div>
  <input type="text" disabled />
</div>

29
задан A. K. 20 November 2012 в 19:42
поделиться

5 ответов

Сгенерированные CMake make-файлы поддерживают соглашение о кодировании DESTDIR для make-файлов. Таким образом, вы можете переопределить место установки по умолчанию, установив переменную DESTDIR при вызове make:

$ make install DESTDIR=/opt/local

Нет необходимости перезапускать CMake.

43
ответ дан sakra 20 November 2012 в 19:42
поделиться

Я не знаю, является ли это в целом правдой, но я могу привести пример приложения, для которого принятый ответ по sakra не работает должным образом. Если вы измените каталог установки, изменив DESTDIR при установке ITK, он просто добавит DESTDIR к уже сформированному пути установки:

make install DESTDIR=/opt/local

[...]

-- Installing: /opt/local/usr/local/lib/cmake/ITK-4.4/WrapITK/Configuration/Typedefs/itkRenyiEntropy[...]

С другой стороны, после этот ответ по Fraser приведет к правильным путям установки без перекомпиляции:

cmake -DCMAKE_INSTALL_PREFIX=/opt/local /path/to/ITK_source
make install

[...]

-- Installing: /opt/local/lib/cmake/ITK-4.4/WrapITK/Configuration/Typedefs/itkRenyiEntropy[...]
17
ответ дан Community 20 November 2012 в 19:42
поделиться

Каноническое определение DESTDIR и префикса таково: файлы устанавливаются с префиксом $ DESTDIR $, но готовятся так, как если бы их окончательное место установки было просто префиксом $.

Таким образом, DESTDIR предназначен только для людей, создающих пакеты или tarballs из двоичных файлов; CMAKE_INSTALL_PREFIX - для тех, кто хочет указать, где в конце должны быть собраны исполняемые файлы.

9
ответ дан Dan Kegel 20 November 2012 в 19:42
поделиться

Запуск CMake с -DCMAKE_INSTALL_PREFIX=<somewhere different to last time> не должен вызывать перекомпиляцию вашего проекта. Если вы передадите в CMake другие параметры командной строки, например, измените флаги компилятора, чтобы заставил перестроить затронутые цели, но простое изменение префикса установки не даст.

13
ответ дан Fraser 20 November 2012 в 19:42
поделиться

На всякий случай, если кто-то не использует CMake, есть способ сделать это в Makefile. Если у вас есть файл Makefile.config, сгенерированный в вашей директории сборки, найдите prefix. Это prefix является установкой path, где будут установлены двоичные файлы / заголовки и т. Д. Изменение этого установит двоичные файлы / заголовки в измененный path.

4
ответ дан A. K. 20 November 2012 в 19:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: