1# Copyright (c) 2019 - 2024 David Guibert
2# Copyright (c) 2024 Antoine Morvan
5# SPDX-License-Identifier: Apache-2.0
7set_property(GLOBAL PROPERTY szip_can_use_system TRUE)
9set(szip_configure_args "" CACHE STRING "Custom configure arguments for szip")
10set(szip_build_args "" CACHE STRING "Custom Make arguments for szip")
14 message(STATUS "SZIP: enabled (system installed)")
15 set(FIND_SZIP_DEBUG ON)
16 find_package(SZIP REQUIRED)
18 set_if_not_present(ENV{CPATH} "$ENV{CPATH}" "${SZIP_INCLUDE_DIR}")
20 get_filename_component(SZIP_DIR "${SZIP_LIBRARIES}" PATH)
21 get_filename_component(SZIP_DIR "${SZIP_DIR}" PATH)
22 set_if_not_present(ENV{CPATH} "$ENV{CPATH}" "${SZIP_DIR}/include")
23 set_if_not_present(ENV{LIBRARY_PATH} "$ENV{LIBRARY_PATH}" "${SZIP_DIR}/lib")
24 set_if_not_present(ENV{LD_LIBRARY_PATH} "$ENV{LD_LIBRARY_PATH}"
28 message(STATUS "SZIP: enabled (internally built)")
30 ExternalProject_Data_Add(
34 CPATH=$ENV{CPATH} C_INCLUDE_PATH=$ENV{C_INCLUDE_PATH}
35 LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH} LIBRARY_PATH=$ENV{LIBRARY_PATH}
36 CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
37 FC=${CMAKE_Fortran_COMPILER} ./configure --enable-shared
38 --enable-static --enable-production --enable-encoding
39 --prefix=<INSTALL_DIR> ${default_configure_args} ${szip_configure_args}
41 CPATH=$ENV{CPATH} C_INCLUDE_PATH=$ENV{C_INCLUDE_PATH}
42 LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH} LIBRARY_PATH=$ENV{LIBRARY_PATH}
43 ${CMAKE_MAKE_PROGRAM} -j${BUILD_PARALLEL_LEVEL} ${default_build_args} ${szip_build_args})
45 ExternalProject_Get_Property(szip INSTALL_DIR)
46 set(SZIP_DIR ${INSTALL_DIR})
48 set(SZIP_LIBRARIES ${SZIP_DIR}/lib/libsz.so)
49 set(SZIP_INCLUDE_DIRS ${SZIP_DIR}/include)
50 if(NOT TARGET SZIP::SZIP)
51 add_library(SZIP::SZIP UNKNOWN IMPORTED)
52 set_target_properties(
53 SZIP::SZIP PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
56 set_target_properties(SZIP::SZIP PROPERTIES VERSION "${SZIP_VERSION}")
58 # if(SZIP_LIBRARY_RELEASE)
59 set_target_properties(
60 SZIP::SZIP PROPERTIES IMPORTED_LOCATION ${SZIP_LIBRARIES}
61 LINK_LIBRARIES ${SZIP_LIBRARIES})
62 # endif() if(SZIP_LIBRARY_DEBUG) # libsz_d libszip_d
63 # set_target_properties(SZIP::SZIP PROPERTIES IMPORTED_LOCATION_DEBUG
64 # ${SZIP_LIBRARY_DEBUG}) endif()
65 add_dependencies(SZIP::SZIP szip)
68 set_if_not_present(ENV{CPATH} "$ENV{CPATH}" "${SZIP_DIR}/include")
69 set_if_not_present(ENV{LIBRARY_PATH} "$ENV{LIBRARY_PATH}"
71 set_if_not_present(ENV{LD_LIBRARY_PATH} "$ENV{LD_LIBRARY_PATH}"