मैं एक सी ++ आधारित प्रणाली के लिए एक क्रॉस-प्लेटफार्म इंस्टॉलर बनाना चाहता हूं जिसे मैं बना रहा हूं।विंडोज पर सीएमके + सीपीएक्स + एनएसआईएस के साथ इंस्टॉलर कैसे बनाएं?
मैं सबकुछ बनाने के लिए सीएमके का उपयोग करता हूं, और अगर मैं इंस्टॉलर बनाने के लिए सीपीएक का उपयोग कर सकता तो यह बहुत अच्छा होगा। मेरे पास पहले से ही ओएसएक्स पर काम कर रहा है, लेकिन मैं इसे विंडोज पर काम नहीं कर सकता। चीजों को आसान बनाने के लिए, मैंने एनएसआईएस इंस्टॉलर सॉफ्टवेयर के साथ काम करने के लिए http://www.cmake.org/Wiki/CMake:Packaging_With_CPack पर उदाहरण प्राप्त करने का प्रयास किया। मुझे कॉन्फ़िगर करने के बाद कहीं भी एनएसआईएस इंस्टॉलर नहीं मिल रहा है (वीएस 2010 विन 64 जनरेटर के साथ)।
शायद मैं उलझन में हूं, लेकिन मैंने सोचा कि विजुअल स्टूडियो की आवश्यकता के बिना केवल स्रोत, सीएमके, सीपीएक्स और एनएसआईएस के साथ इंस्टॉलेशन पैकेज बनाना संभव होगा। क्या यह संभव है?
एक पूर्ण ट्यूटोरियल के लिए एक लिंक (http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack पर एक एनएसआईएस काम करने के लिए प्रासंगिक जानकारी पर छोड़ देता है और जेनरेटर या कंपाइलर्स का जिक्र नहीं करता है) बहुत उपयोगी होगा, या मूलभूत स्पष्टीकरण कि मैं इस पौराणिक कथाओं को कैसे प्राप्त कर सकता हूं जेनरेट एनएसआईएस इंस्टॉलर बहुत अच्छा होगा।
cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
project(StPMS)
add_library(mylib mylib.cpp)
add_executable(mylibapp mylibapp.cpp)
target_link_libraries(mylibapp mylib)
install(TARGETS mylib
ARCHIVE
DESTINATION lib
COMPONENT libraries)
install(TARGETS mylibapp
RUNTIME
DESTINATION bin
COMPONENT applications)
install(FILES mylib.h
DESTINATION include
COMPONENT headers)
set(CPACK_GENERATOR NSIS)
set(CPACK_PACKAGE_NAME "MyLib")
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")
SET(CPACK_NSIS_MODIFY_PATH ON)
INCLUDE(CPack)
बिल्कुल सही। वीएस का उपयोग करने के बिंदु पर पहुंचने के बाद मुझे क्या करना चाहिए इसके बारे में कोई सुसंगत दस्तावेज नहीं मिला। मैं वास्तव में सहायता के लिए आभारी हूं! – sklum