summaryrefslogtreecommitdiff
path: root/archived/projt-launcher/cmake/useLibpng.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'archived/projt-launcher/cmake/useLibpng.cmake')
-rw-r--r--archived/projt-launcher/cmake/useLibpng.cmake48
1 files changed, 48 insertions, 0 deletions
diff --git a/archived/projt-launcher/cmake/useLibpng.cmake b/archived/projt-launcher/cmake/useLibpng.cmake
new file mode 100644
index 0000000000..ebb2d2034f
--- /dev/null
+++ b/archived/projt-launcher/cmake/useLibpng.cmake
@@ -0,0 +1,48 @@
+function(projt_add_libpng)
+ # Ensure libpng install rules are enabled even if other deps toggled them.
+ set(SKIP_INSTALL_ALL OFF CACHE BOOL "" FORCE)
+ set(SKIP_INSTALL_LIBRARIES OFF CACHE BOOL "" FORCE)
+ set(PNG_SHARED ON CACHE BOOL "" FORCE)
+ set(PNG_STATIC OFF CACHE BOOL "" FORCE)
+ # Avoid loading both libpng16d and system libpng16 in Debug builds.
+ set(PNG_DEBUG_POSTFIX "" CACHE STRING "" FORCE)
+ set(PNG_TESTS OFF CACHE BOOL "" FORCE)
+ set(PNG_TOOLS OFF CACHE BOOL "" FORCE)
+ set(PNG_EXECUTABLES OFF CACHE BOOL "" FORCE)
+ if(UNIX AND NOT APPLE)
+ if(DEFINED Launcher_BUNDLED_LIBDIR AND NOT Launcher_BUNDLED_LIBDIR STREQUAL "")
+ projt_push_install_libdir("${Launcher_BUNDLED_LIBDIR}")
+ endif()
+ if(DEFINED Launcher_BUNDLED_INCLUDEDIR AND NOT Launcher_BUNDLED_INCLUDEDIR STREQUAL "")
+ projt_push_install_includedir("${Launcher_BUNDLED_INCLUDEDIR}")
+ endif()
+ endif()
+ projt_push_output_dirs("libpng")
+ projt_push_autogen_disabled()
+ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../libpng libpng)
+ projt_pop_autogen_disabled()
+ projt_pop_output_dirs()
+ foreach(_projt_png_target png_shared png_static png_framework)
+ if(TARGET ${_projt_png_target})
+ target_compile_definitions(
+ ${_projt_png_target}
+ PRIVATE adler32=ptpng_adler32
+ crc32=ptpng_crc32
+ deflate=ptpng_deflate
+ deflateInit2_=ptpng_deflateInit2_
+ deflateReset=ptpng_deflateReset
+ inflate=ptpng_inflate
+ inflateInit2_=ptpng_inflateInit2_
+ inflateReset=ptpng_inflateReset
+ inflateReset2=ptpng_inflateReset2)
+ endif()
+ endforeach()
+ if(UNIX AND NOT APPLE)
+ if(DEFINED Launcher_BUNDLED_INCLUDEDIR AND NOT Launcher_BUNDLED_INCLUDEDIR STREQUAL "")
+ projt_pop_install_includedir()
+ endif()
+ if(DEFINED Launcher_BUNDLED_LIBDIR AND NOT Launcher_BUNDLED_LIBDIR STREQUAL "")
+ projt_pop_install_libdir()
+ endif()
+ endif()
+endfunction() \ No newline at end of file