2 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "ASN.1 Compiler")
\r
3 set(CPACK_PACKAGE_VERSION_MAJOR 0)
\r
4 set(CPACK_PACKAGE_VERSION_MINOR 0)
\r
5 set(CPACK_PACKAGE_VERSION_PATCH r52)
\r
6 #set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_BINARY_DIR}/COPYING_LGPL)
\r
7 set(VERSION_STRING " \"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}\" ")
\r
11 cmake_minimum_required (VERSION 2.6)
\r
12 INCLUDE (CheckTypeSize)
\r
13 check_type_size("void *" SIZEOF_VOID_P)
\r
14 IF( ${SIZEOF_VOID_P} STREQUAL "8" )
\r
15 set (CMAKE_SYSTEM_PROCESSOR "64bit")
\r
16 MESSAGE( STATUS "64 bit architecture detected size of void * is " ${SIZEOF_VOID_P})
\r
19 set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libraries")
\r
21 if (BUILD_SHARED_LIBS)
\r
22 message(STATUS "Enable shared library building")
\r
23 else(BUILD_SHARED_LIBS)
\r
24 message(STATUS "Disable shared library building")
\r
25 endif(BUILD_SHARED_LIBS)
\r
27 if(UNIX AND BUILD_SHARED_LIBS)
\r
28 if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
\r
29 add_definitions(-fPIC)
\r
30 endif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
\r
34 set(LZ4_SRCS_LIB ${SRC_DIR}lz4.c ${SRC_DIR}lz4hc.c ${SRC_DIR}lz4.h )
\r
35 set(LZ4_SRCS ${SRC_DIR}xxhash.c ${SRC_DIR}bench.c ${SRC_DIR}lz4c.c)
\r
37 if(NOT BUILD_SHARED_LIBS)
\r
38 set(LZ4_SRCS ${LZ4_SRCS} ${LZ4_SRCS_LIB})
\r
41 if (CMAKE_SYSTEM_PROCESSOR STREQUAL "64bit")
\r
42 message(STATUS "Build 64bit executable binary")
\r
43 add_executable(lz4c64 ${LZ4_SRCS})
\r
44 install(TARGETS lz4c64 RUNTIME DESTINATION "./")
\r
45 if(NOT BUILD_SHARED_LIBS)
\r
46 message(STATUS "Build 32bit executable binary")
\r
47 add_executable(lz4c32 ${LZ4_SRCS})
\r
48 install(TARGETS lz4c32 RUNTIME DESTINATION "./")
\r
50 SET_TARGET_PROPERTIES(lz4c32 PROPERTIES
\r
51 COMPILE_FLAGS PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32")
\r
54 message(STATUS "Build 32bit executable binary")
\r
55 add_executable(lz4c32 ${LZ4_SRCS})
\r
56 install(TARGETS lz4c32 RUNTIME DESTINATION "./")
\r
59 if(BUILD_SHARED_LIBS)
\r
60 set(LZ4_SOVERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
\r
61 if (CMAKE_SYSTEM_PROCESSOR STREQUAL "64bit")
\r
62 target_link_libraries(lz4c64 liblz4)
\r
64 target_link_libraries(lz4c32 liblz4)
\r
67 # for static library
\r
68 add_library(liblz4_static STATIC ${LZ4_SRCS_LIB})
\r
69 set_target_properties(liblz4_static PROPERTIES OUTPUT_NAME lz4)
\r
71 install(TARGETS liblz4_static
\r
72 LIBRARY DESTINATION lib
\r
73 ARCHIVE DESTINATION lib
\r
76 # for shared library o
\r
77 add_library(liblz4 ${LZ4_SRCS_LIB})
\r
78 set_target_properties(liblz4 PROPERTIES
\r
80 SOVERSION ${LZ4_SOVERSION})
\r
82 install(TARGETS liblz4
\r
83 LIBRARY DESTINATION lib
\r
84 ARCHIVE DESTINATION lib
\r
90 DESTINATION include)
\r
92 endif(BUILD_SHARED_LIBS)
\r
97 ADD_DEFINITIONS("-Wall")
\r
98 ADD_DEFINITIONS("-W")
\r
99 ADD_DEFINITIONS("-Wundef")
\r
100 ADD_DEFINITIONS("-Wcast-align")
\r
101 ADD_DEFINITIONS("-Wno-implicit-function-declaration")
\r
102 ADD_DEFINITIONS("-Os -march=native -std=c99")
\r
103 INCLUDE_DIRECTORIES (${SRC_DIR})
\r