Skip to content
This repository was archived by the owner on Nov 20, 2020. It is now read-only.

Commit 96494cf

Browse files
committed
Updated cmake macros
1 parent 9e35f25 commit 96494cf

File tree

4 files changed

+306
-366
lines changed

4 files changed

+306
-366
lines changed

.travis.yml

Lines changed: 29 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,47 +2,40 @@
22
# LuaDist Travis-CI Hook
33
#
44

5-
# Since CMake is not directly supported we use erlang VMs
6-
language: erlang
7-
5+
# We assume C build environments
6+
language: C
7+
8+
# Try using multiple Lua Implementations
89
env:
9-
- TOOL=""
10-
- TOOL="i686-w64-mingw32-" # 32-bit mingw
11-
- TOOL="x86_64-w64-mingw32-" # 64-bit mingw
12-
- TOOL="arm-linux-gnueabihf-" # ARM hard-float (hf), linux
13-
- COMPILER="clang" # clang
14-
# - TOOL="i586-mingw32msvc-" # old 32-bit mingw
10+
- TOOL="" # Use native compiler (GCC usually)
11+
- COMPILER="clang" # Use clang
12+
- TOOL="i686-w64-mingw32" # 32bit MinGW
13+
- TOOL="x86_64-w64-mingw32" # 64bit MinGW
14+
- TOOL="arm-linux-gnueabihf" # ARM hard-float (hf), linux
1515

16-
# We need CMake and toolchains.
16+
# Crosscompile builds may fail
17+
matrix:
18+
allow_failures:
19+
- env: TOOL="i686-w64-mingw32"
20+
- env: TOOL="x86_64-w64-mingw32"
21+
- env: TOOL="arm-linux-gnueabihf"
22+
23+
# Install dependencies
1724
install:
18-
- sudo apt-get -qq install cmake
19-
- if [ "$TOOL" == "i586-mingw32msvc-" ]; then sudo apt-get -qq install gcc-mingw32; fi
20-
- if [ "$TOOL" == "x86_64-w64-mingw32-" -o "$TOOL" == "i686-w64-mingw32-" ]; then sudo apt-get -qq install gcc-mingw-w64; fi
21-
- if [ "$TOOL" == "arm-linux-gnueabihf-" ]; then sudo apt-get -qq install gcc-arm-linux-gnueabihf; fi
22-
- if [ "$COMPILER" == "clang" ]; then sudo apt-get -qq install clang; export CC=clang; fi
23-
- export TOOLFILE="$HOME/$TOOL.cmake"
24-
- echo '' > $TOOLFILE
25-
- echo "set(_toolchain $TOOL)" >> $TOOLFILE
26-
- if [ "$TOOL" == "arm-linux-gnueabihf-" ]; then export SYSTEM="Linux"; else export SYSTEM="Windows"; fi
27-
- echo "set(CMAKE_SYSTEM_NAME $SYSTEM)" >> $TOOLFILE
28-
- echo 'set(CMAKE_C_COMPILER ${_toolchain}gcc)' >> $TOOLFILE
29-
- echo 'set(CMAKE_CXX_COMPILER ${_toolchain}g++)' >> $TOOLFILE
30-
- echo 'set(CMAKE_RC_COMPILER ${_toolchain}windres )' >> $TOOLFILE
31-
- echo 'set(CMAKE_RC_OUTPUT_EXTENSION .obj)' >> $TOOLFILE
32-
- echo 'set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <FLAGS> <DEFINES> <SOURCE> <OBJECT>")' >> $TOOLFILE
33-
- echo 'set(CMAKE_FIND_ROOT_PATH /usr/${_toolchain}/ ${CMAKE_INSTALL_PREFIX})' >> $TOOLFILE
34-
- echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)' >> $TOOLFILE
35-
- echo 'set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)' >> $TOOLFILE
25+
- git clone git://github.com/LuaDist/_util.git ~/_util
26+
- ~/_util/travis install
3627

28+
# Bootstap
29+
before_script:
30+
- ~/_util/travis bootstrap
3731

