1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
# CMake script for Bio++ Core
# Author: Sylvain Gaillard and Julien Dutheil
# Created: 17/09/2010
# Global parameters
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(bpp-core CXX)
IF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
FORCE)
ENDIF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_CXX_FLAGS "-Wall -Weffc++ -Wshadow")
IF(NOT NO_VIRTUAL_COV)
SET(NO_VIRTUAL_COV FALSE CACHE BOOL
"Disable covariant return type with virtual inheritance, for compilers that do not support it."
FORCE)
ENDIF(NOT NO_VIRTUAL_COV)
IF(NO_VIRTUAL_COV)
MESSAGE("-- Covariant return with virtual inheritance disabled.")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNO_VIRTUAL_COV=1")
ENDIF(NO_VIRTUAL_COV)
# Libtool-like version number
# CURRENT:REVISION:AGE => file.so.(C-A).A.R
# current: The most recent interface number that this library implements.
# revision: The implementation number of the current interface.
# age: The difference between the newest and oldest interfaces that this
# library implements.
# In other words, the library implements all the interface numbers in the
# range from number current - age to current.
SET(BPPCORE_VERSION_CURRENT "2")
SET(BPPCORE_VERSION_REVISION "2")
SET(BPPCORE_VERSION_AGE "0")
# Effective version number computation
MATH(EXPR BPPCORE_VERSION_MAJOR "${BPPCORE_VERSION_CURRENT} - ${BPPCORE_VERSION_AGE}")
SET(BPPCORE_VERSION_MINOR ${BPPCORE_VERSION_AGE})
SET(BPPCORE_VERSION_PATCH ${BPPCORE_VERSION_REVISION})
SET(BPPCORE_VERSION "${BPPCORE_VERSION_MAJOR}.${BPPCORE_VERSION_MINOR}.${BPPCORE_VERSION_PATCH}")
# Subdirectories
ADD_SUBDIRECTORY(src)
# Doxygen
FIND_PACKAGE(Doxygen)
IF (DOXYGEN_FOUND)
ADD_CUSTOM_TARGET (apidoc ${DOXYGEN_EXECUTABLE} Doxyfile)
ADD_CUSTOM_TARGET (apidoc-stable cp Doxyfile Doxyfile-stable
COMMAND echo "HTML_HEADER=header.html" >> Doxyfile-stable
COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile-stable )
ENDIF (DOXYGEN_FOUND)
# Packager
SET(CPACK_PACKAGE_NAME "libbpp-core")
SET(CPACK_PACKAGE_VENDOR "Bio++ Development Team")
SET(CPACK_PACKAGE_VERSION "2.0.3")
SET(CPACK_PACKAGE_VERSION_MAJOR "2")
SET(CPACK_PACKAGE_VERSION_MINOR "0")
SET(CPACK_PACKAGE_VERSION_PATCH "3")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The Bio++ Core library")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING.txt")
SET(CPACK_RESOURCE_FILE_AUTHORS "${CMAKE_SOURCE_DIR}/AUTHORS.txt")
SET(CPACK_RESOURCE_FILE_INSTALL "${CMAKE_SOURCE_DIR}/INSTALL.txt")
SET(CPACK_SOURCE_GENERATOR "TGZ")
SET(CPACK_SOURCE_IGNORE_FILES
"CMakeFiles"
"Makefile"
"_CPack_Packages"
"CMakeCache.txt"
".*\\\\.cmake"
".*\\\\.git"
".*\\\\.gz"
".*\\\\.deb"
".*\\\\.rpm"
".*\\\\.dmg"
".*\\\\.sh"
".*\\\\..*\\\\.swp"
"src/\\\\..*"
"src/libbpp*"
"debian/tmp"
"debian/libbpp.*/"
"debian/libbpp.*\\\\.so.*"
"debian/libbpp.*\\\\.a"
"debian/libbpp.*\\\\.substvars"
"debian/libbpp.*\\\\.debhelper"
"debian/debhelper\\\\.log"
"html"
"Core.tag"
"Testing"
"build-stamp"
"genIncludes.py"
"install_manifest.txt"
"DartConfiguration.tcl"
${CPACK_SOURCE_IGNORE_FILES}
)
IF (MACOS)
SET(CPACK_GENERATOR "Bundle")
ENDIF()
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
SET(CPACK_DEBSOURCE_PACKAGE_FILE_NAME "lib${CMAKE_PROJECT_NAME}_${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.orig")
INCLUDE(CPack)
#This adds the 'dist' target
ADD_CUSTOM_TARGET(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
IF (UNIX)
#This creates deb packages:
ADD_CUSTOM_TARGET(origdist COMMAND cp ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz ../${CPACK_DEBSOURCE_PACKAGE_FILE_NAME}.tar.gz)
ADD_DEPENDENCIES(origdist dist)
ADD_CUSTOM_TARGET(deb dpkg-buildpackage -uc -us -i${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz)
ADD_DEPENDENCIES(deb origdist)
#This creates rpm packages:
ADD_CUSTOM_TARGET(rpm rpmbuild -ta ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz)
ADD_DEPENDENCIES(rpm dist)
ENDIF()
SET(CTEST_UPDATE_TYPE git)
ENABLE_TESTING()
INCLUDE(CTest)
IF (BUILD_TESTING)
ADD_SUBDIRECTORY(test)
ENDIF(BUILD_TESTING)
|