diff --git a/CMakeLists.txt b/CMakeLists.txt index 632ffd0..11a78bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,5 +63,53 @@ target_link_libraries(model pack writer) # Do this for each new writer #target_link_libraries(pyckcpp ${pyckLibs}) +set(CPACK_PACKAGE_VERSION "0.0.1") +set(CPACK_PACKAGE_VERSION_MAJOR "0") +set(CPACK_PACKAGE_VERSION_MINOR "0") +set(CPACK_PACKAGE_VERSION_PATCH "1") +set(CPACK_PACKAGE_VENDOR "MIT Geonumerics") + +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt") + +option(USE_WIX_TOOLSET "USe WIX" true) + +if (WIN32) + if (USE_WIX_TOOLSET) + set(CPACK_GENERATOR "WIX") # this need WiX Tooset installed and a path to candle.exe + set(CPACK_WIX_TEMPLATE "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/pyck.template.in") + SET(CPACK_WIX_PRODUCT_GUID 7EC919B7-6484-49BF-8803-614CEBB4154A) + SET(CPACK_WIX_UPGRADE_GUID 7EC919B7-6484-49BF-8803-614CEBB4154A) + # SET(CPACK_WIX_PRODUCT_ICON ../rsc/app.ico) + SET(CPACK_WIX_UI_BANNER "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/banner_493x58.bmp") + SET(CPACK_WIX_UI_DIALOG "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/dialog_493x312.bmp") + else () + set(CPACK_GENERATOR "NSIS") # this needs NSIS installed, and available + endif () + set(CPACK_SOURCE_GENERATOR "ZIP") + set(INSTALL_DEST .) +elseif ( ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" ) + set(CPACK_GENERATOR "PackageMake") +else () + set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/usr/local") + set(INSTALL_DEST local/pyck) + install(TARGETS solver DESTINATION ${INSTALL_DEST}) + install(FILES ${CMAKE_SOURCE_DIR}/install/unix/set_pyck_env.sh DESTINATION ${INSTALL_DEST}) + + option(BUILD_RPM "Builds an RPM instead of a DEB" OFF) + if(BUILD_RPM) + set(CPACK_RPM_PACKAGE_AUTOREQ OFF) # should probably use CPACK_RPM_PACKAGE_CONFLICTS instead + set(CPACK_GENERATOR "RPM") + else() + set(CPACK_GENERATOR "DEB") + set(CPACK_SOURCE_GENERATOR "TGZ") + set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Bruce Jones") #required + endif() +endif () + +# INSTALL(TARGETS ${SWIG_MODULE_swig_test_REAL_NAME} DESTINATION test) +install(FILES ${CMAKE_BINARY_DIR}/swig/pyck.py DESTINATION ${INSTALL_DEST}) +install(FILES ${ZLIB_LIBRARY_RELEASE} DESTINATION ${INSTALL_DEST}) add_subdirectory(swig) + +include(CPack) diff --git a/install/unix/set_pyck_env.sh b/install/unix/set_pyck_env.sh new file mode 100644 index 0000000..7971b0a --- /dev/null +++ b/install/unix/set_pyck_env.sh @@ -0,0 +1,4 @@ +#! /bin/bash +InstallDir=/usr/local/pyck/ +export PYTHONPATH=$PYTHONPATH:$InstallDir +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$InstallDir \ No newline at end of file diff --git a/install/windows/banner_493x58.bmp b/install/windows/banner_493x58.bmp new file mode 100644 index 0000000..c8480b1 Binary files /dev/null and b/install/windows/banner_493x58.bmp differ diff --git a/install/windows/dialog_493x312.bmp b/install/windows/dialog_493x312.bmp new file mode 100644 index 0000000..dfcc9b1 Binary files /dev/null and b/install/windows/dialog_493x312.bmp differ diff --git a/install/windows/pyck.template.in b/install/windows/pyck.template.in new file mode 100644 index 0000000..41462e8 --- /dev/null +++ b/install/windows/pyck.template.in @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + ProductIcon.ico + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/license.txt b/license.txt new file mode 100644 index 0000000..177006a --- /dev/null +++ b/license.txt @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2016 Bruce Jones +Copyright (c) 2016 MIT Geonumerics + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/swig/CMakeLists.txt b/swig/CMakeLists.txt index 2a8fdc7..993e4a1 100644 --- a/swig/CMakeLists.txt +++ b/swig/CMakeLists.txt @@ -12,4 +12,6 @@ SET_SOURCE_FILES_PROPERTIES(pyck.i PROPERTIES CPLUSPLUS ON) SET_SOURCE_FILES_PROPERTIES(pyck.i PROPERTIES SWIG_FLAGS "-includeall") SWIG_ADD_MODULE(pyck python pyck.i) SWIG_LINK_LIBRARIES(pyck ${PYTHON_LIBRARIES}) -SWIG_LINK_LIBRARIES(pyck ${pyckLibs}) \ No newline at end of file +SWIG_LINK_LIBRARIES(pyck ${pyckLibs}) + +install(TARGETS _pyck DESTINATION ${INSTALL_DEST}) \ No newline at end of file