38-
# Use CMake to build module.
32+
# Build the module
3933
script:
40-
- mkdir _build _install && cd _build
41-
- if [ $TOOL ]; then export TOOLARG="-DCMAKE_TOOLCHAIN_FILE=$TOOLFILE"; fi
42-
- cmake $TOOLARG -DCMAKE_INSTALL_PREFIX=../_install ..
43-
- make
44-
- if [ ! $TOOL ]; then make test; fi
45-
- make install
34+
- ~/_util/travis build
35+
36+
# Execute additional tests or commands
37+
#after_script:
38+
# - ~/_util/travis test
4639

4740
# Only watch the master branch
4841
branches:
@@ -55,4 +48,4 @@ notifications:
5548
5649
email:
5750
on_success: change
58-
on_failure: always
51+
on_failure: always

CMakeLists.txt

Lines changed: 57 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -4,115 +4,69 @@
44
# For details see the COPYRIGHT file distributed with LuaDist.
55
# Please note that the package source code is licensed under its own license.
66

7-
project(libjpeg C)
8-
cmake_minimum_required(VERSION 2.6)
9-
include(cmake/dist.cmake)
7+
project ( libjpeg C )
8+
cmake_minimum_required ( VERSION 2.8 )
9+
include ( cmake/dist.cmake )
1010

11-
include(CheckIncludeFile)
12-
check_include_file(stddef.h HAVE_STDDEF_H)
13-
check_include_file(stdlib.h HAVE_STDLIB_H)
14-
if(WIN32 AND NOT CYGWIN) #improve? see jconfig.*
15-
set(TWO_FILE_COMMANDLINE true) # jconfig.h
16-
endif()
17-
configure_file(jconfig.h.cmake jconfig.h)
11+
include ( CheckIncludeFile )
12+
check_include_file ( stddef.h HAVE_STDDEF_H )
13+
check_include_file ( stdlib.h HAVE_STDLIB_H )
14+
if ( WIN32 AND NOT CYGWIN )
15+
#improve? see jconfig.*
16+
set ( TWO_FILE_COMMANDLINE true )
17+
# jconfig.h
18+
endif ( )
19+
configure_file ( jconfig.h.cmake jconfig.h )
1820

19-
include_directories(${CMAKE_CURRENT_BINARY_DIR}) # jconfig.h
21+
include_directories ( ${CMAKE_CURRENT_BINARY_DIR} )
22+
# jconfig.h
2023

21-
set(HEADERS
22-
jerror.h
23-
jmorecfg.h
24-
jpeglib.h
25-
${CMAKE_CURRENT_BINARY_DIR}/jconfig.h
26-
)
24+
set ( HEADERS jerror.h jmorecfg.h jpeglib.h ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h )
2725

28-
set(SRC
29-
jmemnobs.c
30-
jaricom.c
31-
jcapimin.c
32-
jcapistd.c
33-
jcarith.c
34-
jccoefct.c
35-
jccolor.c
36-
jcdctmgr.c
37-
jchuff.c
38-
jcinit.c
39-
jcmainct.c
40-
jcmarker.c
41-
jcmaster.c
42-
jcomapi.c
43-
jcparam.c
44-
jcprepct.c
45-
jcsample.c
46-
jctrans.c
47-
jdapimin.c
48-
jdapistd.c
49-
jdarith.c
50-
jdatadst.c
51-
jdatasrc.c
52-
jdcoefct.c
53-
jdcolor.c
54-
jddctmgr.c
55-
jdhuff.c
56-
jdinput.c
57-
jdmainct.c
58-
jdmarker.c
59-
jdmaster.c
60-
jdmerge.c
61-
jdpostct.c
62-
jdsample.c
63-
jdtrans.c
64-
jerror.c
65-
jfdctflt.c
66-
jfdctfst.c
67-
jfdctint.c
68-
jidctflt.c
69-
jidctfst.c
70-
jidctint.c
71-
jquant1.c
72-
jquant2.c
73-
jutils.c
74-
jmemmgr.c
75-
cderror.h
76-
cdjpeg.h
77-
jdct.h
78-
jinclude.h
79-
jmemsys.h
80-
jpegint.h
81-
jversion.h
82-
transupp.h
83-
)
26+
set ( SRC jmemnobs.c jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c
27+
jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c jcomapi.c jcparam.c
28+
jcprepct.c jcsample.c jctrans.c jdapimin.c jdapistd.c jdarith.c jdatadst.c jdatasrc.c
29+
jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c
30+
jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c jfdctfst.c jfdctint.c
31+
jidctflt.c jidctfst.c jidctint.c jquant1.c jquant2.c jutils.c jmemmgr.c cderror.h
32+
cdjpeg.h jdct.h jinclude.h jmemsys.h jpegint.h jversion.h transupp.h )
8433

