Building only library with cmake
authorEugeny Kalishenko <ydginster@gmail.com>
Sat, 4 Apr 2015 23:03:40 +0000 (02:03 +0300)
committerkel <ydginster@gmail.com>
Sun, 19 Apr 2015 10:54:57 +0000 (13:54 +0300)
CMakeLists.txt [new file with mode: 0644]
install/description.txt [new file with mode: 0644]
install/post_install_script.sh [new file with mode: 0755]
install/post_uninstall_script.sh [new file with mode: 0755]
src/CMakeLists.txt [new file with mode: 0644]

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644 (file)
index 0000000..aad0857
--- /dev/null
@@ -0,0 +1,43 @@
+cmake_minimum_required(VERSION 2.8.10)
+cmake_policy(SET CMP0016 NEW)
+
+project(cds)
+
+set(PROJECT_VERSION 2.1.0)
+
+find_package(Boost COMPONENTS system thread REQUIRED)
+include_directories(${Boost_INCLUDE_DIRS})
+
+set(CDS_SHARED_LIBRARY ${PROJECT_NAME})
+set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+
+if(UNIX)
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+endif()
+
+include_directories(${CMAKE_SOURCE_DIR})
+
+enable_testing()
+
+add_subdirectory(${CMAKE_SOURCE_DIR}/src)
+
+### FOR PACKAGING #####################################################################################
+set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
+set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
+set(CPACK_PACKAGE_RELEASE 1)
+
+set(CPACK_RPM_PACKAGE_SUMMARY "Library of concurrent data structures")
+set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/install/description.txt")
+set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_SOURCE_DIR}/install/post_install_script.sh")
+set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_SOURCE_DIR}/install/post_uninstall_script.sh")
+#set(CPACK_RPM_CHANGELOG_FILE ${CHANGELOG_INCLUDE})
+set(CPACK_RPM_PACKAGE_LICENSE GPL)
+set(CPACK_RPM_PACKAGE_GROUP "System Environment/Base")
+set(CPACK_RPM_PACKAGE_REQUIRES "boost >= 1.50")
+
+set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION ${CPACK_PACKAGING_INSTALL_PREFIX})
+set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION /usr/local)
+set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_PACKAGE_RELEASE}")
+set(DEPLOY_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}")
+
+include(CPack)
diff --git a/install/description.txt b/install/description.txt
new file mode 100644 (file)
index 0000000..14beb95
--- /dev/null
@@ -0,0 +1 @@
+ПК обработки измерительной информации НАП
\ No newline at end of file
diff --git a/install/post_install_script.sh b/install/post_install_script.sh
new file mode 100755 (executable)
index 0000000..0331eca
--- /dev/null
@@ -0,0 +1 @@
+/usr/sbin/ldconfig
\ No newline at end of file
diff --git a/install/post_uninstall_script.sh b/install/post_uninstall_script.sh
new file mode 100755 (executable)
index 0000000..0331eca
--- /dev/null
@@ -0,0 +1 @@
+/usr/sbin/ldconfig
\ No newline at end of file
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644 (file)
index 0000000..418b8c8
--- /dev/null
@@ -0,0 +1,15 @@
+set(SOURCES hp_gc.cpp\r
+            init.cpp\r
+            dhp_gc.cpp\r
+            urcu_gp.cpp\r
+            urcu_sh.cpp\r
+            michael_heap.cpp\r
+            topology_hpux.cpp\r
+            topology_linux.cpp\r
+            topology_osx.cpp\r
+            dllmain.cpp)\r
+\r
+add_library(${CDS_SHARED_LIBRARY} SHARED ${SOURCES})\r
+target_link_libraries(${CDS_SHARED_LIBRARY} PRIVATE ${Boost_LIBRARIES})\r
+\r
+install(TARGETS ${CDS_SHARED_LIBRARY} DESTINATION lib)
\ No newline at end of file