6a914e967f44d2897377d55c1d0440d55f397d43
[platform/upstream/libaec.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.6)
2 INCLUDE(CheckIncludeFiles)
3 INCLUDE(TestBigEndian)
4 INCLUDE(CheckCSourceCompiles)
5 INCLUDE(cmake/macros.cmake)
6 PROJECT(libaec)
7 SET(libaec_VERSION_MAJOR 0)
8 SET(libaec_VERSION_MINOR 2)
9 SET(CMAKE_BUILD_TYPE Release)
10 ENABLE_TESTING()
11
12 CHECK_INCLUDE_FILES(malloc.h HAVE_MALLOC_H)
13 CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H)
14 TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
15 CHECK_CLZLL(HAVE_DECL___BUILTIN_CLZLL)
16 IF(NOT HAVE_DECL___BUILTIN_CLZLL)
17   CHECK_BSR64(HAVE_BSR64)
18 ENDIF(NOT HAVE_DECL___BUILTIN_CLZLL)
19 FIND_INLINE_KEYWORD()
20 FIND_RESTRICT_KEYWORD()
21
22 CONFIGURE_FILE(
23   ${CMAKE_CURRENT_SOURCE_DIR}/cmake/config.h.in
24   ${CMAKE_CURRENT_BINARY_DIR}/config.h
25   )
26 ADD_DEFINITIONS("-DHAVE_CONFIG_H")
27
28 # Allow the developer to select if Dynamic or Static libraries are built
29 OPTION (BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
30 IF (BUILD_SHARED_LIBS)
31   # User wants to build Dynamic Libraries,
32   # so change the LIB_TYPE variable to CMake keyword 'SHARED'
33   SET (LIB_TYPE SHARED)
34 ELSE(BUILD_SHARED_LIBS)
35   SET (LIB_TYPE STATIC)
36 ENDIF (BUILD_SHARED_LIBS)
37
38 INCLUDE_DIRECTORIES("${PROJECT_BINARY_DIR}")
39 INCLUDE_DIRECTORIES("${PROJECT_BINARY_DIR}/src")
40 INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/src")
41
42 ADD_SUBDIRECTORY(src)
43 IF(WIN32)
44   ADD_SUBDIRECTORY(tests)
45 ELSE(WIN32)
46   ADD_SUBDIRECTORY(tests EXCLUDE_FROM_ALL)
47 ENDIF(WIN32)