benchmark silo added
[c11concurrency-benchmarks.git] / silo / third-party / lz4 / cmake / pack / CMakeLists.txt
1 cmake_minimum_required (VERSION 2.8)\r
2 PROJECT(LZ4)\r
3 \r
4 ############################## CPACK\r
5 set(SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../)\r
6 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "LZ4 Packer")\r
7 set(CPACK_PACKAGE_VERSION_MAJOR 0)\r
8 set(CPACK_PACKAGE_VERSION_MINOR 0)\r
9 set(CPACK_PACKAGE_VERSION_PATCH r89)\r
10 #set(CPACK_RESOURCE_FILE_LICENSE  ${CMAKE_CURRENT_BINARY_DIR}/COPYING_LGPL)\r
11 ##############################\r
12 FIND_PACKAGE(Subversion)\r
13 IF(SUBVERSION_FOUND)\r
14         Subversion_WC_INFO(${SRC_DIR}  revision)\r
15         set(revision_MY_WC_STATUS "LZ4 has revision ${revision_WC_REVISION} at ${revision_WC_LAST_CHANGED_DATE}")\r
16         message(STATUS ${revision_MY_WC_STATUS})\r
17         if(NOT ${revision_WC_REVISION})\r
18         else(NOT ${revision_WC_REVISION})\r
19                 set(CPACK_PACKAGE_VERSION_PATCH "r${revision_WC_REVISION}")\r
20         endif(NOT ${revision_WC_REVISION})\r
21 ELSE(SUBVERSION_FOUND)\r
22         message(WARNING "NO Subversion FOUND!!!")\r
23 ENDIF(SUBVERSION_FOUND)\r
24 set(VERSION_STRING      " \"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}\" ")\r
25 ##############################\r
26 INCLUDE (CheckTypeSize)\r
27 check_type_size("void *" SIZEOF_VOID_P)\r
28 IF( ${SIZEOF_VOID_P} STREQUAL  "8" )\r
29     set (CMAKE_SYSTEM_PROCESSOR "64bit")\r
30     MESSAGE( STATUS "64 bit architecture detected size of void * is " ${SIZEOF_VOID_P})\r
31 ENDIF()\r
32 ###############################     warnings\r
33 \r
34 ADD_DEFINITIONS("-Wall")\r
35 ADD_DEFINITIONS("-W")\r
36 ADD_DEFINITIONS("-Wundef")\r
37 ADD_DEFINITIONS("-Wcast-align")\r
38 ADD_DEFINITIONS("-Wno-implicit-function-declaration")\r
39 ADD_DEFINITIONS("-O3 -march=native -std=c99")\r
40 INCLUDE_DIRECTORIES (${SRC_DIR})\r
41 \r
42 \r
43 \r
44 set(LZ4_SRCS_LIB ${SRC_DIR}lz4.c ${SRC_DIR}lz4hc.c ${SRC_DIR}lz4.h ${SRC_DIR}lz4_format_description.txt)\r
45 set(LZ4_SRCS ${LZ4_SRCS_LIB} ${SRC_DIR}xxhash.c ${SRC_DIR}bench.c ${SRC_DIR}lz4c.c )\r
46 set(FUZZER_SRCS ${SRC_DIR}lz4.c ${SRC_DIR}lz4hc.c ${SRC_DIR}lz4.h ${SRC_DIR}fuzzer.c)\r
47 \r
48 # EXECUTABLES FOR 32 Bit and 64 versions\r
49 if(CMAKE_SYSTEM_PROCESSOR STREQUAL "64bit")\r
50         add_executable(lz4c32 ${LZ4_SRCS})\r
51         install(TARGETS lz4c32 RUNTIME DESTINATION "./")\r
52 SET_TARGET_PROPERTIES(lz4c32 PROPERTIES\r
53         COMPILE_FLAGS PROPERTIES COMPILE_FLAGS "-m32 -Os" LINK_FLAGS "-m32")\r
54 endif()\r
55 \r
56 add_executable(lz4c ${LZ4_SRCS})\r
57 install(TARGETS lz4c RUNTIME DESTINATION "./")\r
58 \r
59 add_executable(fuzzer ${FUZZER_SRCS})\r
60 install(TARGETS fuzzer RUNTIME DESTINATION "./")\r
61 \r
62 #target_link_libraries(lz4 ${LZ4_SRCS_LIB})\r
63 ####################### CPACK PACKAGING ###################\r
64 install(FILES ${SRC_DIR}lz4_format_description.txt DESTINATION "./")\r
65 \r
66 set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME})\r
67 set(CPACK_RESOURCE_FILE_LICENSE  "${CMAKE_CURRENT_LIST_DIR}/release_COPYING.txt")\r
68 set(CPACK_PACKAGE_VENDOR "Yann Collet")\r
69 set(CPACK_WWW_SITE "http://fastcompression.blogspot.com/p/lz4.html")\r
70 set(CPACK_NSIS_URL_INFO_ABOUT "${CPACK_WWW_SITE}")\r
71 set(CPACK_NSIS_HELP_LINK "${CPACK_WWW_SITE}")\r
72 \r
73 set(CPACK_NSIS_DISPLAY_NAME ${CPACK_PACKAGE_NAME})\r
74 set(CPACK_NSIS_COMPRESSOR "/SOLID lzma \r\n SetCompressorDictSize 32")\r
75 \r
76 set(CPACK_NSIS_MENU_LINKS\r
77         "${CPACK_WWW_SITE}" "${CPACK_PACKAGE_NAME} homepage"\r
78         "/lz4_format_description.txt "  "lz4 format description"\r
79         "/"     "LZ4 directory "\r
80 )\r
81 \r
82 include (CPack)\r