1
0
mirror of https://github.com/pdf2htmlEX/pdf2htmlEX.git synced 2024-07-04 17:18:40 +00:00

better cmake

This commit is contained in:
Lu Wang 2012-09-17 00:52:02 +08:00
parent fda40cb997
commit 8da7238037
2 changed files with 46 additions and 32 deletions

View File

@ -3,16 +3,25 @@ cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
include_directories(${CMAKE_SOURCE_DIR}/src/include) include_directories(${CMAKE_SOURCE_DIR}/src/include)
set(PDF2HTMLEX_VERSION "0.4")
set(ARCHIVE_NAME pdf2htmlex-${PDF2HTMLEX_VERSION})
add_custom_target(dist
COMMAND git archive --prefix=${ARCHIVE_NAME}/ HEAD
| bzip2 > ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
find_package(PkgConfig) find_package(PkgConfig)
pkg_check_modules(POPPLER REQUIRED poppler>=0.20.0) pkg_check_modules(POPPLER REQUIRED poppler>=0.20.0)
include_directories(${POPPLER_INCLUDE_DIRS}) include_directories(${POPPLER_INCLUDE_DIRS})
link_directories(${POPPLER_LIBRARY_DIRS}) link_directories(${POPPLER_LIBRARY_DIRS})
set(PDF2HTMLEX_LIBS ${PDF2HTMLEX_LIBS} ${POPPLER_LIBRARIES})
# fontforge starts using pkg-config 'correctly' since 2.0.0 # fontforge starts using pkg-config 'correctly' since 2.0.0
pkg_check_modules(FONTFORGE libfontforge>=2.0.0) pkg_check_modules(FONTFORGE libfontforge>=2.0.0)
if(FONTFORGE_FOUND) if(FONTFORGE_FOUND)
include_directories(${FONTFORGE_INCLUDE_DIRS}) include_directories(${FONTFORGE_INCLUDE_DIRS})
link_directories(${FONTFORGE_LIBRARY_DIRS}) link_directories(${FONTFORGE_LIBRARY_DIRS})
set(PDF2HTMLEX_LIBS ${PDF2HTMLEX_LIBS} ${FONTFORGE_LIBRARIES})
else() else()
find_path(FF_INCLUDE_PATH fontforge/fontforge.h) find_path(FF_INCLUDE_PATH fontforge/fontforge.h)
if(FF_INCLUDE_PATH) if(FF_INCLUDE_PATH)
@ -33,42 +42,48 @@ else()
message(FATAL_ERROR "Error: cannot locate fontforge.h") message(FATAL_ERROR "Error: cannot locate fontforge.h")
endif() endif()
foreach(FF_LIB_NAME find_path(FF_CONFIG_INCLUDE_PATH config.h PATHS ${FONTFORGE_INCLUDE_DIRS})
${CMAKE_IMPORT_LIBRARY_PREFIX}fontforge${CMAKE_IMPORT_LIBRARY_SUFFIX} if(FF_CONFIG_INCLUDE_PATH)
${CMAKE_SHARED_LIBRARY_PREFIX}fontforge${CMAKE_SHARED_LIBRARY_SUFFIX} set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -include ${FF_CONFIG_INCLUDE_PATH}/config.h")
${CMAKE_STATIC_LIBRARY_PREFIX}fontforge${CMAKE_STATIC_LIBRARY_SUFFIX} else()
) message("Cannot locate config.h for fontforge")
find_library(FF_LIB ${FF_LIB_NAME})
if(FF_LIB)
message("Found ${FF_LIB_NAME}: ${FF_LIB}")
set(FONTFORGE_LIBRARIES ${FF_LIB})
break()
endif() endif()
endforeach()
if(NOT FF_LIB) macro(wl_find_library LIB_NAME RESULT)
unset(RESULT)
foreach(FULL_LIB_NAME
${CMAKE_IMPORT_LIBRARY_PREFIX}${LIB_NAME}${CMAKE_IMPORT_LIBRARY_SUFFIX}
${CMAKE_SHARED_LIBRARY_PREFIX}${LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
${CMAKE_STATIC_LIBRARY_PREFIX}${LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
)
find_library(FULL_LIB ${FULL_LIB_NAME})
if(FULL_LIB)
message("Found ${LIB_NAME}: ${FULL_LIB}")
set(${RESULT} ${FULL_LIB})
unset(FULL_LIB)
break()
endif()
endforeach()
unset(FULL_LIB_NAME)
unset(FULL_LIB_NAME CACHE)
unset(FULL_LIB)
unset(FULL_LIB CACHE)
endmacro()
wl_find_library(fontforge FONTFORGE_LIBRARIES)
if(NOT DEFINED FONTFORGE_LIBRARIES)
set(FONTFORGE_LIBRARIES fontforge) set(FONTFORGE_LIBRARIES fontforge)
message("Error: cannot locate ${FF_LIB_NAME}") message("Error: cannot locate fontforge")
endif() endif()
set(PDF2HTMLEX_LIBS ${PDF2HTMLEX_LIBS} ${FONTFORGE_LIBRARIES})
wl_find_library(gunicode GUNICODE_LIBRARIES)
set(PDF2HTMLEX_LIBS ${PDF2HTMLEX_LIBS} ${GUNICODE_LIBRARIES})
message("Looking for libraries of python, which is required by fontforge, if you can link fontforge without python, you may disable this") message("Looking for libraries of python, which is required by fontforge, if you can link fontforge without python, you may disable this")
pkg_search_module(PYTHON python python-2.7) pkg_search_module(PYTHON python python-2.7)
set(PDF2HTMLEX_LIBS ${PDF2HTMLEX_LIBS} ${PYTHON_LIBRARIES})
endif() endif()
find_path(FF_CONFIG_INCLUDE_PATH config.h PATHS ${FONTFORGE_INCLUDE_DIRS})
if(FF_CONFIG_INCLUDE_PATH)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -include ${FF_CONFIG_INCLUDE_PATH}/config.h")
else()
message("Cannot locate config.h for fontforge")
endif()
set(PDF2HTMLEX_VERSION "0.4")
set(ARCHIVE_NAME pdf2htmlex-${PDF2HTMLEX_VERSION})
add_custom_target(dist
COMMAND git archive --prefix=${ARCHIVE_NAME}/ HEAD
| bzip2 > ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wunused-function") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wunused-function")
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
@ -115,8 +130,7 @@ add_executable(pdf2htmlEX
src/ArgParser.cc src/ArgParser.cc
src/include/pdf2htmlEX-config.h src/include/pdf2htmlEX-config.h
) )
target_link_libraries(pdf2htmlEX ${PDF2HTMLEX_LIBS})
target_link_libraries(pdf2htmlEX ${POPPLER_LIBRARIES} ${FONTFORGE_LIBRARIES} ${PYTHON_LIBRARIES})
install (TARGETS pdf2htmlEX DESTINATION bin) install (TARGETS pdf2htmlEX DESTINATION bin)
file (GLOB datafiles share/*) file (GLOB datafiles share/*)

4
debian/changelog vendored
View File

@ -1,8 +1,8 @@
pdf2htmlex (0.4-1~git201209162203r8b4ec-0ubuntu1) precise; urgency=low pdf2htmlex (0.4-1~git201209162328r8b4ec-0ubuntu1) precise; urgency=low
* Regularly re-packing. * Regularly re-packing.
-- WANG Lu <coolwanglu@gmail.com> Sun, 16 Sep 2012 22:03:32 +0800 -- WANG Lu <coolwanglu@gmail.com> Sun, 16 Sep 2012 23:28:03 +0800
pdf2htmlex (0.3-1~git201209152353rf02e1-0ubuntu1) precise; urgency=low pdf2htmlex (0.3-1~git201209152353rf02e1-0ubuntu1) precise; urgency=low