github.com/cellofellow/gopkg@v0.0.0-20140722061823-eec0544a62ad/image/webp/libwebp/CMakeLists.txt (about)

     1  # Copyright 2013 <chaishushan{AT}gmail.com>. All rights reserved.
     2  # Use of this source code is governed by a BSD-style
     3  # license that can be found in the LICENSE file.
     4  
     5  project(WEBP_LIB)
     6  
     7  #------------------------------------------------------------------------------
     8  
     9  IF(WIN32)
    10    if(CMAKE_SIZEOF_VOID_P EQUAL 8)
    11      set(OS win64)
    12    else()
    13      set(OS win32)
    14    endif()
    15  else()
    16    if(CMAKE_SIZEOF_VOID_P EQUAL 8)
    17      set(OS posix64)
    18    else()
    19      set(OS posix64)
    20    endif()
    21  endif()
    22  
    23  #------------------------------------------------------------------------------
    24  
    25  # Extra flags to enable experimental features and code
    26  add_definitions(
    27    -DWEBP_EXPERIMENTAL_FEATURES
    28  )
    29  
    30  include_directories(AFTER
    31    ./include
    32    ./src/webp
    33    ./src
    34  )
    35  
    36  set(WEBP_DEC_SRC
    37    ./src/dec/alpha.c
    38    ./src/dec/buffer.c
    39    ./src/dec/frame.c
    40    ./src/dec/idec.c
    41    ./src/dec/io.c
    42    ./src/dec/layer.c
    43    ./src/dec/quant.c
    44    ./src/dec/tree.c
    45    ./src/dec/vp8.c
    46    ./src/dec/vp8l.c
    47    ./src/dec/webp.c
    48  )
    49  
    50  set(WEBP_DEMUX_SRC
    51    ./src/demux/demux.c
    52  )
    53  
    54  set(WEBP_DSP_DEC_SRC
    55    ./src/dsp/cpu.c
    56    ./src/dsp/dec.c
    57    ./src/dsp/dec_neon.c
    58    ./src/dsp/dec_sse2.c
    59    ./src/dsp/lossless.c
    60    ./src/dsp/upsampling.c
    61    ./src/dsp/upsampling_neon.c
    62    ./src/dsp/upsampling_sse2.c
    63    ./src/dsp/yuv.c
    64  )
    65  
    66  set(WEBP_DSP_ENC_SRC
    67    ./src/dsp/enc.c
    68    ./src/dsp/enc_neon.c
    69    ./src/dsp/enc_sse2.c
    70  )
    71  
    72  set(WEBP_EX_FORMAT_DEC_SRC
    73    ./examples/jpegdec.c
    74    ./examples/metadata.c
    75    ./examples/pngdec.c
    76    ./examples/tiffdec.c
    77    ./examples/wicdec.c
    78  )
    79  
    80  set(WEBP_EX_UTIL_SRC
    81    ./examples/example_util.c
    82  )
    83  
    84  set(WEBP_ENC_SRC
    85    ./src/enc/alpha.c
    86    ./src/enc/analysis.c
    87    ./src/enc/backward_references.c
    88    ./src/enc/config.c
    89    ./src/enc/cost.c
    90    ./src/enc/filter.c
    91    ./src/enc/frame.c
    92    ./src/enc/histogram.c
    93    ./src/enc/iterator.c
    94    ./src/enc/layer.c
    95    ./src/enc/picture.c
    96    ./src/enc/quant.c
    97    ./src/enc/syntax.c
    98    ./src/enc/token.c
    99    ./src/enc/tree.c
   100    ./src/enc/vp8l.c
   101    ./src/enc/webpenc.c
   102  )
   103  
   104  set(WEBP_MUX_SRC
   105    ./src/mux/muxedit.c
   106    ./src/mux/muxinternal.c
   107    ./src/mux/muxread.c
   108  )
   109  
   110  set(WEBP_UTILS_DEC_SRC
   111    ./src/utils/alpha_processing.c
   112    ./src/utils/bit_reader.c
   113    ./src/utils/color_cache.c
   114    ./src/utils/filters.c
   115    ./src/utils/huffman.c
   116    ./src/utils/quant_levels_dec.c
   117    ./src/utils/rescaler.c
   118    ./src/utils/random.c
   119    ./src/utils/thread.c
   120    ./src/utils/utils.c
   121  )
   122  
   123  set(WEBP_UTILS_ENC_SRC
   124    ./src/utils/bit_writer.c
   125    ./src/utils/huffman_encode.c
   126    ./src/utils/quant_levels.c
   127  )
   128  
   129  set(WEBP_SRC
   130    ./src/webp_api.c
   131    ./include/webp.h
   132  
   133    ./src/webp_dec.c
   134    ./src/webp_demux.c
   135    ./src/webp_dsp_dec.c
   136    ./src/webp_dsp_enc.c
   137    ./src/webp_enc.c
   138    ./src/webp_mux.c
   139    ./src/webp_utils_dec.c
   140    ./src/webp_utils_enc.c
   141  
   142    ./src/enc/alpha.c
   143    ./src/enc/picture.c
   144    ./src/enc/analysis.c
   145    ./src/enc/quant.c
   146    ./src/enc/frame.c
   147    ./src/enc/webpenc.c
   148  
   149    #${WEBP_DEC_SRC}
   150    #${WEBP_DEMUX_SRC}
   151    #${WEBP_DSP_DEC_SRC}
   152    #${WEBP_DSP_ENC_SRC}
   153    #${WEBP_ENC_SRC}
   154    #${WEBP_MUX_SRC}
   155    #${WEBP_UTILS_DEC_SRC}
   156    #${WEBP_UTILS_ENC_SRC}
   157  )
   158  
   159  #------------------------------------------------------------------------------
   160  
   161  add_library(webplib STATIC
   162    ${WEBP_SRC}
   163  )
   164  if(CMAKE_BUILD_TYPE STREQUAL "debug")
   165    set_target_properties(webplib
   166      PROPERTIES OUTPUT_NAME "webp-${OS}-debug"
   167    )
   168  else()
   169    set_target_properties(webplib
   170      PROPERTIES OUTPUT_NAME "webp-${OS}"
   171    )
   172  endif()
   173  
   174  install(TARGETS webplib
   175    RUNTIME DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}
   176    LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}
   177    ARCHIVE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}
   178  )
   179  
   180  #------------------------------------------------------------------------------
   181  # WebP Demo
   182  
   183  include_directories(AFTER
   184    ./webplib
   185  )
   186  
   187  # webpapp
   188  add_executable(webpapp
   189    ./demo/demo.cc
   190  
   191    ${WEBP_SRC}
   192  )
   193  install(TARGETS webpapp
   194    RUNTIME DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}
   195    LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}
   196    ARCHIVE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}
   197  )
   198  
   199  #------------------------------------------------------------------------------
   200  # test
   201  
   202  include_directories(AFTER
   203    ./test
   204  )
   205  
   206  add_executable(webptest
   207    ./test/test.cc
   208    ./test/test_util.cc
   209    ./test/test_util_jpg.cc
   210  
   211    #./test/webp_test.cc
   212    #./test/webp_bench_test.cc
   213  
   214    ${WEBP_SRC}
   215  )
   216  
   217  install(TARGETS webptest
   218    RUNTIME DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}
   219    LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}
   220    ARCHIVE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}
   221  )
   222  
   223  #------------------------------------------------------------------------------
   224