2013-08-26 11 views
5

मैं के साथ .msi इंस्टॉलर उत्पन्न करने की कोशिश कर रहा हूं। मैं और .lib फ़ाइलों को CMakeLists.txt में कुछ कॉन्फ़िगरेशन के साथ उत्पन्न करने में सक्षम हूं। .msi इंस्टॉलर उत्पन्न करने के लिए कृपया CMakeLists.txt उदाहरण प्रदान करें। आदेश कमांड में उपयोग करने के लिए मुझे क्या आदेश हैं?cmake के साथ .msi इंस्टॉलर कैसे उत्पन्न करें?

आदेशों कि मैं अब तक का उपयोग कर रहा है:

> cmake -G"Visual Studio 10" -H"Root CMakeLists.txt path" -B"path to generate the sln" 
> cmake --build "path of the sln" --config Release 
> cpack -C Release 
output: CPack Error: CPack generator not specified 

मैं निम्नलिखित विन्यास इस्तेमाल किया .dll और .lib फ़ाइलें उत्पन्न करने के लिए।

यहाँ मेरी CMakeLists.txt है:

CMAKE_MINIMUM_REQUIRED(VERSION 2.8) 
PROJECT(mydll) 
INCLUDE_DIRECTORIES(common/include) 
SET(my_lib_src dllmain.cpp mydll.cpp) 
SET_SOURCE_FILES_PROPERTIES(${my_lib_src} PROPERTIES LANGUAGE C) 
ADD_LIBRARY(mydll SHARED ${my_lib_src}) 
SET_TARGET_PROPERTIES(mydll PROPERTIES 
LINKER_LANGUAGE C                  RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/common/bin 
RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_SOURCE_DIR}/common/bin 
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/common/lib 
ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_SOURCE_DIR}/common/lib) 
install(TARGETS mydll 
    ARCHIVE 
    DESTINATION lib 
    COMPONENT libraries) 
install(FILES mydll.h 
    DESTINATION include 
    COMPONENT headers) 
set(CPACK_GENERATOR WIX) 
set(CPACK_PACKAGE_NAME "mydll") 
set(CPACK_PACKAGE_VENDOR "CMake.org") 
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MyLib - CPack Component Installation Example") 
set(CPACK_PACKAGE_VERSION "1.0.0") 
set(CPACK_PACKAGE_VERSION_MAJOR "1") 
set(CPACK_PACKAGE_VERSION_MINOR "0") 
set(CPACK_PACKAGE_VERSION_PATCH "0") 
set(CPACK_PACKAGE_INSTALL_DIRECTORY "CPack Component Example") 

INCLUDE(CPack) 

उत्तर

5

जब आप cpack

3) cpack -C Release
output: CPack Error: CPack generator not specified

की तो बजाय चलाने जनरेटर स्थापित करने की आवश्यकता आप निर्दिष्ट करना चाहिए

cpack -G WIX -C Release 
0

ऐसा नहीं है कि प्रतीत होता है एमएसआई सीपीएक्स जेनरेटर की सूची में नहीं है, हालांकि सीपीएक्स के लिए पैच हैं जो टी को सक्षम करते हैं उसकी कार्यक्षमता।

देखें: http://annealingtechnologies.blogspot.com/2010/02/wix-and-cpack-integration.html

2

WiX क्षमता CMake में जोड़ा गया 2.8.11

+0

क्या स्टीव कहना चाहता है: आप न्यूनतम बदले कम से कम 2.8.11 को CMake संस्करण की आवश्यकता है और कम से कम करने के लिए सुनिश्चित करें यह संस्करण। – usr1234567

संबंधित मुद्दे