Version bump
[platform/upstream/libaec.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.0.0)
2 include(CheckIncludeFiles)
3 include(TestBigEndian)
4 include(CheckCSourceCompiles)
5 include(cmake/macros.cmake)
6 project(libaec)
7 set(libaec_VERSION_MAJOR 1)
8 set(libaec_VERSION_MINOR 0)
9 set(libaec_VERSION_PATCH 1)
10 set(CMAKE_BUILD_TYPE Release)
11 enable_testing()
12
13 check_include_files(malloc.h HAVE_MALLOC_H)
14 check_include_files(stdint.h HAVE_STDINT_H)
15 test_big_endian(WORDS_BIGENDIAN)
16 check_clzll(HAVE_DECL___BUILTIN_CLZLL)
17 if(NOT HAVE_DECL___BUILTIN_CLZLL)
18   check_bsr64(HAVE_BSR64)
19 endif(NOT HAVE_DECL___BUILTIN_CLZLL)
20 find_inline_keyword()
21 find_restrict_keyword()
22
23 configure_file(
24   ${CMAKE_CURRENT_SOURCE_DIR}/cmake/config.h.in
25   ${CMAKE_CURRENT_BINARY_DIR}/config.h)
26 add_definitions("-DHAVE_CONFIG_H")
27
28 option(BUILD_SHARED_LIBS "Build Shared Libraries" ON)
29 if(BUILD_SHARED_LIBS)
30   set (LIB_TYPE SHARED)
31 else(BUILD_SHARED_LIBS)
32   if(WIN32)
33     message(WARNING "You will have to modify libaec.h for static libs.")
34   endif(WIN32)
35   set(LIB_TYPE STATIC)
36 endif(BUILD_SHARED_LIBS)
37
38 set(libaec_SRCS
39   ${PROJECT_SOURCE_DIR}/src/encode.c
40   ${PROJECT_SOURCE_DIR}/src/encode_accessors.c
41   ${PROJECT_SOURCE_DIR}/src/decode.c)
42
43 include_directories("${PROJECT_BINARY_DIR}")
44 include_directories("${PROJECT_SOURCE_DIR}/src")
45
46 add_subdirectory(src)
47 add_subdirectory(tests)
48
49 option(AEC_FUZZING "Enable build of fuzzing targets" OFF)
50 if(AEC_FUZZING)
51   add_subdirectory(fuzzing)
52 endif()
53
54 set(CPACK_PACKAGE_NAME "libaec")
55 set(CPACK_PACKAGE_VENDOR "Deutsches Klimarechenzentrum GmbH")
56 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
57   "libaec - Adaptive Entropy Coding library")
58 set(CPACK_PACKAGE_VERSION_MAJOR "${libaec_VERSION_MAJOR}")
59 set(CPACK_PACKAGE_VERSION_MINOR "${libaec_VERSION_MINOR}")
60 set(CPACK_PACKAGE_VERSION_PATCH "${libaec_VERSION_PATCH}")
61 set(CPACK_PACKAGE_INSTALL_DIRECTORY "libaec")
62 set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/Copyright.txt")
63
64 if(WIN32)
65   set(CPACK_GENERATOR "WIX")
66   set(CPACK_WIX_UPGRADE_GUID "E58A21F6-BB99-46B5-8AD8-6114E4CCA0A6")
67   if(CMAKE_CL_64)
68     set(CPACK_INSTALL_DIRECTORY "$PROGRAMFILES64")
69     set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
70       "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION} (Win64)")
71   else(CMAKE_CL_64)
72     set(CPACK_INSTALL_DIRECTORY "$PROGRAMFILES")
73     set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
74       "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
75   endif(CMAKE_CL_64)
76 endif(WIN32)
77
78 include(CPack)