diff options
author | Stefan Radomski <github@mintwerk.de> | 2016-05-13 20:41:10 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2016-05-13 20:41:10 (GMT) |
commit | f8e0c96fddfdd5f086e1bd973d6b0a19c39c93da (patch) | |
tree | b0f5564f4f4b5cb743d402c656986fbfa586b1a2 /contrib | |
parent | 3bf5ef5f882b9ff743deb3d821834e471354128a (diff) | |
download | uscxml-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.cmake | 2 | ||||
-rw-r--r-- | contrib/cmake/CPackUSCXML.cmake | 186 |
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.") |