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