|
|||||||
|
Сmake, как писать опцию install
Время создания: 02.05.2013 20:42
Раздел: Компьютер - Программирование - Системы сборки - CMake
Запись: xintrea/mytetra_syncro/master/base/1367512960uoiy1go83q/text.html на raw.githubusercontent.com
|
|||||||
|
|
|||||||
|
Файл CMakeLists.txt: cmake_minimum_required(VERSION 2.6) project(demolib C) add_library(demolib SHARED demolib.c demolib.h) if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) set(LIB_INSTALL_PATH ${CMAKE_INSTALL_PREFIX}/lib/) elseif(${CMAKE_SYSTEM_NAME} STREQUAL Linux) set(LIB_INSTALL_PATH /usr/lib/) endif() install(TARGETS demolib DESTINATION ${LIB_INSTALL_PATH}) find_path(LIB_INCLUDE_PATH string.h) install(FILES demolib.h DESTINATION ${LIB_INCLUDE_PATH}) Самой полезной из этих команд является команда install(). У команды install() три группы аргументов:
Команда install(), вызванная со спецификатором TARGETS, устанавливает файлы, являющиеся целями (то есть, результатом) сборки. В качестве аргументов мы передаем команде имя цели сборки и директорию, в которую должны быть установлены целевые файлы. Для того чтобы сгенерировать инструкции установки файла, не являющегося целью сборки (например, файла demolib.h), мы вызываем команду install() со спецификатором FILES. У команды install() есть и другие опции, можно, например, указать, какую из конфигураций сборки (RELEASE, DEBUG и т.д.) следует использовать для установки (если вы думаете, что никому не понадобится устанавливать проект, собранный в отладочной конфигурации, то ошибаетесь, - многие библиотеки, модули расширения, да и программы можно отлаживать только после полной установки). В команде install() можно также указывать разрешения для устанавливаемого файла. Спецификатор SCRIPTS команды install() позволяет выполнять сценарии CMake до и после установки файлов. Это может оказаться полезным в тех случаях, когда для корректной установки необходимо не только скопировать файл, но и выполнить некоторые дополнительные действия – запустить утилиты, настроить файлы конфигурации, добавить записи в реестр (ой, о чем это я?)... |
|||||||
|
|||||||
|
|||||||
|