Files
Aaru.Compression.Native/3rdparty/lzfse.cmake

51 lines
1.6 KiB
CMake

message(STATUS "LZFSE VERSION: Unknown")
include(CheckCCompilerFlag)
# If LZFSE is being bundled in another project, we don't want to
# install anything. However, we want to let people override this, so
# we'll use the LZFSE_BUNDLE_MODE variable to let them do that; just
# set it to OFF in your project before you add_subdirectory(lzfse).
get_directory_property(LZFSE_PARENT_DIRECTORY PARENT_DIRECTORY)
if("${LZFSE_BUNDLE_MODE}" STREQUAL "")
# Bundled mode hasn't been set one way or the other, set the default
# depending on whether or not we are the top-level project.
if(LZFSE_PARENT_DIRECTORY)
set(LZFSE_BUNDLE_MODE ON)
else()
set(LZFSE_BUNDLE_MODE OFF)
endif(LZFSE_PARENT_DIRECTORY)
endif()
mark_as_advanced(LZFSE_BUNDLE_MODE)
if(CMAKE_VERSION VERSION_GREATER 3.2)
cmake_policy(SET CMP0063 NEW)
endif()
if(CMAKE_VERSION VERSION_GREATER 3.9)
cmake_policy(SET CMP0069 NEW)
endif()
if(ENABLE_SANITIZER)
set(CMAKE_C_FLAGS " ${CMAKE_C_FLAGS} -fsanitize=${ENABLE_SANITIZER}")
set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -fsanitize=${ENABLE_SANITIZER}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=${ENABLE_SANITIZER}")
endif()
set(LZFSE_SOURCES
src/lzfse_decode.c
src/lzfse_decode_base.c
src/lzfse_encode.c
src/lzfse_encode_base.c
src/lzfse_fse.c
src/lzvn_decode_base.c
src/lzvn_encode_base.c)
list(TRANSFORM LZFSE_SOURCES PREPEND "3rdparty/lzfse/")
target_sources("Aaru.Compression.Native" PRIVATE ${LZFSE_SOURCES})
if(NOT AARU_MUSL AND (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm"))
set_property(TARGET "Aaru.Compression.Native" PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
endif()