From c1b9062fa4ce5a9afa3d618fe03693b4c7e415ab Mon Sep 17 00:00:00 2001 From: Christophe Prud'homme Date: Tue, 9 Feb 2021 00:17:27 +0000 Subject: [PATCH] add package using cpack and install properly --- cmake/CMakeLists.txt | 38 +++++++++++++++++++++++++++++++++++++- src/ifcwrap/CMakeLists.txt | 3 ++- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index ce2b7914a7..7da8953c6f 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -21,7 +21,7 @@ cmake_minimum_required(VERSION 3.1.3) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) # not necessary, but encouraged -project (IfcOpenShell) +project (IfcOpenShell VERSION 0.6.0) foreach(max_year RANGE 2014 2030) set(max_sdk "$ENV{ADSK_3DSMAX_SDK_${max_year}}") @@ -717,3 +717,39 @@ INSTALL(FILES ${SERIALIZERS_S_FILES} DESTINATION ${INCLUDEDIR}/serializers/schema_dependent ) endif() + + +list(APPEND CPACK_SOURCE_IGNORE_FILES + .git + .gitignore + ) + +set(CPACK_PACKAGE_NAME "${PROJECT_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}${EXTRA_VERSION}") +set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION}${EXTRA_VERSION}") +SET(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}${EXTRA_VERSION}-${CMAKE_SYSTEM_NAME}") +set(CPACK_PACKAGE_DIRECTORY "${PROJECT_BINARY_DIR}/assets") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "IfcOpenShell") +set(CPACK_PACKAGE_DESCRIPTION "IfcOpenShell.") +set(CPACK_PACKAGE_VENDOR "Cemosis") +set(CPACK_PACKAGE_CONTACT "Christophe Prud'homme ") +set(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}") +set(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}") +set(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}") + + +set(CPACK_GENERATOR "TGZ;DEB") +set(CPACK_SOURCE_GENERATOR "TGZ") + + +set(CPACK_DEBIAN_PACKAGE_NAME "${PROJECT_NAME}") +set(CPACK_DEBIAN_PACKAGE_MAINTAINER "${CPACK_PACKAGE_CONTACT}") +set(CPACK_DEBIAN_PACKAGE_DEPENDS "libxml2, liboce-foundation11, liboce-modeling11, liboce-ocaf11, liboce-visualization11, liboce-ocaf-lite11") +set(CPACK_DEBIAN_PACKAGE_DESCRIPTION_SUMMARY "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}") +set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_PACKAGE_DESCRIPTION}") +set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") +set(CPACK_DEBIAN_PACKAGE_SECTION "science") +set(CPACK_DEBIAN_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}${EXTRA_VERSION}") +set(CPACK_DEBIAN_ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}") +#set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_SOURCE_DIR}/cmake/debian/postinst") + +include(CPack) diff --git a/src/ifcwrap/CMakeLists.txt b/src/ifcwrap/CMakeLists.txt index 0e8a695656..b187c619be 100644 --- a/src/ifcwrap/CMakeLists.txt +++ b/src/ifcwrap/CMakeLists.txt @@ -79,7 +79,8 @@ IF(PYTHONINTERP_FOUND AND NOT "${PYTHON_EXECUTABLE}" STREQUAL "") OUTPUT_VARIABLE python_package_dir ) ENDIF() - + set(CMAKE_INSTALL_LIBDIR ${CMAKE_INSTALL_PREFIX}/install/lib ) + set(python_package_dir ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages/) IF("${python_package_dir}" STREQUAL "") MESSAGE(WARNING "Unable to locate Python site-package directory, unable to install the Python wrapper") ELSE()