@@ -8,6 +8,10 @@ project ( libjpeg C )
8
8
cmake_minimum_required ( VERSION 2.8 )
9
9
include ( cmake/dist.cmake )
10
10
11
+ OPTION (BUILD_STATIC OFF )
12
+ OPTION (BUILD_EXECUTABLES ON )
13
+ OPTION (BUILD_TESTS ON )
14
+
11
15
include ( CheckIncludeFile )
12
16
check_include_file ( stddef.h HAVE_STDDEF_H )
13
17
check_include_file ( stdlib.h HAVE_STDLIB_H )
@@ -31,42 +35,53 @@ set ( SRC jmemnobs.c jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolo
31
35
jidctflt.c jidctfst.c jidctint.c jquant1.c jquant2.c jutils.c jmemmgr.c cderror.h
32
36
cdjpeg.h jdct.h jinclude.h jmemsys.h jpegint.h jversion.h transupp.h )
33
37
34
- add_library ( jpeg ${SRC} ${HEADERS} )
38
+ if ( BUILD_STATIC )
39
+ add_library ( jpeg STATIC ${SRC} ${HEADERS} )
40
+ else ()
41
+ add_library ( jpeg ${SRC} ${HEADERS} )
42
+ endif ()
43
+
44
+ if ( BUILD_EXECUTABLES )
45
+ add_executable ( cjpeg cdjpeg.c cjpeg.c rdbmp.c rdgif.c rdppm.c rdrle.c rdtarga.c
46
+ rdswitch.c )
47
+ add_executable ( djpeg cdjpeg.c djpeg.c wrbmp.c wrgif.c wrppm.c wrrle.c wrtarga.c
48
+ rdcolmap.c )
49
+ add_executable ( jpegtran jpegtran.c cdjpeg.c rdswitch.c transupp.c )
50
+ add_executable ( rdjpgcom rdjpgcom.c )
51
+ add_executable ( wrjpgcom wrjpgcom.c )
52
+ target_link_libraries ( cjpeg jpeg )
53
+ target_link_libraries ( djpeg jpeg )
54
+ target_link_libraries ( jpegtran jpeg )
55
+ endif ()
35
56
36
- add_executable ( cjpeg cdjpeg.c cjpeg.c rdbmp.c rdgif.c rdppm.c rdrle.c rdtarga.c
37
- rdswitch.c )
38
- add_executable ( djpeg cdjpeg.c djpeg.c wrbmp.c wrgif.c wrppm.c wrrle.c wrtarga.c
39
- rdcolmap.c )
40
- add_executable ( jpegtran jpegtran.c cdjpeg.c rdswitch.c transupp.c )
41
- add_executable ( rdjpgcom rdjpgcom.c )
42
- add_executable ( wrjpgcom wrjpgcom.c )
43
- target_link_libraries ( cjpeg jpeg )
44
- target_link_libraries ( djpeg jpeg )
45
- target_link_libraries ( jpegtran jpeg )
57
+ if ( BUILD_EXECUTABLES )
58
+ install_executable ( cjpeg djpeg jpegtran rdjpgcom wrjpgcom )
59
+ endif ()
46
60
47
- install_executable ( cjpeg djpeg jpegtran rdjpgcom wrjpgcom )
48
61
install_library ( jpeg )
49
62
install_header ( ${HEADERS} )
50
63
install_doc ( README install .txt usage.txt wizard.txt example.c libjpeg.txt structure.txt
51
64
coderules.txt filelist.txt change.log )
52
65
53
- # tests
54
- enable_testing ( )
55
- macro ( mytest name target args input output )
56
- get_target_property ( _cmdpath ${target} LOCATION )
57
- add_test ( ${name} ${CMAKE_COMMAND} "-DCOMMAND=${_cmdpath} ${args} " "-DINPUT=${input} "
58
- "-DOUTPUT=${output} " -P ${CMAKE_CURRENT_SOURCE_DIR} /jpeg_test.cmake )
59
- endmacro ( )
60
- set ( _src "${CMAKE_CURRENT_SOURCE_DIR} " )
61
- mytest ( t1 djpeg "-dct int -ppm -outfile testout.ppm ${_src} /testorig.jpg" "${_src} /testimg.ppm"
62
- testout.ppm )
63
- mytest ( t2 djpeg "-dct int -bmp -colors 256 -outfile testout.bmp ${_src} /testorig.jpg"
64
- ${_src} /testimg.bmp testout.bmp )
65
- mytest ( t3 cjpeg "-dct int -outfile testout.jpg ${_src} /testimg.ppm" ${_src} /testimg.jpg
66
- testout.jpg )
67
- mytest ( t4 djpeg "-dct int -ppm -outfile testoutp.ppm ${_src} /testprog.jpg" ${_src} /testimg.ppm
68
- testoutp.ppm )
69
- mytest ( t5 cjpeg "-dct int -progressive -opt -outfile testoutp.jpg ${_src} /testimg.ppm"
70
- ${_src} /testimgp.jpg testoutp.jpg )
71
- mytest ( t6 jpegtran "-outfile testoutt.jpg ${_src} /testprog.jpg" ${_src} /testorig.jpg
72
- testoutt.jpg )
66
+ if ( BUILD_TESTS )
67
+ # tests
68
+ enable_testing ( )
69
+ macro ( mytest name target args input output )
70
+ get_target_property ( _cmdpath ${target} LOCATION )
71
+ add_test ( ${name} ${CMAKE_COMMAND} "-DCOMMAND=${_cmdpath} ${args} " "-DINPUT=${input} "
72
+ "-DOUTPUT=${output} " -P ${CMAKE_CURRENT_SOURCE_DIR} /jpeg_test.cmake )
73
+ endmacro ( )
74
+ set ( _src "${CMAKE_CURRENT_SOURCE_DIR} " )
75
+ mytest ( t1 djpeg "-dct int -ppm -outfile testout.ppm ${_src} /testorig.jpg" "${_src} /testimg.ppm"
76
+ testout.ppm )
77
+ mytest ( t2 djpeg "-dct int -bmp -colors 256 -outfile testout.bmp ${_src} /testorig.jpg"
78
+ ${_src} /testimg.bmp testout.bmp )
79
+ mytest ( t3 cjpeg "-dct int -outfile testout.jpg ${_src} /testimg.ppm" ${_src} /testimg.jpg
80
+ testout.jpg )
81
+ mytest ( t4 djpeg "-dct int -ppm -outfile testoutp.ppm ${_src} /testprog.jpg" ${_src} /testimg.ppm
82
+ testoutp.ppm )
83
+ mytest ( t5 cjpeg "-dct int -progressive -opt -outfile testoutp.jpg ${_src} /testimg.ppm"
84
+ ${_src} /testimgp.jpg testoutp.jpg )
85
+ mytest ( t6 jpegtran "-outfile testoutt.jpg ${_src} /testprog.jpg" ${_src} /testorig.jpg
86
+ testoutt.jpg )
87
+ endif ()
0 commit comments