2007-10-04 04:46:36 -07:00
|
|
|
SET (LIBGD_SRC_FILES
|
|
|
|
gd.c
|
2021-03-03 18:35:56 -08:00
|
|
|
gd_avif.c
|
2016-04-30 12:58:11 -07:00
|
|
|
gd_bmp.c
|
2008-11-23 06:32:35 -08:00
|
|
|
gd_color.c
|
2008-08-14 20:08:55 -07:00
|
|
|
gd_color_map.c
|
2016-07-22 03:05:23 -07:00
|
|
|
gd_color_match.c
|
2007-12-12 07:56:03 -08:00
|
|
|
gd_crop.c
|
2016-04-30 12:58:11 -07:00
|
|
|
gd_filename.c
|
2009-09-19 18:47:28 -07:00
|
|
|
gd_filter.c
|
2007-10-04 04:46:36 -07:00
|
|
|
gd_gd.c
|
|
|
|
gd_gd2.c
|
2016-04-30 12:58:11 -07:00
|
|
|
gd_gif_in.c
|
|
|
|
gd_gif_out.c
|
2021-03-02 09:32:03 -08:00
|
|
|
gd_heif.c
|
2016-04-30 12:58:11 -07:00
|
|
|
gd_interpolation.c
|
2007-10-04 04:46:36 -07:00
|
|
|
gd_io.c
|
|
|
|
gd_io_dp.c
|
|
|
|
gd_io_file.c
|
|
|
|
gd_io_ss.c
|
2016-04-30 12:58:11 -07:00
|
|
|
gd_io_stream.cxx
|
2007-10-04 04:46:36 -07:00
|
|
|
gd_jpeg.c
|
2013-06-09 23:37:19 -07:00
|
|
|
gd_matrix.c
|
2007-12-30 16:58:38 -08:00
|
|
|
gd_nnquant.c
|
2007-10-04 04:46:36 -07:00
|
|
|
gd_png.c
|
2013-06-09 23:37:19 -07:00
|
|
|
gd_rotate.c
|
2016-04-30 12:58:11 -07:00
|
|
|
gd_security.c
|
|
|
|
gd_ss.c
|
2007-10-07 12:41:52 -07:00
|
|
|
gd_tga.c
|
2016-04-30 12:58:11 -07:00
|
|
|
gd_tiff.c
|
2007-10-04 04:46:36 -07:00
|
|
|
gd_topal.c
|
2016-04-30 12:58:11 -07:00
|
|
|
gd_transform.c
|
|
|
|
gd_version.c
|
2007-10-04 04:46:36 -07:00
|
|
|
gd_wbmp.c
|
2016-04-30 12:58:11 -07:00
|
|
|
gd_webp.c
|
|
|
|
gd_xbm.c
|
2007-10-04 04:46:36 -07:00
|
|
|
gdcache.c
|
|
|
|
gdfontg.c
|
|
|
|
gdfontl.c
|
|
|
|
gdfontmb.c
|
|
|
|
gdfonts.c
|
|
|
|
gdfontt.c
|
|
|
|
gdft.c
|
2016-04-30 12:58:11 -07:00
|
|
|
gdfx.c
|
2007-10-04 04:46:36 -07:00
|
|
|
gdhelpers.c
|
|
|
|
gdkanji.c
|
2016-04-30 12:58:11 -07:00
|
|
|
gdpp.cxx
|
2007-10-04 04:46:36 -07:00
|
|
|
gdtables.c
|
|
|
|
gdxpm.c
|
|
|
|
wbmp.c
|
|
|
|
)
|
|
|
|
|
2018-01-09 22:33:23 -08:00
|
|
|
# Static library just for utility programs.
|
|
|
|
SET (GD_PROGRAMS_LIB_SRC_FILES)
|
|
|
|
|
|
|
|
if(MSVC)
|
|
|
|
set(GD_PROGRAMS_LIB_SRC_FILES ${GD_PROGRAMS_LIB_SRC_FILES}
|
|
|
|
getopt.c
|
2015-11-17 03:19:15 -08:00
|
|
|
)
|
2018-01-09 22:33:23 -08:00
|
|
|
endif(MSVC)
|
2015-11-17 03:19:15 -08:00
|
|
|
|
2015-05-07 00:35:03 -07:00
|
|
|
include(GNUInstallDirs)
|
2015-08-27 09:41:25 -07:00
|
|
|
|
|
|
|
if (BUILD_SHARED_LIBS)
|
2016-07-22 02:49:15 -07:00
|
|
|
add_library(${GD_LIB} ${LIBGD_SRC_FILES})
|
|
|
|
set_target_properties(${GD_LIB} PROPERTIES
|
2016-07-23 11:44:20 -07:00
|
|
|
SOVERSION ${GDLIB_LIB_SOVERSION}
|
|
|
|
VERSION ${GDLIB_LIB_VERSION}
|
2016-07-22 02:49:15 -07:00
|
|
|
C_VISIBILITY_PRESET hidden
|
|
|
|
CXX_VISIBILITY_PRESET hidden
|
|
|
|
)
|
2015-08-27 09:41:25 -07:00
|
|
|
endif()
|
|
|
|
|
2016-07-22 02:39:04 -07:00
|
|
|
if (BUILD_STATIC_LIBS)
|
|
|
|
add_library(${GD_LIB_STATIC} STATIC ${LIBGD_SRC_FILES})
|
|
|
|
if (UNIX)
|
|
|
|
set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB})
|
|
|
|
endif()
|
|
|
|
endif()
|
2007-10-04 04:46:36 -07:00
|
|
|
|
2018-01-09 22:33:23 -08:00
|
|
|
if (NOT "${GD_PROGRAMS_LIB_SRC_FILES}" STREQUAL "")
|
|
|
|
add_library(gd_programs_lib STATIC ${GD_PROGRAMS_LIB_SRC_FILES})
|
|
|
|
endif()
|
|
|
|
|
2008-04-17 14:01:01 -07:00
|
|
|
if (WIN32 AND NOT MINGW AND NOT MSYS)
|
2014-10-17 09:56:54 -07:00
|
|
|
# SET_TARGET_PROPERTIES(${GD_LIB} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:msvcrt.lib")
|
2018-09-09 15:26:01 -07:00
|
|
|
|
|
|
|
if (BUILD_STATIC_LIBS)
|
|
|
|
SET_PROPERTY(TARGET ${GD_LIB_STATIC} APPEND PROPERTY COMPILE_DEFINITIONS NONDLL=1)
|
|
|
|
endif()
|
|
|
|
|
2008-04-17 14:01:01 -07:00
|
|
|
ENDIF(WIN32 AND NOT MINGW AND NOT MSYS)
|
2007-10-04 04:46:36 -07:00
|
|
|
|
2008-05-09 01:13:08 -07:00
|
|
|
if (MINGW OR MSYS)
|
|
|
|
ADD_DEFINITIONS("-mms-bitfields")
|
2019-09-29 09:56:39 -07:00
|
|
|
if (BUILD_STATIC_LIBS)
|
|
|
|
set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB})
|
|
|
|
endif()
|
2008-05-09 01:13:08 -07:00
|
|
|
endif (MINGW OR MSYS)
|
|
|
|
|
2013-04-20 15:23:45 -07:00
|
|
|
INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_SOURCE_DIR}/src")
|
2007-10-04 04:46:36 -07:00
|
|
|
|
2016-07-22 02:39:04 -07:00
|
|
|
SET(LIBGD_DEP_LIBS
|
|
|
|
${ZLIB_LIBRARIES}
|
|
|
|
${FREETYPE_LIBRARIES}
|
|
|
|
${PNG_LIBRARIES}
|
|
|
|
${ICONV_LIBRARIES}
|
|
|
|
${LIQ_LIBRARIES}
|
|
|
|
${JPEG_LIBRARIES}
|
|
|
|
${TIFF_LIBRARIES}
|
|
|
|
${XPM_LIBRARIES}
|
|
|
|
${FONTCONFIG_LIBRARY}
|
|
|
|
${WEBP_LIBRARIES}
|
2021-03-03 18:35:56 -08:00
|
|
|
${AVIF_LIBRARIES}
|
2019-11-01 06:26:53 -07:00
|
|
|
${RAQM_LIBRARIES}
|
2021-03-02 09:32:03 -08:00
|
|
|
${HEIF_LIBRARIES}
|
2016-07-22 02:39:04 -07:00
|
|
|
)
|
2015-08-27 09:41:25 -07:00
|
|
|
if (BUILD_SHARED_LIBS)
|
2016-07-22 02:39:04 -07:00
|
|
|
target_link_libraries(${GD_LIB} ${LIBGD_DEP_LIBS})
|
|
|
|
endif()
|
|
|
|
if (BUILD_STATIC_LIBS)
|
|
|
|
target_link_libraries(${GD_LIB_STATIC} ${LIBGD_DEP_LIBS})
|
2015-08-27 09:41:25 -07:00
|
|
|
endif()
|
2007-10-04 04:46:36 -07:00
|
|
|
|
2020-06-17 23:55:32 -07:00
|
|
|
SET(LIBS_PRIVATES
|
|
|
|
${ICONV_LIBRARIES}
|
|
|
|
${LIQ_LIBRARIES}
|
|
|
|
${WEBP_LIBRARIES}
|
|
|
|
)
|
|
|
|
|
2016-05-13 22:01:44 -07:00
|
|
|
set(GD_PROGRAMS gdcmpgif)
|
|
|
|
|
|
|
|
if (PNG_FOUND)
|
2021-08-23 07:05:17 -07:00
|
|
|
set(GD_PROGRAMS ${GD_PROGRAMS} gdtopng pngtogd)
|
2022-04-15 01:34:24 -07:00
|
|
|
if (NOT MSVC)
|
2021-08-23 06:27:40 -07:00
|
|
|
set(GD_PROGRAMS ${GD_PROGRAMS} webpng)
|
2022-04-15 01:34:24 -07:00
|
|
|
endif (NOT MSVC)
|
2016-05-13 22:01:44 -07:00
|
|
|
if (ZLIB_FOUND)
|
|
|
|
set(GD_PROGRAMS ${GD_PROGRAMS} gdparttopng gd2topng pngtogd2)
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
2018-06-21 20:55:11 -07:00
|
|
|
if (FREETYPE_FOUND AND JPEG_FOUND)
|
2021-08-23 07:18:29 -07:00
|
|
|
if (NOT WIN32)
|
|
|
|
set(GD_PROGRAMS ${GD_PROGRAMS} annotate)
|
|
|
|
endif (NOT WIN32)
|
2016-05-13 22:01:44 -07:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if (ZLIB_FOUND)
|
|
|
|
set(GD_PROGRAMS ${GD_PROGRAMS} gd2copypal gd2togif giftogd2)
|
|
|
|
endif()
|
|
|
|
|
2008-12-12 09:09:39 -08:00
|
|
|
foreach(program ${GD_PROGRAMS})
|
|
|
|
add_executable(${program} ${program}.c)
|
2021-08-23 07:05:17 -07:00
|
|
|
|
2015-08-27 09:41:25 -07:00
|
|
|
if (BUILD_SHARED_LIBS)
|
|
|
|
target_link_libraries(${program} ${GD_LIB})
|
|
|
|
else()
|
|
|
|
target_link_libraries(${program} ${GD_LIB_STATIC})
|
|
|
|
endif()
|
2018-01-09 22:33:23 -08:00
|
|
|
if (NOT "${GD_PROGRAMS_LIB_SRC_FILES}" STREQUAL "")
|
|
|
|
target_link_libraries(${program} gd_programs_lib)
|
|
|
|
endif()
|
2008-12-12 09:09:39 -08:00
|
|
|
endforeach(program)
|
2007-10-04 04:46:36 -07:00
|
|
|
|
2016-07-22 02:39:04 -07:00
|
|
|
set(GD_INSTALL_TARGETS ${GD_PROGRAMS})
|
2015-08-27 09:41:25 -07:00
|
|
|
if (BUILD_SHARED_LIBS)
|
2016-07-22 02:39:04 -07:00
|
|
|
set(GD_INSTALL_TARGETS ${GD_INSTALL_TARGETS} ${GD_LIB})
|
|
|
|
endif()
|
|
|
|
if (BUILD_STATIC_LIBS)
|
|
|
|
set(GD_INSTALL_TARGETS ${GD_INSTALL_TARGETS} ${GD_LIB_STATIC})
|
2015-08-27 09:41:25 -07:00
|
|
|
endif()
|
|
|
|
|
|
|
|
install(TARGETS ${GD_INSTALL_TARGETS}
|
2008-12-12 09:09:39 -08:00
|
|
|
RUNTIME DESTINATION bin
|
2015-05-07 00:35:03 -07:00
|
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
2008-12-12 09:09:39 -08:00
|
|
|
install(PROGRAMS bdftogd DESTINATION bin)
|
2016-04-30 18:12:51 -07:00
|
|
|
install(FILES
|
|
|
|
gd.h
|
|
|
|
gd_color_map.h
|
|
|
|
gd_errors.h
|
|
|
|
gd_io.h
|
|
|
|
gdcache.h
|
|
|
|
gdfontg.h
|
|
|
|
gdfontl.h
|
|
|
|
gdfontmb.h
|
|
|
|
gdfonts.h
|
|
|
|
gdfontt.h
|
|
|
|
gdfx.h
|
|
|
|
gdpp.h
|
|
|
|
DESTINATION include)
|
2018-01-09 22:56:10 -08:00
|
|
|
|
|
|
|
CONFIGURE_FILE(../config/gdlib.pc.cmake gdlib.pc @ONLY)
|
|
|
|
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/gdlib.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
|