diff options
author | fuzzard <fuzzard@kodi.tv> | 2023-06-13 16:57:55 +1000 |
---|---|---|
committer | fuzzard <fuzzard@kodi.tv> | 2023-06-18 09:47:57 +1000 |
commit | e336a75f42d9c4efd3433f3fa6edd05309689deb (patch) | |
tree | 6056af39ba466cbd210a8a448ae5303aeb8003db /tools/depends/native | |
parent | 9f623fc2856523bac85cff1f8f3e0fc400b117fa (diff) |
[tools/depends][native] Texturepacker update and use CMakelists.txt
Diffstat (limited to 'tools/depends/native')
-rw-r--r-- | tools/depends/native/TexturePacker/CMakeLists.txt | 54 | ||||
-rw-r--r-- | tools/depends/native/TexturePacker/Makefile | 40 | ||||
-rw-r--r-- | tools/depends/native/TexturePacker/src/CMakeLists.txt | 79 |
3 files changed, 90 insertions, 83 deletions
diff --git a/tools/depends/native/TexturePacker/CMakeLists.txt b/tools/depends/native/TexturePacker/CMakeLists.txt deleted file mode 100644 index 97dc1d3244..0000000000 --- a/tools/depends/native/TexturePacker/CMakeLists.txt +++ /dev/null @@ -1,54 +0,0 @@ -list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules) - -if(APPLE) - set(CMAKE_FIND_ROOT_PATH ${NATIVEPREFIX}) -endif() - -find_package(Lzo2 REQUIRED) -find_package(PNG REQUIRED) -find_package(GIF REQUIRED) -find_package(JPEG REQUIRED) - -if(GIF_VERSION LESS 4) - message(FATAL_ERROR "giflib < 4 not supported") -else() - file(STRINGS ${GIF_INCLUDE_DIR}/gif_lib.h GIFSTRINGS) - string(REGEX MATCH "GIFLIB_MAJOR ([0-9])" GIFLIB_MAJOR ${GIFSTRINGS}) - if(GIFLIB_MAJOR) - string(REPLACE " " ";" GIFLIB_MAJOR ${GIFLIB_MAJOR}) - list(GET GIFLIB_MAJOR 1 GIFLIB_MAJOR) - else() - set(GIFLIB_MAJOR ${GIF_VERSION}) - endif() - if(NOT GIFLIB_MAJOR OR GIFLIB_MAJOR LESS 5) - message(WARNING "giflib${GIFLIB_MAJOR} support is experimental. Consider updating to giflib5") - endif() -endif() - -set(SOURCES src/md5.cpp - src/DecoderManager.cpp - src/TexturePacker.cpp - src/XBTFWriter.cpp - src/decoder/GIFDecoder.cpp - src/decoder/GifHelper.cpp - src/decoder/JPGDecoder.cpp - src/decoder/PNGDecoder.cpp - ${CMAKE_SOURCE_DIR}/xbmc/guilib/XBTF.cpp) - -set(CMAKE_POSITITION_INDEPENDENT_CODE 1) - -add_executable(TexturePacker ${SOURCES}) -target_include_directories(TexturePacker - PRIVATE ${PNG_INCLUDE_DIRS} - ${JPEG_INCLUDE_DIR} - ${GIF_INCLUDE_DIR} - ${CMAKE_SOURCE_DIR}/xbmc - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${CMAKE_CURRENT_SOURCE_DIR}/src/decoder) -target_link_libraries(TexturePacker - PRIVATE ${SYSTEM_LDFLAGS} - ${GIF_LIBRARIES} - ${PNG_LIBRARIES} - ${JPEG_LIBRARIES} - ${LZO2_LIBRARIES}) -target_compile_options(TexturePacker PRIVATE ${ARCH_DEFINES} ${SYSTEM_DEFINES}) diff --git a/tools/depends/native/TexturePacker/Makefile b/tools/depends/native/TexturePacker/Makefile index fb1a0b6398..4d24d60b68 100644 --- a/tools/depends/native/TexturePacker/Makefile +++ b/tools/depends/native/TexturePacker/Makefile @@ -1,51 +1,33 @@ -ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) DEPS =../../Makefile.include Makefile -ifeq ($(NATIVE_OS), linux) - EXTRA_CONFIGURE = --enable-static -endif -ifeq ($(NATIVE_OS), android) - EXTRA_CONFIGURE = --enable-static -endif +APP=$(PLATFORM)/build/TexturePacker -ifeq ($(CMAKE_SOURCE_DIR),) - CMAKE_SOURCE_DIR = $(ROOT_DIR)/../../../.. -endif - -SOURCE=$(ROOT_DIR)/src - -APP=$(PLATFORM)/TexturePacker -APPBIN=$(PREFIX)/bin/TexturePacker +CMAKE_OPTIONS := -DNATIVEPREFIX=${NATIVEPREFIX} \ + -DKODI_SOURCE_DIR=$(CMAKE_SOURCE_DIR) \ + -DENABLE_STATIC=1 \ + -DARCH_DEFINES="$(NATIVE_ARCH_DEFINES)" all: .installed-$(PLATFORM) download: $(PLATFORM): $(DEPS) - -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) - cd $(PLATFORM); cp -a $(SOURCE)/* . - cd $(PLATFORM); ./autogen.sh - cd $(PLATFORM); ./configure --prefix=$(PREFIX) $(EXTRA_CONFIGURE) EXTRA_DEFINES="$(NATIVE_ARCH_DEFINES)" - + -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)/build + cd $(PLATFORM); cp -a ../src/* . + cd $(PLATFORM)/build; $(CMAKE_FOR_BUILD) $(CMAKE_OPTIONS) .. $(APP): $(PLATFORM) - $(MAKE) -C $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build .installed-$(PLATFORM): $(APP) - $(MAKE) -C $(PLATFORM) install + $(MAKE) -C $(PLATFORM)/build install touch $@ - #TEMP workaround for skins: create legacy link. Remove me when skins are fixed - @mkdir -p $(CMAKE_SOURCE_DIR)/tools/TexturePacker - @[ -f $(CMAKE_SOURCE_DIR)/tools/TexturePacker/TexturePacker ] && rm $(CMAKE_SOURCE_DIR)/tools/TexturePacker/TexturePacker || : - @ln -sf $(APPBIN) $(CMAKE_SOURCE_DIR)/tools/TexturePacker/TexturePacker - @echo "all:" > $(CMAKE_SOURCE_DIR)/tools/TexturePacker/Makefile - @echo "\t@echo "WARNING: use of tools/TexturePacker/TexturePacker is deprecated, please update your skins Makefile"" >> $(CMAKE_SOURCE_DIR)/tools/TexturePacker/Makefile clean: - $(MAKE) -C $(PLATFORM) clean + $(MAKE) -C $(PLATFORM)/build clean distclean:: rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/native/TexturePacker/src/CMakeLists.txt b/tools/depends/native/TexturePacker/src/CMakeLists.txt new file mode 100644 index 0000000000..c8b0f76cb9 --- /dev/null +++ b/tools/depends/native/TexturePacker/src/CMakeLists.txt @@ -0,0 +1,79 @@ +cmake_minimum_required(VERSION 3.15) +project(TexturePacker) + +list(APPEND CMAKE_MODULE_PATH ${KODI_SOURCE_DIR}/cmake/modules) + +if(NATIVEPREFIX) + set(CMAKE_FIND_ROOT_PATH ${NATIVEPREFIX}) +endif() + +if(ENABLE_STATIC) + set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX}) + # Requires cmake 3.24 for ZLIB_USE_STATIC_LIBS to actually do something + set(ZLIB_USE_STATIC_LIBS ON) +endif() + +find_package(Lzo2 REQUIRED) +find_package(PNG REQUIRED) +find_package(GIF REQUIRED) +find_package(JPEG REQUIRED) + +if(GIF_VERSION LESS 4) + message(FATAL_ERROR "giflib < 4 not supported") +else() + file(STRINGS ${GIF_INCLUDE_DIR}/gif_lib.h GIFSTRINGS) + string(REGEX MATCH "GIFLIB_MAJOR ([0-9])" GIFLIB_MAJOR ${GIFSTRINGS}) + if(GIFLIB_MAJOR) + string(REPLACE " " ";" GIFLIB_MAJOR ${GIFLIB_MAJOR}) + list(GET GIFLIB_MAJOR 1 GIFLIB_MAJOR) + else() + set(GIFLIB_MAJOR ${GIF_VERSION}) + endif() + if(NOT GIFLIB_MAJOR OR GIFLIB_MAJOR LESS 5) + message(WARNING "giflib${GIFLIB_MAJOR} support is experimental. Consider updating to giflib5") + endif() +endif() + +set(SOURCES md5.cpp + DecoderManager.cpp + TexturePacker.cpp + XBTFWriter.cpp + decoder/GIFDecoder.cpp + decoder/GifHelper.cpp + decoder/JPGDecoder.cpp + decoder/PNGDecoder.cpp + ${KODI_SOURCE_DIR}/xbmc/guilib/XBTF.cpp) + +if(WIN32) + list(APPEND SOURCES Win32/dirent.c) +endif() + +set(CMAKE_POSITITION_INDEPENDENT_CODE 1) + +add_executable(TexturePacker ${SOURCES}) +target_include_directories(TexturePacker + PRIVATE ${PNG_INCLUDE_DIRS} + ${JPEG_INCLUDE_DIR} + ${GIF_INCLUDE_DIR} + ${KODI_SOURCE_DIR}/xbmc + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/decoder) +if(WIN32) + target_include_directories(TexturePacker SYSTEM + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Win32) +endif() + +target_link_libraries(TexturePacker + PRIVATE ${SYSTEM_LDFLAGS} + ${GIF_LIBRARIES} + ${PNG_LIBRARIES} + ${JPEG_LIBRARIES} + ${LZO2_LIBRARIES}) + +target_compile_definitions(TexturePacker PRIVATE ${ARCH_DEFINES} ${SYSTEM_DEFINES}) +target_compile_features(TexturePacker PUBLIC cxx_std_17) + +install(TARGETS TexturePacker EXPORT TexturePacker + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib) |