Source

gd-libgd / CMakeLists.txt

Full commit
pajoye aa70599 
pajoye 02cc792 
pajoye 9f7be65 


Takeshi Abe 048457b 
Pierre Joye 843e64b 
pajoye d2d6bc0 
pajoye 9f7be65 
pajoye fcbe3c5 

Pierre Joye 0c21e2c 







pajoye c9972ad 
pajoye fcbe3c5 



tabe 6694e23 





Pierre Joye fc645c7 


















pajoye af2ee8b 
pajoye fcbe3c5 





Takeshi Abe 5419ab4 
pajoye fcbe3c5 









pajoye 9f7be65 
pajoye fcbe3c5 
pajoye 43d4d06 

Ondřej Surý b22f988 

pajoye fcbe3c5 

pajoye e9aa972 
pajoye fcbe3c5 








pajoye 9f7be65 



pajoye 109b14f 
pajoye 9f7be65 
Pierre Joye 0c21e2c 



pornel cfa2336 



pajoye c7610d0 



pajoye 9f7be65 










pajoye 4ce7a01 
pajoye 9f7be65 


pajoye ed2171b 
pajoye 9f7be65 
Takeshi Abe e204de5 
pajoye 9f7be65 
pajoye fcbe3c5 

Takeshi Abe 21da315 
nlopess 797f773 
pajoye 43d4d06 
pajoye fcbe3c5 


Marcin Wojdyr 216e1f3 
pajoye fcbe3c5 

Pierre Joye 0c21e2c 




pajoye fcbe3c5 





pornel cfa2336 




pajoye fcbe3c5 





pajoye 0f6a4b6 
pajoye fcbe3c5 


pajoye 4ce7a01 


pajoye ddf0248 
pajoye 4ce7a01 
pajoye fcbe3c5 


pajoye 43d4d06 
Takeshi Abe e204de5 
pajoye ed2171b 

pajoye fcbe3c5 




pajoye b4db533 
Ondřej Surý 9d20d61 


Pierre Joye 0845679 
Pierre Joye 965eced 
pajoye 5562b63 
pajoye 09746d3 


Pierre Joye fc645c7 
Ondřej Surý 302d124 
pajoye 1844a0d 



pajoye 0f6a4b6 
pajoye 1844a0d 
pajoye 0f6a4b6 
pajoye 109b14f 
pajoye 09746d3 
pajoye 109b14f 
pajoye 09746d3 
pajoye 1844a0d 

pajoye c7610d0 




pajoye e9aa972 


pajoye 09746d3 
pajoye fcbe3c5 
pajoye 109b14f 
pajoye 009d0b8 
pajoye ddf0248 
Pierre Joye b4ca453 
pajoye 82c4d81 
pajoye 1844a0d 












pornel cfa2336 



pajoye 1844a0d 
Pierre Joye b4ca453 
Pierre Joye 4e6b784 






















Pierre Joye b4ca453 

pajoye 1844a0d 



Pierre Joye b4ca453 
pajoye 1844a0d 





# $Id$

SET(PACKAGE GD)
SET(PACKAGE_NAME GD)

CMAKE_MINIMUM_REQUIRED(VERSION 2.6 FATAL_ERROR)
CMAKE_POLICY(SET CMP0017 OLD)
PROJECT(GD)

SET(CMAKE_MODULE_PATH "${GD_SOURCE_DIR}/cmake/modules")

OPTION(ENABLE_PNG "Enable PNG support" 0)
OPTION(ENABLE_LIQ "Enable libimagequant support" 0)
OPTION(ENABLE_JPEG "Enable JPEG support" 0)
OPTION(ENABLE_TIFF "Enable TIFF support" 0)
OPTION(ENABLE_XPM "Enable XPM support" 0)
OPTION(ENABLE_FREETYPE "Enable Freetype2 support" 0)
OPTION(ENABLE_FONTCONFIG "Enable FontConfig support" 0)
OPTION(ENABLE_WEBP "Enable WebP support" 0)

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)
SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY 
  ${PROJECT_BINARY_DIR}/Bin 
  CACHE PATH 
  "Single Directory for all Libraries" 
  )

# --------- Setup the Executable output Directory ------------- 
SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY 
  ${PROJECT_BINARY_DIR}/Bin 
  CACHE PATH 
  "Single Directory for all Executables." 
  )

