cmake_minimum_required(VERSION 2.6) set(PROJECT_NAME "Zephyr") set(PROJECT_VERSION_MAJOR "2") set(PROJECT_VERSION_MINOR "0") set(PROJECT_VERSION_PATCH "3") set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") # ZEPHYR_PROGRAM_VERSION is used in GUI set(ZEPHYR_PROGRAM_VERSION ${PROJECT_VERSION}) project(${PROJECT_NAME}) # Override the install directory, unless the user has set it manually if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) if(WIN32 AND NOT CYGWIN) set(CMAKE_INSTALL_PREFIX "C:/Test${PROJECT_NAME}" CACHE PATH "OpenMM Zephyr install prefix" FORCE) else(WIN32 AND NOT CYGWIN) set(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}" CACHE PATH "OpenMM Zephyr install prefix" FORCE) endif(WIN32 AND NOT CYGWIN) endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) # Use customized NSIS.template.in to avoid space characters in install name SET( CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CmakeModules ${CMAKE_MODULE_PATH} ) # CPACK configuration for installer # set(CPACK_PACKAGE_NAME ${PROJECT_NAME}) set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenMM Zephyr is a GUI for GPU accelerated molecular dynamics simulations") set(CPACK_PACKAGE_VENDOR "Stanford Simbios Center for Biomedical Computation") set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING.txt") 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_RESOURCE_FILE_BACKGROUND "${CMAKE_CURRENT_SOURCE_DIR}/images/background.jpg") # Try to avoid installing in a directory containing spaces; # CPACK_INSTALL_PREFIX ignored? set(CPACK_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) # Don't install docs inside Mac app bundle because they are hard to find there if(NOT APPLE) install(DIRECTORY doc DESTINATION "." FILES_MATCHING PATTERN "ZephyrUserManual.pdf" PATTERN ".svn" EXCLUDE PATTERN "figures" EXCLUDE ) endif(NOT APPLE) install(DIRECTORY bin/gmxlib DESTINATION "bin" PATTERN ".svn" EXCLUDE ) # Install gromacs binaries specific to each platform string(COMPARE EQUAL "${CMAKE_SYSTEM_NAME}" "Linux" LINUX) set(BIN_INSTALL_DIR unknown) if(WIN32) set(BIN_INSTALL_DIR win32) endif(WIN32) if(APPLE) set(BIN_INSTALL_DIR mac) endif(APPLE) if(LINUX) if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(BIN_INSTALL_DIR linux64) else(CMAKE_SIZEOF_VOID_P EQUAL 8) set(BIN_INSTALL_DIR linux) endif(CMAKE_SIZEOF_VOID_P EQUAL 8) endif(LINUX) install(DIRECTORY "bin/${BIN_INSTALL_DIR}" DESTINATION "bin" FILE_PERMISSIONS OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE OWNER_READ GROUP_READ WORLD_READ PATTERN ".svn" EXCLUDE ) install(FILES COPYING.txt DESTINATION ".") install(FILES bin/vmdOpenCommandSocket.tcl DESTINATION "bin") install(DIRECTORY testData DESTINATION "." FILES_MATCHING PATTERN "*.pdb" PATTERN "*.mdp" PATTERN ".svn" EXCLUDE ) include(CmakeModules/starpack.cmake) # Configure installer for each platform # Windows uses NSIS installer if(WIN32 AND NOT CYGWIN) include(CmakeModules/nsis.cmake) endif(WIN32 AND NOT CYGWIN) # Mac uses application bundle if(APPLE) include(CmakeModules/macbundle.cmake) endif(APPLE) # Linux uses self extracting shell archive if (LINUX) include(CmakeModules/stgzinstaller.cmake) endif (LINUX) include(CPack)