libgd/CMakeLists.txt

210 lines
4.8 KiB
CMake
Raw Normal View History

2007-11-26 23:57:48 -08:00
# $Id$
2008-01-13 13:11:35 -08:00
SET(PACKAGE GD)
SET(PACKAGE_NAME GD)
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.4 FATAL_ERROR)
PROJECT(GD)
2008-01-13 13:11:35 -08:00
SET(CMAKE_MODULE_PATH "${GD_SOURCE_DIR}/cmake/modules")
OPTION(ENABLE_PNG "Enable PNG support" 1)
OPTION(ENABLE_JPEG "Enable JPEG support" 1)
OPTION(ENABLE_TIFF "Enable TIFF support" 1)
OPTION(ENABLE_XPM "Enable XPM support" 1)
OPTION(ENABLE_FREETYPE "Enable Freetype2 support" 1)
OPTION(ENABLE_WBMP "Enable WBMP support" 1)
OPTION(ENABLE_FONTCONFIG "Enable FontConfig support" 1)
if (BUILD_TEST)
ENABLE_TESTING()
endif(BUILD_TEST)
# if you would like to pass C flags to the compiler, then just
# - specify -DCMAKE_C_FLAGS=... on invocation of cmake, or
# - specify CFLAGS=... on invocation of make
IF(CMAKE_COMPILER_IS_GNUCC)
SET(CMAKE_C_FLAGS_DEBUG "-g -Wall -Wextra -O0") # will be added to CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug"
ENDIF(CMAKE_COMPILER_IS_GNUCC)
if (USE_EXT_GD)
message("Using GD at: ${USE_EXT_GD}")
INCLUDE_DIRECTORIES(BEFORE ${GD_INCLUDE_DIR})
FIND_PACKAGE(GD)
if (GD_FOUND)
INCLUDE_DIRECTORIES(BEFORE ${GD_INCLUDE_DIR})
LINK_DIRECTORIES(${GD_LIBRARIES})
SET(GD_LIB ${GD_LIBRARIES})
SET(GD_LIBS_DIR ${GD_LIBRARY})
message("GD libs #: ${GD_LIBRARIES}")
message("GD lib #: ${GD_LIBRARY}")
message("GD include: ${GD_INCLUDE_DIR}")
else (GD_FOUND)
message("No gd found")
endif (GD_FOUND)
else (USE_EXT_GD)
2008-01-13 13:11:35 -08:00
SET(GD_VERSION_MAJOR "2")
SET(GD_VERSION_MINOR "1")
SET(GD_VERSION_PATCH "0")
SET(GD_VERSION "${GD_VERSION_MAJOR}.${GD_VERSION_MINOR}.${GD_VERSION_PATCH}")
SET(GD_VERSION_STRING "${GD_VERSION}")
SET(GD_VERSION_INT "20100")
SET(CMAKE_REQUIRED_INCLUDES "/usr/include" "/usr/local/include")
include(CheckIncludeFiles)
include(CheckIncludeFile)
include(AC_HEADER_STDC)
include(CheckPrototypeExists)
SET(FONTCONFIG_FIND_QUIETLY, 1)
message(STATUS "PNG Support: ${ENABLE_PNG}")
2008-01-13 13:11:35 -08:00
if (ENABLE_PNG)
FIND_PACKAGE(PNG REQUIRED)
endif (ENABLE_PNG)
2008-01-13 13:23:45 -08:00
FIND_PACKAGE(ZLIB)
2008-01-13 13:11:35 -08:00
IF (NOT WIN32)
FIND_PACKAGE(PTHREAD)
ENDIF (NOT WIN32)
FIND_PACKAGE(Freetype)
FIND_PACKAGE(XPM)
2008-01-13 13:11:35 -08:00
if (ENABLE_JPEG)
FIND_PACKAGE(JPEG)
endif (ENABLE_JPEG)
if (ENABLE_TIFF)
FIND_PACKAGE(TIFF)
endif (ENABLE_TIFF)
2008-01-13 13:23:45 -08:00
if (NOT WIN32)
2008-01-13 13:11:35 -08:00
FIND_PACKAGE(PTHREAD)
2008-01-13 13:23:45 -08:00
endif (NOT WIN32)
2008-01-13 13:11:35 -08:00
if (ENABLE_FREETYPE)
FIND_PACKAGE(Freetype)
endif (ENABLE_FREETYPE)
2007-10-04 11:53:57 -07:00
2008-01-13 13:11:35 -08:00
if (ENABLE_XPM)
FIND_PACKAGE(XPM)
endif (ENABLE_XPM)
2008-01-13 13:11:35 -08:00
if (ENABLE_FONTCONFIG)
FIND_PACKAGE(Fontconfig)
endif (ENABLE_FONTCONFIG)
if (FREETYPE_FOUND)
INCLUDE_DIRECTORIES(${FREETYPE_INCLUDE_DIR})
SET(HAVE_FT2BUILD_H 1)
SET(HAVE_LIBFREETYPE 1)
ENDIF(FREETYPE_FOUND)
IF(ZLIB_FOUND)
INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
SET(HAVE_LIBZ 1)
SET(HAVE_LIBPNG_PNG_H 1)
ENDIF(ZLIB_FOUND)
IF(PNG_FOUND)
INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
SET(HAVE_LIBPNG 1)
ENDIF(PNG_FOUND)
IF(XPM_FOUND)
INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR})
SET(HAVE_LIBXPM 1)
ENDIF(XPM_FOUND)
IF(JPEG_FOUND)
INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR})
SET(HAVE_LIBJPEG 1)
ENDIF(JPEG_FOUND)
2007-10-04 11:53:57 -07:00
IF(TIFF_FOUND)
INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
SET(HAVE_LIBTIFF 1)
2007-10-04 22:35:58 -07:00
ENDIF(TIFF_FOUND)
2007-10-04 11:53:57 -07:00
IF(FONTCONFIG_FOUND)
INCLUDE_DIRECTORIES(${FONTCONFIG_INCLUDE_DIR})
SET(HAVE_LIBFONTCONFIG 1)
ELSE (FONTCONFIG_FOUND)
SET(FONTCONFIG_LIBRARIES "")
SET(FONTCONFIG_INCLUDE_DIR "")
SET(FONTCONFIG_LIB_DIR "")
ENDIF(FONTCONFIG_FOUND)
SET(HAVE_CONFIG_H 1)
ADD_DEFINITIONS(-DHAVE_CONFIG_H)
2007-11-28 12:19:24 -08:00
2007-10-04 04:46:36 -07:00
CONFIGURE_FILE(${GD_SOURCE_DIR}/src/config.h.cmake ${CMAKE_BINARY_DIR}/config.h ESCAPE_QUOTES)
2007-10-04 05:14:56 -07:00
set(BUILD_SHARED_LIBS On)
if (WIN32)
SET(GD_LIB bgd)
2008-01-13 13:11:35 -08:00
ADD_DEFINITIONS( -DWIN32 -D_WIN32 -DMSWIN32 -DBGDWIN32 -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0600)
if(NOT MINGW AND MSVC_VERSION GREATER 1399)
ADD_DEFINITIONS("/D_CRT_SECURE_NO_DEPRECATE")
endif(NOT MINGW AND MSVC_VERSION GREATER 1399)
if (MINGW OR MSYS)
ADD_DEFINITIONS("-mms-bitfields -m32")
endif (MINGW OR MSYS)
2008-01-13 13:23:45 -08:00
else (WIN32)
2007-10-04 05:14:56 -07:00
SET(GD_LIB gd)
2008-01-13 13:23:45 -08:00
endif (WIN32)
2007-10-04 05:14:56 -07:00
SET(GD_LIB_STATIC "${GD_LIB}-static")
IF(PROFILE)
add_definitions("-pg")
set(CMAKE_EXE_LINKER_FLAGS ${LINK_FLAGS} "-pg")
ENDIF(PROFILE)
SET(GD_INCLUDE_DIR "${GD_SOURCE_DIR}/src" "${GD_SOURCE_DIR}")
INCLUDE_DIRECTORIES(before ${FONTCONFIG_INCLUDE_DIR})
2007-10-04 05:14:56 -07:00
add_subdirectory(src)
endif (USE_EXT_GD)
2008-01-13 13:23:45 -08:00
add_subdirectory(tests)
2007-10-04 22:35:58 -07:00
add_subdirectory(examples)
2007-10-04 04:46:36 -07:00
SET(CPACK_PACKAGE_NAME "libgd")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "libGD, powerful and easy to use graphic library")
SET(CPACK_PACKAGE_VENDOR "http://www.libgd.org")
SET(CPACK_PACKAGE_VERSION_MAJOR "2")
SET(CPACK_PACKAGE_VERSION_MINOR "1")
SET(CPACK_PACKAGE_VERSION_PATCH "0")
if(WIN32)
set(CPACK_GENERATOR ZIP)
else(WIN32)
set(CPACK_GENERATOR TGZ)
endif(WIN32)
set(CPACK_SOURCE_GENERATOR TGZ)
set(CPACK_SOURCE_IGNORE_FILES
"~$"
"\\\\.swp$"
2013-02-10 02:44:26 -08:00
"\\\\.hgignore$"
"^${PROJECT_SOURCE_DIR}/debian/"
"^${PROJECT_SOURCE_DIR}/old/"
"^${PROJECT_SOURCE_DIR}/bld/"
)
install(FILES ${top_level_DOCFILES} DESTINATION ${DOC_DIR})
INCLUDE(CPack)