Building only library with cmake
[libcds.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.8.10)
2 cmake_policy(SET CMP0016 NEW)
3
4 project(cds)
5
6 set(PROJECT_VERSION 2.1.0)
7
8 find_package(Boost COMPONENTS system thread REQUIRED)
9 include_directories(${Boost_INCLUDE_DIRS})
10
11 set(CDS_SHARED_LIBRARY ${PROJECT_NAME})
12 set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
13
14 if(UNIX)
15   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
16 endif()
17
18 include_directories(${CMAKE_SOURCE_DIR})
19
20 enable_testing()
21
22 add_subdirectory(${CMAKE_SOURCE_DIR}/src)
23
24 ### FOR PACKAGING #####################################################################################
25 set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
26 set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
27 set(CPACK_PACKAGE_RELEASE 1)
28
29 set(CPACK_RPM_PACKAGE_SUMMARY "Library of concurrent data structures")
30 set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/install/description.txt")
31 set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_SOURCE_DIR}/install/post_install_script.sh")
32 set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_SOURCE_DIR}/install/post_uninstall_script.sh")
33 #set(CPACK_RPM_CHANGELOG_FILE ${CHANGELOG_INCLUDE})
34 set(CPACK_RPM_PACKAGE_LICENSE GPL)
35 set(CPACK_RPM_PACKAGE_GROUP "System Environment/Base")
36 set(CPACK_RPM_PACKAGE_REQUIRES "boost >= 1.50")
37
38 set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION ${CPACK_PACKAGING_INSTALL_PREFIX})
39 set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION /usr/local)
40 set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_PACKAGE_RELEASE}")
41 set(DEPLOY_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}")
42
43 include(CPack)