mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-14 04:35:54 +08:00
Get rid of LibBGCode deps build and just provide heatshrink as usual
This commit is contained in:
parent
cd094ce831
commit
d014ecfae7
31
deps/+LibBGCode/LibBGCode.cmake
vendored
31
deps/+LibBGCode/LibBGCode.cmake
vendored
@ -1,24 +1,26 @@
|
|||||||
set(LibBGCode_SOURCE_DIR "" CACHE PATH "Optionally specify local LibBGCode source directory")
|
set(LibBGCode_SOURCE_DIR "" CACHE PATH "Optionally specify local LibBGCode source directory")
|
||||||
|
|
||||||
set(_source_dir_line
|
set(_source_dir_line
|
||||||
URL https://github.com/prusa3d/libbgcode/archive/ebbe90b65a5ab6b878e2913cb22f1732838ed4b7.zip
|
URL https://github.com/prusa3d/libbgcode/archive/04556c4f64d4b7a5942d8d193d1eb87fc7e1005f.zip
|
||||||
URL_HASH SHA256=72bd2031b822a08c202e8aa78c90048ede5072be34f6c52754077cef16be7295
|
URL_HASH SHA256=f0745b2dae95f0a49ae75bfbe4d775c751499fc4245864675e2dab06c13b2c8f
|
||||||
)
|
)
|
||||||
|
|
||||||
if (LibBGCode_SOURCE_DIR)
|
if (LibBGCode_SOURCE_DIR)
|
||||||
set(_source_dir_line "SOURCE_DIR;${LibBGCode_SOURCE_DIR};BUILD_ALWAYS;ON")
|
set(_source_dir_line "SOURCE_DIR;${LibBGCode_SOURCE_DIR};BUILD_ALWAYS;ON")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
add_cmake_project(LibBGCode_deps
|
# add_cmake_project(LibBGCode_deps
|
||||||
${_source_dir_line}
|
# ${_source_dir_line}
|
||||||
SOURCE_SUBDIR deps
|
# SOURCE_SUBDIR deps
|
||||||
CMAKE_ARGS
|
# BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/
|
||||||
-DLibBGCode_Deps_DEP_DOWNLOAD_DIR:PATH=${${PROJECT_NAME}_DEP_DOWNLOAD_DIR}
|
# CMAKE_ARGS
|
||||||
-DDEP_CMAKE_OPTS:STRING=-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
|
# -DLibBGCode_Deps_DEP_DOWNLOAD_DIR:PATH=${${PROJECT_NAME}_DEP_DOWNLOAD_DIR}
|
||||||
-DLibBGCode_Deps_SELECT_ALL:BOOL=OFF
|
# -DDEP_CMAKE_OPTS:STRING=-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
|
||||||
-DLibBGCode_Deps_SELECT_heatshrink:BOOL=ON
|
# -DLibBGCode_Deps_SELECT_ALL:BOOL=OFF
|
||||||
-DLibBGCode_Deps_DEP_INSTALL_PREFIX=${${PROJECT_NAME}_DEP_INSTALL_PREFIX}
|
# -DLibBGCode_Deps_SELECT_heatshrink:BOOL=ON
|
||||||
)
|
# -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||||
|
# -DLibBGCode_Deps_DEP_INSTALL_PREFIX=${${PROJECT_NAME}_DEP_INSTALL_PREFIX}
|
||||||
|
# )
|
||||||
|
|
||||||
add_cmake_project(LibBGCode
|
add_cmake_project(LibBGCode
|
||||||
${_source_dir_line}
|
${_source_dir_line}
|
||||||
@ -27,5 +29,6 @@ add_cmake_project(LibBGCode
|
|||||||
-DLibBGCode_BUILD_CMD_TOOL:BOOL=OFF
|
-DLibBGCode_BUILD_CMD_TOOL:BOOL=OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
set(DEP_LibBGCode_deps_DEPENDS ZLIB Boost)
|
# set(DEP_LibBGCode_deps_DEPENDS ZLIB Boost)
|
||||||
set(DEP_LibBGCode_DEPENDS LibBGCode_deps)
|
# set(DEP_LibBGCode_DEPENDS LibBGCode_deps)
|
||||||
|
set(DEP_LibBGCode_DEPENDS ZLIB Boost heatshrink)
|
||||||
|
82
deps/+heatshrink/CMakeLists.txt
vendored
Normal file
82
deps/+heatshrink/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.10)
|
||||||
|
|
||||||
|
project(heatshrink C)
|
||||||
|
|
||||||
|
add_library(${PROJECT_NAME} heatshrink_decoder.c heatshrink_encoder.c)
|
||||||
|
add_library(${PROJECT_NAME}_dynalloc heatshrink_decoder.c heatshrink_encoder.c)
|
||||||
|
|
||||||
|
find_library(MATH_LIBRARY m) # Business as usual
|
||||||
|
if(MATH_LIBRARY)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PUBLIC ${MATH_LIBRARY})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
|
||||||
|
target_include_directories(${PROJECT_NAME}_dynalloc PUBLIC $<INSTALL_INTERFACE:include>)
|
||||||
|
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PUBLIC HEATSHRINK_DYNAMIC_ALLOC=0)
|
||||||
|
target_compile_definitions(${PROJECT_NAME}_dynalloc PUBLIC HEATSHRINK_DYNAMIC_ALLOC=1)
|
||||||
|
|
||||||
|
if (UNIX)
|
||||||
|
add_executable(${PROJECT_NAME}_cmd heatshrink.c)
|
||||||
|
target_link_libraries(${PROJECT_NAME}_cmd ${PROJECT_NAME}_dynalloc)
|
||||||
|
set_target_properties(${PROJECT_NAME}_cmd PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
# Installation and export:
|
||||||
|
|
||||||
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
|
write_basic_package_version_file(
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
|
||||||
|
VERSION 0.4.1
|
||||||
|
COMPATIBILITY AnyNewerVersion
|
||||||
|
)
|
||||||
|
|
||||||
|
set(_exported_targets ${PROJECT_NAME} ${PROJECT_NAME}_dynalloc)
|
||||||
|
if (UNIX)
|
||||||
|
list(APPEND _exported_targets ${PROJECT_NAME}_cmd)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
install(TARGETS ${_exported_targets}
|
||||||
|
EXPORT ${PROJECT_NAME}Targets
|
||||||
|
)
|
||||||
|
|
||||||
|
export(EXPORT ${PROJECT_NAME}Targets
|
||||||
|
FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake"
|
||||||
|
NAMESPACE ${PROJECT_NAME}::
|
||||||
|
)
|
||||||
|
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
||||||
|
|
||||||
|
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
||||||
|
INSTALL_DESTINATION ${ConfigPackageLocation}
|
||||||
|
)
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
heatshrink_common.h
|
||||||
|
heatshrink_config.h
|
||||||
|
heatshrink_encoder.h
|
||||||
|
heatshrink_decoder.h
|
||||||
|
DESTINATION
|
||||||
|
include/${PROJECT_NAME}
|
||||||
|
)
|
||||||
|
|
||||||
|
install(EXPORT ${PROJECT_NAME}Targets
|
||||||
|
FILE
|
||||||
|
${PROJECT_NAME}Targets.cmake
|
||||||
|
NAMESPACE
|
||||||
|
${PROJECT_NAME}::
|
||||||
|
DESTINATION
|
||||||
|
${ConfigPackageLocation}
|
||||||
|
)
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
|
||||||
|
DESTINATION
|
||||||
|
${ConfigPackageLocation}
|
||||||
|
)
|
5
deps/+heatshrink/Config.cmake.in
vendored
Normal file
5
deps/+heatshrink/Config.cmake.in
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
@PACKAGE_INIT@
|
||||||
|
|
||||||
|
if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake)
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
|
||||||
|
endif ()
|
6
deps/+heatshrink/heatshrink.cmake
vendored
Normal file
6
deps/+heatshrink/heatshrink.cmake
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
add_cmake_project(heatshrink
|
||||||
|
URL https://github.com/atomicobject/heatshrink/archive/refs/tags/v0.4.1.zip
|
||||||
|
URL_HASH SHA256=2e2db2366bdf36cb450f0b3229467cbc6ea81a8c690723e4227b0b46f92584fe
|
||||||
|
PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ./CMakeLists.txt &&
|
||||||
|
${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in ./Config.cmake.in
|
||||||
|
)
|
2
deps/CMakeLists.txt
vendored
2
deps/CMakeLists.txt
vendored
@ -229,7 +229,7 @@ if (DEP_DEBUG AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|||||||
|
|
||||||
# Exclude the libraries which have no problem to link to Debug builds in
|
# Exclude the libraries which have no problem to link to Debug builds in
|
||||||
# Release mode (mostly C libraries)
|
# Release mode (mostly C libraries)
|
||||||
set(DEP_DEBUG_EXCLUDES GMP MPFR OpenSSL NanoSVG TIFF JPEG ZLIB)
|
set(DEP_DEBUG_EXCLUDES GMP MPFR OpenSSL NanoSVG TIFF JPEG ZLIB heatshrink)
|
||||||
if (UNIX)
|
if (UNIX)
|
||||||
# Making a separate debug build on Unix of wx is a nightmare
|
# Making a separate debug build on Unix of wx is a nightmare
|
||||||
list(APPEND DEP_DEBUG_EXCLUDES wxWidgets)
|
list(APPEND DEP_DEBUG_EXCLUDES wxWidgets)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user