function(projt_add_bzip2) if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../bzip2/CMakeLists.txt") message(STATUS "Using bundled bzip2") set(ENABLE_LIB_ONLY ON CACHE BOOL "" FORCE) set(ENABLE_TESTS OFF CACHE BOOL "" FORCE) set(ENABLE_DOCS OFF CACHE BOOL "" FORCE) set(ENABLE_EXAMPLES OFF CACHE BOOL "" FORCE) # Disable shared library and use static library for consistent linking set(ENABLE_SHARED_LIB OFF CACHE BOOL "" FORCE) set(ENABLE_STATIC_LIB ON CACHE BOOL "" FORCE) # Disable instrumentation for external dependencies to avoid linker issues string(REGEX REPLACE "-fprofile-instr-generate|--coverage|-fprofile-generate|-fprofile-arcs|-ftest-coverage" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") string(REGEX REPLACE "-fprofile-instr-generate|--coverage|-fprofile-generate|-fprofile-arcs|-ftest-coverage" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") 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("bzip2") add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../bzip2 bzip2) projt_pop_output_dirs() 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() set(BZIP2_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../bzip2" CACHE PATH "" FORCE) # Provide compatibility for CMake's FindBZip2 and consumers that expect # BZip2 variables when using the bundled bzip2 implementation. if(NOT TARGET BZip2::BZip2) add_library(BZip2::BZip2 ALIAS bz2_static) endif() set(BZIP2_FOUND TRUE CACHE BOOL "" FORCE) set(BZIP2_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../bzip2" CACHE PATH "" FORCE) set(BZIP2_LIBRARIES bz2_static CACHE STRING "" FORCE) else() message(FATAL_ERROR "Bundled bzip2 not found") endif() endfunction()