Компонент CPack NSIS не указан

Вот следующий довольно тривиальный файл CMake:

cmake_minimum_required(VERSION 3.7)

add_library(libdice SHARED lib.cpp)

set_target_properties(libdice PROPERTIES
PREFIX ""OUTPUT_NAME "Dice"PUBLIC_HEADER "lib.h")

install(TARGETS libdice
RUNTIME DESTINATION "lib"LIBRARY DESTINATION "lib"PUBLIC_HEADER DESTINATION "include"COMPONENT sdk
)

set(CPACK_PACKAGE_NAME "Dice SDK")
set(CPACK_GENERATOR "NSIS")

include(CPack)

cpack_add_component(sdk)

С этим lib.h:

#pragma once

int sides_of_a_dice();

А также lib.cpp:

int sides_of_a_dice()
{
return 6;
}

Так что если я nmake package для этого на Windows это почему-то ставит Dice.dll в Unspecified компонент, даже думал, что компонент четко указан. Еще страннее, публичные заголовки (lib.h) правильно зайти в sdk составная часть.

CPack: Create package using NSIS
CPack: Install projects
CPack: - Run preinstall target for: Project
CPack: - Install project: Project
CPack: -   Install component: Unspecified   <- Why??!
CPack: -   Install component: sdk
CPack: Create package

Что здесь происходит?

0

Решение

Согласно документации для устанавливать команда, каждая спецификация типа файла (например, RUNTIME, БИБЛИОТЕКА или же PUBLIC_HEADER) начинает свой пункт установки, к которому применяются все остальные параметры.

То есть вариант COMPONENT sdk применены только к типу файла PUBLIC_HEADER,

Другие файлы (RUNTIME, LIBRARY) есть опция компонента неопределенные.

1

Другие решения

Других решений пока нет …