Support system-provided CImg only from now on

This commit is contained in:
TheAssassin 2021-12-01 04:56:44 +01:00
parent 01331697d0
commit ae714d69ff
3 changed files with 13 additions and 47 deletions

3
.gitmodules vendored
View File

@ -4,9 +4,6 @@
[submodule "lib/boost-exception"]
path = lib/boost-exception
url = https://github.com/boostorg/exception.git
[submodule "lib/CImg"]
path = lib/CImg
url = https://github.com/dtschump/CImg.git
[submodule "lib/linuxdeploy-desktopfile"]
path = lib/linuxdeploy-desktopfile
url = https://github.com/linuxdeploy/linuxdeploy-desktopfile

View File

@ -3,61 +3,31 @@ cmake_minimum_required(VERSION 3.6)
find_package(PkgConfig)
pkg_check_modules(libpng REQUIRED IMPORTED_TARGET libpng)
pkg_check_modules(libjpeg REQUIRED IMPORTED_TARGET libjpeg)
# build custom static version of libjpeg for static builds
if(STATIC_BUILD)
include(ExternalProject)
message(STATUS "Searching for CImg")
if($ENV{ARCH} MATCHES "i[356]86")
set(configure_command_prefix env CFLAGS=-m32 CXXFLAGS=-m32)
endif()
find_path(CIMG_H_DIR
NAMES CImg.h
HINTS ${CMAKE_INSTALL_PREFIX}
PATH_SUFFIXES include include/linux
)
ExternalProject_Add(libjpeg_static_extproj
URL https://www.ijg.org/files/jpegsrc.v9d.tar.gz
URL_HASH SHA256=6c434a3be59f8f62425b2e3c077e785c9ce30ee5874ea1c270e843f273ba71ee
BUILD_IN_SOURCE ON
EXCLUDE_FROM_ALL ON
CONFIGURE_COMMAND ${configure_command_prefix} ./configure --prefix=/usr
INSTALL_COMMAND ""
)
ExternalProject_Get_property(libjpeg_static_extproj SOURCE_DIR)
add_library(libjpeg_static INTERFACE IMPORTED)
set_property(TARGET libjpeg_static PROPERTY INTERFACE_LINK_LIBRARIES ${SOURCE_DIR}/.libs/libjpeg.a)
add_dependencies(libjpeg_static libjpeg_static_extproj)
set(JPEG_LIBRARIES libjpeg_static)
else()
find_package(JPEG REQUIRED)
endif()
if(NOT USE_SYSTEM_CIMG)
message(STATUS "Using bundled CImg library")
set(CIMG_H_DIR "${PROJECT_SOURCE_DIR}/lib/CImg/")
else()
message(STATUS "Searching for CImg")
find_path(CIMG_H_DIR
NAMES CImg.h
HINTS ${CMAKE_INSTALL_PREFIX}
PATH_SUFFIXES include include/linux
)
if(NOT CIMG_H_DIR)
message(FATAL_ERROR "CImg.h not found")
endif()
if(NOT CIMG_H_DIR)
message(FATAL_ERROR "CImg.h not found")
endif()
set(PNG_INCLUDE_DIR ${libpng_INCLUDE_DIRS})
set(PNG_INCLUDE_DIR ${libjpeg_INCLUDE_DIRS})
if(NOT STATIC_BUILD)
set(PNG_LIBRARY ${libpng_LIBRARIES})
set(JPEG_LIBRARIES ${libjpeg_LIBRARIES})
else()
set(PNG_LIBRARY ${libpng_STATIC_LIBRARIES})
set(JPEG_LIBRARIES ${libjpeg_STATIC_LIBRARIES})
endif()
#message(FATAL_ERROR "${PNG_LIBRARY}")
add_library(CImg INTERFACE)
set_property(TARGET CImg PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CIMG_H_DIR};${PNG_INCLUDE_DIR};${JPEG_INCLUDE_DIR}")
set_property(TARGET CImg PROPERTY INTERFACE_LINK_LIBRARIES "${PNG_LIBRARY};${JPEG_LIBRARIES}")

@ -1 +0,0 @@
Subproject commit 631cb961206c9a8c14c0ec1f1b447f76dc5e88ff