# --------- Setup the Executable output Directory ------------- 
SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY 
  ${PROJECT_BINARY_DIR}/Bin 
  CACHE PATH 
  "Single Directory for all static libraries." 
  )

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)

	SET(GD_VERSION_MAJOR "2")
	SET(GD_VERSION_MINOR "1")
	SET(GD_VERSION_PATCH "0")
	SET(GD_VERSION_EXTRA "-alpha1")
	SET(GD_VERSION "${GD_VERSION_MAJOR}.${GD_VERSION_MINOR}.${GD_VERSION_PATCH}${GD_VERSION_EXTRA}")
	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)

	if (ENABLE_PNG)
		FIND_PACKAGE(PNG REQUIRED)
	endif (ENABLE_PNG)

	FIND_PACKAGE(ZLIB)

	IF (ENABLE_WEBP)
		FIND_PACKAGE(VPX)
	ENDIF (ENABLE_WEBP)

	IF (ENABLE_LIQ)
		FIND_PACKAGE(LIQ)
	ENDIF (ENABLE_LIQ)

	IF (NOT WIN32)
		FIND_PACKAGE(PTHREAD)
	ENDIF (NOT WIN32)

	if (ENABLE_JPEG)
		FIND_PACKAGE(JPEG)
	endif (ENABLE_JPEG)

	if (ENABLE_TIFF)
		FIND_PACKAGE(TIFF)
	endif (ENABLE_TIFF)

	if (ENABLE_FREETYPE)
		FIND_PACKAGE(Freetype)
	endif (ENABLE_FREETYPE)

	if (ENABLE_XPM)
		FIND_PACKAGE(XPM)
	endif (ENABLE_XPM)

	if (ENABLE_FONTCONFIG)
		FIND_PACKAGE(FontConfig)
	endif (ENABLE_FONTCONFIG)

	if (FREETYPE_FOUND)
		INCLUDE_DIRECTORIES(${FREETYPE_INCLUDE_DIRS})
		SET(HAVE_FT2BUILD_H 1)
		SET(HAVE_LIBFREETYPE 1)
	ENDIF(FREETYPE_FOUND)

	IF(ZLIB_FOUND)
		INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
		SET(HAVE_LIBZ 1)
	ENDIF(ZLIB_FOUND)

	IF(VPX_FOUND)
		INCLUDE_DIRECTORIES(${VPX_INCLUDE_DIR})
		SET(HAVE_LIBVPX 1)
	ENDIF(VPX_FOUND)

	IF(PNG_FOUND)
		INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
		SET(HAVE_LIBPNG 1)
	ENDIF(PNG_FOUND)

	IF(LIQ_FOUND)
		INCLUDE_DIRECTORIES(${LIQ_INCLUDE_DIR})
		SET(HAVE_LIBIMAGEQUANT_H 1)
	ENDIF(LIQ_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)

	IF(TIFF_FOUND)
		INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
		SET(HAVE_LIBTIFF 1)
	ENDIF(TIFF_FOUND)

	IF(FONTCONFIG_FOUND)
		INCLUDE_DIRECTORIES(${FONTCONFIG_INCLUDE_DIR})
		SET(HAVE_LIBFONTCONFIG 1)
	ELSE (FONTCONFIG_FOUND)
		SET(FONTCONFIG_LIBRARY "")
		SET(FONTCONFIG_INCLUDE_DIR "")
		SET(FONTCONFIG_LIB_DIR "")
	ENDIF(FONTCONFIG_FOUND)

	SET(HAVE_CONFIG_H 1)

	ADD_DEFINITIONS(-DHAVE_CONFIG_H)

	CHECK_INCLUDE_FILE("stdint.h"	HAVE_STDINT_H)
	CHECK_INCLUDE_FILE("inttypes.h"	HAVE_INTTYPES_H)

	CONFIGURE_FILE(${GD_SOURCE_DIR}/src/config.h.cmake ${GD_SOURCE_DIR}/src/config.h ESCAPE_QUOTES)


	set(BUILD_SHARED_LIBS On)

	if (WIN32)
		SET(GD_LIB libgd)
		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)
	else (WIN32)
		SET(GD_LIB gd)
	endif (WIN32)

	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})

	add_subdirectory(src)
endif (USE_EXT_GD)

add_subdirectory(tests)
add_subdirectory(examples)
add_subdirectory(docs)

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)

IF (ENABLE_LIQ AND LIQ_BUILD)
    ADD_DEPENDENCIES(${GD_LIB} libimagequant)
    ADD_DEPENDENCIES(${GD_LIB_STATIC} libimagequant)
ENDIF(ENABLE_LIQ AND LIQ_BUILD)


INSTALL(FILES docs/INSTALL DESTINATION share/docs)
INSTALL(FILES docs/README.JPN DESTINATION share/docs)
INSTALL(FILES docs/README.CMAKE DESTINATION share/docs)
INSTALL(FILES docs/README.TESTING DESTINATION share/docs)
INSTALL(FILES docs/README.TXT DESTINATION share/docs)


INSTALL(FILES examples/arc.c DESTINATION share/docs)
INSTALL(FILES examples/copyrotated.c DESTINATION share/docs)
INSTALL(FILES examples/crop.c DESTINATION share/docs)
INSTALL(FILES examples/flip.c DESTINATION share/docs)
INSTALL(FILES examples/gif.c DESTINATION share/docs)
INSTALL(FILES examples/nnquant.c DESTINATION share/docs)
INSTALL(FILES examples/noIcon.pic DESTINATION share/docs)
INSTALL(FILES examples/noIcon.sgi DESTINATION share/docs)
INSTALL(FILES examples/noIcon.tga DESTINATION share/docs)
INSTALL(FILES examples/noIconAlpha.tga DESTINATION share/docs)
INSTALL(FILES examples/test_crop_threshold.png DESTINATION share/docs)
INSTALL(FILES examples/tgaread.c DESTINATION share/docs)
INSTALL(FILES examples/tiffread.c DESTINATION share/docs)
INSTALL(FILES examples/windows.c DESTINATION share/docs)


set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")

set(CPACK_SOURCE_GENERATOR TGZ)
set(CPACK_SOURCE_IGNORE_FILES
"~$"
"\\\\.swp$"
"\\\\.gitignore$"
"^${PROJECT_SOURCE_DIR}/debian/"
"^${PROJECT_SOURCE_DIR}/old/"
"^${PROJECT_SOURCE_DIR}/bld/"
)
install(FILES ${top_level_DOCFILES} DESTINATION ${DOC_DIR})
INCLUDE(CPack)