मैं के साथ .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)
क्या स्टीव कहना चाहता है: आप न्यूनतम बदले कम से कम 2.8.11 को CMake संस्करण की आवश्यकता है और कम से कम करने के लिए सुनिश्चित करें यह संस्करण। – usr1234567