85-
add_library(jpeg SHARED ${SRC} ${HEADERS})
34+
add_library ( jpeg ${SRC} ${HEADERS} )
8635

87-
add_executable(cjpeg cdjpeg.c cjpeg.c rdbmp.c rdgif.c rdppm.c rdrle.c rdtarga.c rdswitch.c)
88-
add_executable(djpeg cdjpeg.c djpeg.c wrbmp.c wrgif.c wrppm.c wrrle.c wrtarga.c rdcolmap.c)
89-
add_executable(jpegtran jpegtran.c cdjpeg.c rdswitch.c transupp.c)
90-
add_executable(rdjpgcom rdjpgcom.c)
91-
add_executable(wrjpgcom wrjpgcom.c)
92-
target_link_libraries(cjpeg jpeg)
93-
target_link_libraries(djpeg jpeg)
94-
target_link_libraries(jpegtran jpeg)
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 )
9546

96-
install_executable(cjpeg djpeg jpegtran rdjpgcom wrjpgcom)
97-
install_library(jpeg)
98-
install_header(${HEADERS})
99-
install_doc(
100-
README install.txt usage.txt wizard.txt example.c libjpeg.txt
101-
structure.txt coderules.txt filelist.txt change.log
102-
)
47+
install_executable ( cjpeg djpeg jpegtran rdjpgcom wrjpgcom )
48+
install_library ( jpeg )
49+
install_header ( ${HEADERS} )
50+
install_doc ( README install.txt usage.txt wizard.txt example.c libjpeg.txt structure.txt
51+
coderules.txt filelist.txt change.log )
10352

10453
# tests
105-
enable_testing()
106-
macro(mytest name target args input output)
107-
get_target_property ( _cmdpath ${target} LOCATION )
108-
add_test(${name} ${CMAKE_COMMAND}
109-
"-DCOMMAND=${_cmdpath} ${args}" "-DINPUT=${input}" "-DOUTPUT=${output}"
110-
-P ${CMAKE_CURRENT_SOURCE_DIR}/jpeg_test.cmake)
111-
endmacro()
112-
set(_src "${CMAKE_CURRENT_SOURCE_DIR}")
113-
mytest(t1 djpeg "-dct int -ppm -outfile testout.ppm ${_src}/testorig.jpg" "${_src}/testimg.ppm" testout.ppm)
114-
mytest(t2 djpeg "-dct int -bmp -colors 256 -outfile testout.bmp ${_src}/testorig.jpg" ${_src}/testimg.bmp testout.bmp)
115-
mytest(t3 cjpeg "-dct int -outfile testout.jpg ${_src}/testimg.ppm" ${_src}/testimg.jpg testout.jpg)
116-
mytest(t4 djpeg "-dct int -ppm -outfile testoutp.ppm ${_src}/testprog.jpg" ${_src}/testimg.ppm testoutp.ppm)
117-
mytest(t5 cjpeg "-dct int -progressive -opt -outfile testoutp.jpg ${_src}/testimg.ppm" ${_src}/testimgp.jpg testoutp.jpg)
118-
mytest(t6 jpegtran "-outfile testoutt.jpg ${_src}/testprog.jpg" ${_src}/testorig.jpg testoutt.jpg)
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 )

0 commit comments

Comments
 (0)