diff options
Diffstat (limited to 'archived/projt-launcher/cmake/useBZip2.cmake')
| -rw-r--r-- | archived/projt-launcher/cmake/useBZip2.cmake | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/archived/projt-launcher/cmake/useBZip2.cmake b/archived/projt-launcher/cmake/useBZip2.cmake new file mode 100644 index 0000000000..23a6d93723 --- /dev/null +++ b/archived/projt-launcher/cmake/useBZip2.cmake @@ -0,0 +1,45 @@ +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()
\ No newline at end of file |
