summaryrefslogtreecommitdiff
path: root/Build/source/libs/gd/libgd-src/src/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/gd/libgd-src/src/CMakeLists.txt')
-rw-r--r--Build/source/libs/gd/libgd-src/src/CMakeLists.txt42
1 files changed, 34 insertions, 8 deletions
diff --git a/Build/source/libs/gd/libgd-src/src/CMakeLists.txt b/Build/source/libs/gd/libgd-src/src/CMakeLists.txt
index 08fd6991bbe..629e0fc745e 100644
--- a/Build/source/libs/gd/libgd-src/src/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/src/CMakeLists.txt
@@ -1,4 +1,3 @@
-
SET (LIBGD_SRC_FILES
bmp.h
gd.c
@@ -69,17 +68,27 @@ SET (LIBGD_SRC_FILES
wbmp.h
)
-if(MSVC AND MSVC_VERSION LESS 1900)
- set(LIBGD_SRC_FILES ${LIBGD_SRC_FILES}
- snprintf.c
+# 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
)
-endif(MSVC AND MSVC_VERSION LESS 1900)
+ if(MSVC_VERSION LESS 1900)
+ set(LIBGD_SRC_FILES ${LIBGD_SRC_FILES}
+ snprintf.c
+ )
+ endif(MSVC_VERSION LESS 1900)
+endif(MSVC)
include(GNUInstallDirs)
if (BUILD_SHARED_LIBS)
add_library(${GD_LIB} ${LIBGD_SRC_FILES})
set_target_properties(${GD_LIB} PROPERTIES
+ SOVERSION ${GDLIB_LIB_SOVERSION}
+ VERSION ${GDLIB_LIB_VERSION}
C_VISIBILITY_PRESET hidden
CXX_VISIBILITY_PRESET hidden
)
@@ -92,14 +101,24 @@ if (BUILD_STATIC_LIBS)
endif()
endif()
+if (NOT "${GD_PROGRAMS_LIB_SRC_FILES}" STREQUAL "")
+ add_library(gd_programs_lib STATIC ${GD_PROGRAMS_LIB_SRC_FILES})
+endif()
+
if (WIN32 AND NOT MINGW AND NOT MSYS)
# SET_TARGET_PROPERTIES(${GD_LIB} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:msvcrt.lib")
- SET_PROPERTY(TARGET ${GD_LIB_STATIC} APPEND PROPERTY COMPILE_DEFINITIONS NONDLL=1)
+
+ if (BUILD_STATIC_LIBS)
+ SET_PROPERTY(TARGET ${GD_LIB_STATIC} APPEND PROPERTY COMPILE_DEFINITIONS NONDLL=1)
+ endif()
+
ENDIF(WIN32 AND NOT MINGW AND NOT MSYS)
if (MINGW OR MSYS)
ADD_DEFINITIONS("-mms-bitfields")
- set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB})
+ if (BUILD_STATIC_LIBS)
+ set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB})
+ endif()
endif (MINGW OR MSYS)
INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_SOURCE_DIR}/src")
@@ -115,6 +134,7 @@ SET(LIBGD_DEP_LIBS
${XPM_LIBRARIES}
${FONTCONFIG_LIBRARY}
${WEBP_LIBRARIES}
+ ${RAQM_LIBRARIES}
)
if (BUILD_SHARED_LIBS)
target_link_libraries(${GD_LIB} ${LIBGD_DEP_LIBS})
@@ -132,7 +152,7 @@ if (PNG_FOUND)
endif()
endif()
-if (FREETYPE_FOUND)
+if (FREETYPE_FOUND AND JPEG_FOUND)
set(GD_PROGRAMS ${GD_PROGRAMS} annotate)
endif()
@@ -147,6 +167,9 @@ foreach(program ${GD_PROGRAMS})
else()
target_link_libraries(${program} ${GD_LIB_STATIC})
endif()
+ if (NOT "${GD_PROGRAMS_LIB_SRC_FILES}" STREQUAL "")
+ target_link_libraries(${program} gd_programs_lib)
+ endif()
endforeach(program)
set(GD_INSTALL_TARGETS ${GD_PROGRAMS})
@@ -177,3 +200,6 @@ install(FILES
gdfx.h
gdpp.h
DESTINATION include)
+
+CONFIGURE_FILE(../config/gdlib.pc.cmake gdlib.pc @ONLY)
+INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/gdlib.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")