File: CMakeLists.txt

package info (click to toggle)
k2pdfopt 2.55%2Bds-3.1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 4,896 kB
  • sloc: ansic: 87,945; cpp: 5,915; makefile: 5
file content (144 lines) | stat: -rw-r--r-- 3,543 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
project(k2pdfopt C)
cmake_minimum_required(VERSION 2.6)

#
# Last modified by Q.P. Hou 8 June 2019
#
# ---- Test for packages

include(FindPkgConfig)

set(K2PDFOPT_LIB "-lm")

# cmake -DCMAKE_BUILD_TYPE=Debug <path>

# TODO: configure flavour with opions
## 
## option (USE_MUPDF
## 	"Use muPDF libraries" OFF)
## option (USE_GHOSTSCRIPT
## 	"Use Ghostscript executable" ON)
## option (USE_DJVU
## 	"" OFF)
## eoption (USE_GOCR
## 	"" OFF)
## option (USE_LEPTONICA
## 	"" OFF)
## option (USE_TESSERACT
## 	"" OFF)
## option (USE_JASPER
## 	"" OFF)
## option (USE_GSL
## 	"" OFF)

# HAVE_K2GUI

include(FindZLIB)
if(ZLIB_FOUND)
  set(HAVE_Z_LIB 1)
# include_directories(${ZLIB_INCLUDE_DIRS})
  set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${ZLIB_LIBRARY})
endif(ZLIB_FOUND)

include(FindPNG)
if(PNG_FOUND)
  set(HAVE_PNG_LIB 1)
  set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${PNG_LIBRARY_RELEASE})
else(PNG_FOUND)
  message( FATAL_ERROR "Missing required dependency libpng." )
endif(PNG_FOUND)

include(FindJPEG)
if(JPEG_FOUND)
  set(HAVE_JPEG_LIB 1)
  set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${JPEG_LIBRARY})
endif(JPEG_FOUND)

include(FindJasper)
if(JASPER_FOUND)
  set(HAVE_JASPER_LIB 1)
endif(JASPER_FOUND)

# paths from willuslib/wgs.c
find_program(GHOSTSCRIPT_EXECUTABLE gs
#  PATHS /usr/bin /usr/share/gs /usr/local/gs /opt/gs 
#    /usr/share/gs* /usr/local/gs* /opt/gs*
)
if(GHOSTSCRIPT_EXECUTABLE)
  set(HAVE_GHOSTSCRIPT 1)
  message(STATUS "Found ghostscript executable")
else()
  message(STATUS "Could NOT find ghostscript executable")
endif(GHOSTSCRIPT_EXECUTABLE)

# willus.h
# HAVE_GSL_LIB


# libfreetype6 (>= 2.3.9), libjbig2dec0, libjpeg8 (>= 8c), libx11-6, libxext6, zlib1g (>= 1:1.2.0)
# MUPDF_STATIC_LDFLAGS misses mupdf-js-none, and doubles libs ...

pkg_check_modules(MUPDF mupdf)
if(MUPDF_FOUND)
  set(HAVE_MUPDF_LIB 1) 
  # (includes jbig2dec, openjpeg, freetype)
  include_directories(SYSTEM ${MUPDF_INCLUDEDIR})
  message(STATUS "mupdf libraries: ${MUPDF_LDFLAGS}")
  set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${MUPDF_LDFLAGS} 
    -lmupdf-js-none -lopenjpeg -ljbig2dec -ljpeg -lfreetype -llcms -lgumbo
  )
endif(MUPDF_FOUND)

pkg_check_modules(DJVU ddjvuapi)
if(DJVU_FOUND)
  set(HAVE_DJVU_LIB 1)
  include_directories(SYSTEM ${DJVU_INCLUDEDIR})
  set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${DJVU_LDFLAGS})
endif(DJVU_FOUND)

# HAVE_GOCR_LIB

pkg_check_modules(LEPT lept)
if(LEPT_FOUND)
  set(HAVE_LEPTONICA_LIB 1)
  set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${LEPT_LDFLAGS})
  include_directories(SYSTEM ${LEPT_INCLUDEDIR})
endif(LEPT_FOUND)

pkg_check_modules(TESSERACT tesseract)
if(TESSERACT_FOUND)
  set(HAVE_TESSERACT_LIB 1)
  set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${TESSERACT_LDFLAGS})
  include_directories(SYSTEM ${TESSERACT_INCLUDEDIR})
endif(TESSERACT_FOUND)

# ---- Describe project

SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_CMAKE -Wall")

include_directories(. "${PROJECT_BINARY_DIR}" willuslib k2pdfoptlib)

configure_file (
  "${PROJECT_SOURCE_DIR}/config.h.in"
  "${PROJECT_BINARY_DIR}/config.h"
)

add_subdirectory(willuslib)
add_subdirectory(k2pdfoptlib)

# ms
add_executable(k2pdfopt k2pdfopt.c)
target_link_libraries (k2pdfopt k2pdfoptlib willuslib ${K2PDFOPT_LIB} pthread)


message("")
message("-- Summary --")
message("")
message("General:")
message("	C-flags:	'${CMAKE_C_FLAGS}' (-DCMAKE_C_FLAGS=\"...\")")
message("	Build type:	${CMAKE_BUILD_TYPE} (-DCMAKE_BUILD_TYPE=\"...\")")
message("")
message("Install:")
message("	Prefix:		'${CMAKE_INSTALL_PREFIX}' (-DCMAKE_INSTALL_PREFIX=...)")
message("	Doc path:	'${DOC_PATH}' (-DDOC_PATH=...)")
message("")