Make BUILD_SHARED_LIBS configurable
As previously build both shared and static if BUILD_SHARED_LIBS is ON. Otherwise build static only.master
parent
4751b606fa
commit
7147b646f4
|
@ -191,8 +191,7 @@ else (USE_EXT_GD)
|
|||
|
||||
CONFIGURE_FILE(${GD_SOURCE_DIR}/src/config.h.cmake ${GD_SOURCE_DIR}/src/config.h ESCAPE_QUOTES)
|
||||
|
||||
|
||||
set(BUILD_SHARED_LIBS On)
|
||||
option(BUILD_SHARED_LIBS "Build both shared and static libs" ON)
|
||||
|
||||
if (WIN32)
|
||||
SET(GD_LIB libgd)
|
||||
|
|
|
@ -16,9 +16,15 @@ if (TIFF_FOUND)
|
|||
LIST(APPEND TESTS_FILES tiffread)
|
||||
endif (TIFF_FOUND)
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set(GD_LINK_LIB ${GD_LIB})
|
||||
else()
|
||||
set(GD_LINK_LIB ${GD_LIB_STATIC})
|
||||
endif()
|
||||
|
||||
FOREACH(test_name ${TESTS_FILES})
|
||||
add_executable(${test_name} "${test_name}.c")
|
||||
target_link_libraries (${test_name} ${GD_LIB})
|
||||
target_link_libraries (${test_name} ${GD_LINK_LIB})
|
||||
ENDFOREACH(test_name)
|
||||
|
||||
if(JPEG_FOUND)
|
||||
|
@ -29,11 +35,11 @@ endif(JPEG_FOUND)
|
|||
|
||||
if (WIN32 AND NOT MINGW AND NOT MSYS)
|
||||
add_executable(windows WIN32 "windows.c")
|
||||
target_link_libraries (windows ${GD_LIB})
|
||||
target_link_libraries (windows ${GD_LINK_LIB})
|
||||
else (WIN32 AND NOT MINGW AND NOT MSYS)
|
||||
if (MINGW OR MSYS)
|
||||
add_executable(windows "windows.c")
|
||||
add_definitions("-mwindows")
|
||||
target_link_libraries(windows ${GD_LIB} stdc++ gdi32)
|
||||
target_link_libraries(windows ${GD_LINK_LIB} stdc++ gdi32)
|
||||
endif (MINGW OR MSYS)
|
||||
endif (WIN32 AND NOT MINGW AND NOT MSYS)
|
||||
|
|
|
@ -67,7 +67,11 @@ SET (LIBGD_SRC_FILES
|
|||
)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
add_library(${GD_LIB} ${LIBGD_SRC_FILES})
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library(${GD_LIB} ${LIBGD_SRC_FILES})
|
||||
endif()
|
||||
|
||||
add_library(${GD_LIB_STATIC} STATIC ${LIBGD_SRC_FILES})
|
||||
|
||||
if (WIN32 AND NOT MINGW AND NOT MSYS)
|
||||
|
@ -86,16 +90,29 @@ endif (MINGW OR MSYS)
|
|||
|
||||
INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_SOURCE_DIR}/src")
|
||||
|
||||
target_link_libraries(${GD_LIB} ${ZLIB_LIBRARIES} ${FREETYPE_LIBRARIES} ${PNG_LIBRARIES} ${ICONV_LIBRARIES} ${LIQ_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES} ${XPM_LIBRARIES} ${FONTCONFIG_LIBRARY} ${WEBP_LIBRARIES})
|
||||
if (BUILD_SHARED_LIBS)
|
||||
target_link_libraries(${GD_LIB} ${ZLIB_LIBRARIES} ${FREETYPE_LIBRARIES} ${PNG_LIBRARIES} ${ICONV_LIBRARIES} ${LIQ_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES} ${XPM_LIBRARIES} ${FONTCONFIG_LIBRARY} ${WEBP_LIBRARIES})
|
||||
endif()
|
||||
|
||||
target_link_libraries(${GD_LIB_STATIC} ${ZLIB_LIBRARIES} ${FREETYPE_LIBRARIES} ${PNG_LIBRARIES} ${ICONV_LIBRARIES} ${LIQ_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES} ${XPM_LIBRARIES} ${FONTCONFIG_LIBRARY} ${WEBP_LIBRARIES} )
|
||||
|
||||
set(GD_PROGRAMS annotate gdparttopng gdtopng gd2copypal gd2topng pngtogd pngtogd2 webpng gd2togif gdcmpgif giftogd2)
|
||||
foreach(program ${GD_PROGRAMS})
|
||||
add_executable(${program} ${program}.c)
|
||||
target_link_libraries(${program} ${GD_LIB})
|
||||
if (BUILD_SHARED_LIBS)
|
||||
target_link_libraries(${program} ${GD_LIB})
|
||||
else()
|
||||
target_link_libraries(${program} ${GD_LIB_STATIC})
|
||||
endif()
|
||||
endforeach(program)
|
||||
|
||||
install(TARGETS ${GD_LIB} ${GD_LIB_STATIC} ${GD_PROGRAMS}
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set(GD_INSTALL_TARGETS ${GD_LIB} ${GD_LIB_STATIC} ${GD_PROGRAMS})
|
||||
else()
|
||||
set(GD_INSTALL_TARGETS ${GD_LIB_STATIC} ${GD_PROGRAMS})
|
||||
endif()
|
||||
|
||||
install(TARGETS ${GD_INSTALL_TARGETS}
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
|
|
Loading…
Reference in New Issue