summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorStefan Radomski <github@mintwerk.de>2016-05-13 20:41:10 (GMT)
committerStefan Radomski <github@mintwerk.de>2016-05-13 20:41:10 (GMT)
commitf8e0c96fddfdd5f086e1bd973d6b0a19c39c93da (patch)
treeb0f5564f4f4b5cb743d402c656986fbfa586b1a2 /contrib
parent3bf5ef5f882b9ff743deb3d821834e471354128a (diff)
downloaduscxml-f8e0c96fddfdd5f086e1bd973d6b0a19c39c93da.zip
uscxml-f8e0c96fddfdd5f086e1bd973d6b0a19c39c93da.tar.gz
uscxml-f8e0c96fddfdd5f086e1bd973d6b0a19c39c93da.tar.bz2
Make install will work again
Diffstat (limited to 'contrib')
-rw-r--r--contrib/cmake/BuildLibCurl.cmake2
-rw-r--r--contrib/cmake/CPackUSCXML.cmake186
2 files changed, 187 insertions, 1 deletions
diff --git a/contrib/cmake/BuildLibCurl.cmake b/contrib/cmake/BuildLibCurl.cmake
index 4682a65..61e998a 100644
--- a/contrib/cmake/BuildLibCurl.cmake
+++ b/contrib/cmake/BuildLibCurl.cmake
@@ -57,7 +57,7 @@ elseif (WIN32)
PREFIX ${CMAKE_BINARY_DIR}/deps/libcurl
CONFIGURE_COMMAND ""
BUILD_COMMAND cd winbuild && nmake /f Makefile.vc mode=static MACHINE=x86 VC=${VC_VERSION}
- INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory builds/libcurl-vc-x86-release-static-ipv6-sspi-winssl ${CMAKE_BINARY_DIR}/deps/libcurl/
+ INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory builds/libcurl-vc${VC_VERSION}-x86-release-static-ipv6-sspi-winssl ${CMAKE_BINARY_DIR}/deps/libcurl/
)
endif()
endif()
diff --git a/contrib/cmake/CPackUSCXML.cmake b/contrib/cmake/CPackUSCXML.cmake
new file mode 100644
index 0000000..1e61b1b
--- /dev/null
+++ b/contrib/cmake/CPackUSCXML.cmake
@@ -0,0 +1,186 @@
+# see: http://www.vtk.org/Wiki/CMake:CPackConfiguration
+
+##############################################################################
+# gather host-native libraries
+##############################################################################
+
+# these are all the host-native libraries
+file(GLOB_RECURSE PLATFORM_LIBS
+ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/*.a
+ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/*.so
+ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/*.lib
+ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/*.dylib
+ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/*.jnilib
+ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/*.dll
+ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/*.pdb
+# ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/*.exp
+)
+
+# sort host-native libraries into installation components
+foreach(PLATFORM_LIB ${PLATFORM_LIBS})
+# message("PLATFORM_LIB: ${PLATFORM_LIB}")
+ install(FILES ${PLATFORM_LIB} DESTINATION lib COMPONENT library)
+ list (APPEND USCXML_CPACK_COMPONENTS "library")
+endforeach()
+
+############################################################
+# Header Files
+############################################################
+
+file(GLOB_RECURSE USCXML_HEADERS
+ ${PROJECT_SOURCE_DIR}/src/*.h
+ ${PROJECT_SOURCE_DIR}/src/*.hpp)
+list(APPEND CMAKE_BINARY_DIR "${CMAKE_BINARY_DIR}/uscxml/config.h")
+
+INSTALL_HEADERS(HEADERS ${USCXML_HEADERS} COMPONENT headers)
+
+
+########################################
+# VBS wrappers
+########################################
+
+if (WIN32)
+ install(
+ FILES ${PROJECT_SOURCE_DIR}/apps/uscxml-browser.vbs
+ DESTINATION bin
+ COMPONENT tools
+ PERMISSIONS WORLD_EXECUTE OWNER_EXECUTE GROUP_EXECUTE OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ # 755
+ )
+endif()
+
+########################################
+# Include documentation
+########################################
+
+# file(GLOB_RECURSE HTML_DOCS ${PROJECT_SOURCE_DIR}/docs/html/*)
+# foreach(HTML_DOC ${HTML_DOCS})
+# STRING(REGEX REPLACE "${PROJECT_SOURCE_DIR}/" "" HTML_PATH ${HTML_DOC})
+# STRING(REGEX MATCH "(.*)[/\\]" HTML_PATH ${HTML_PATH})
+# install(FILES ${HTML_DOC} DESTINATION share/uscxml/${HTML_PATH} COMPONENT docs)
+# list (APPEND USCXML_CPACK_COMPONENTS "docs")
+# # message(STATUS ${HTML_PATH})
+# endforeach()
+
+
+list (APPEND USCXML_CPACK_COMPONENTS "headers")
+
+if (NOT CMAKE_CROSS_COMPILING)
+ list (APPEND USCXML_CPACK_COMPONENTS "tools")
+endif()
+list (REMOVE_DUPLICATES USCXML_CPACK_COMPONENTS)
+
+# message("USCXML_CPACK_COMPONENTS: ${USCXML_CPACK_COMPONENTS}")
+
+########################################
+# Configure packagers
+########################################
+
+if (UNIX)
+ if (APPLE)
+ set(CPACK_GENERATOR "PackageMaker;TGZ")
+ else()
+ set(CPACK_GENERATOR "DEB;RPM;TGZ")
+ endif()
+ set(CPACK_PACKAGING_INSTALL_PREFIX "/usr/local")
+endif()
+if (WIN32)
+ set(CPACK_GENERATOR "NSIS;ZIP")
+ set(CPACK_PACKAGE_INSTALL_DIRECTORY "uscxml")
+ # pairs of executables and labels for start menu
+ set(CPACK_NSIS_MENU_LINKS
+ " ;uSCXML SDK"
+ "bin\\\\uscxml-browser.vbs;uSCXML Browser")
+
+endif()
+
+set(CPACK_PACKAGE_NAME "uscxml")
+set(CPACK_PACKAGE_VENDOR "Telecooperation Group - TU Darmstadt")
+set(CPACK_PACKAGE_CONTACT "radomski@tk.tu-darmstadt.de")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "USCXML - state-chart interpreter")
+set(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/installer/description.txt")
+set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/installer/license.txt")
+
+set(CPACK_PACKAGE_VERSION "${USCXML_VERSION_MAJOR}.${USCXML_VERSION_MINOR}.${USCXML_VERSION_PATCH}")
+set(CPACK_PACKAGE_VERSION_MAJOR ${USCXML_VERSION_MAJOR})
+set(CPACK_PACKAGE_VERSION_MINOR ${USCXML_VERSION_MINOR})
+set(CPACK_PACKAGE_VERSION_PATCH ${USCXML_VERSION_PATCH})
+
+if (64BIT_HOST AND WIN32)
+ set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CMAKE_SYSTEM_NAME_LC}-${CMAKE_SYSTEM_PROCESSOR}_64-${CPACK_PACKAGE_VERSION}")
+else()
+ set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CMAKE_SYSTEM_NAME_LC}-${CMAKE_SYSTEM_PROCESSOR}-${CPACK_PACKAGE_VERSION}")
+endif()
+
+###
+# Configuration for NSIS installer on Win32
+#
+# pairs of executables and labels for start menu
+#CPACK_PACKAGE_EXECUTABLES
+set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "uscxml.telecooperation.tu-darmstadt")
+if (WIN32)
+ set(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}\\\\installer\\\\nsis\\\\uscxml-logo.bmp")
+else()
+ set(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/installer/nsis/uscxml-logo.bmp")
+endif()
+
+###
+# Configuration for PackageMaker on MacOSX
+#
+set(CPACK_RESOURCE_FILE_README "${PROJECT_SOURCE_DIR}/installer/packageMaker/readme.txt")
+set(CPACK_RESOURCE_FILE_WELCOME "${PROJECT_SOURCE_DIR}/installer/packageMaker/welcome.txt")
+
+###
+# Configuration for debian packages
+#
+set(CPACK_DEBIAN_PACKAGE_NAME "uscxml")
+# set(CPACK_DEBIAN_PACKAGE_DEPENDS "libcurl4-openssl, libxml2")
+# set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "swig2.0, protobuf-compiler")
+
+###
+# Configuration for RPM packages
+#
+set(CPACK_RPM_PACKAGE_NAME "uscxml")
+set(CPACK_RPM_PACKAGE_LICENSE "Simplified BSD")
+
+
+########################################
+# Describe layout of package
+########################################
+
+set(CPACK_COMPONENTS_ALL
+ ${USCXML_CPACK_COMPONENTS}
+)
+
+###
+# Description of components
+#
+
+list(FIND USCXML_CPACK_COMPONENTS "tools" FOUND_ITEM)
+if (FOUND_ITEM GREATER -1)
+ set(CPACK_COMPONENT_TOOLS_DISPLAY_NAME "Command-line Tools")
+ set(CPACK_COMPONENT_TOOLS_DESCRIPTION "Command-line tools to debug and monitor a uSCXML network.")
+endif()
+
+
+list(FIND USCXML_CPACK_COMPONENTS "docs" FOUND_ITEM)
+if (FOUND_ITEM GREATER -1)
+ set(CPACK_COMPONENT_DOCS_DISPLAY_NAME "Documentation")
+ set(CPACK_COMPONENT_DOCS_DESCRIPTION "Auto-generated documentation.")
+endif()
+
+
+list(FIND USCXML_CPACK_COMPONENTS "library" FOUND_ITEM)
+if (FOUND_ITEM GREATER -1)
+ # define header description here as well
+ set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ headers ")
+ set(CPACK_COMPONENT_HEADERS_DESCRIPTION "C++ header files for uSCXML and all its components.")
+ set(CPACK_COMPONENT_HEADERS_GROUP "Development")
+
+ set(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "C++ uSCXML libraries")
+ set(CPACK_COMPONENT_LIBRARY_DESCRIPTION "Static libraries of the uSCXML components for C++ development.")
+ set(CPACK_COMPONENT_LIBRARY_GROUP "Development")
+ set(CPACK_COMPONENT_LIBRARY_DEPENDS headers)
+ set(CPACK_COMPONENT_LIBRARY_DEPENDS libraryPrebuilt)
+endif()
+
+set(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION "Libraries and Headers for uSCXML.")