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

51 lines
1.6 KiB
CMake
Raw Normal View History

2021-10-25 01:48:55 +01:00
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 "")
2024-04-30 15:37:29 +01:00
# 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)
2021-10-25 01:48:55 +01:00
endif()
mark_as_advanced(LZFSE_BUNDLE_MODE)
2023-09-24 17:20:53 +01:00
if(CMAKE_VERSION VERSION_GREATER 3.2)
2024-04-30 15:37:29 +01:00
cmake_policy(SET CMP0063 NEW)
2023-09-24 17:20:53 +01:00
endif()
2021-10-25 01:48:55 +01:00
2023-09-24 17:20:53 +01:00
if(CMAKE_VERSION VERSION_GREATER 3.9)
2024-04-30 15:37:29 +01:00
cmake_policy(SET CMP0069 NEW)
2023-09-24 17:20:53 +01:00
endif()
2021-10-25 01:48:55 +01:00
2023-09-24 17:20:53 +01:00
if(ENABLE_SANITIZER)
2024-04-30 15:37:29 +01:00
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}")
2023-09-24 17:20:53 +01:00
endif()
2021-10-25 01:48:55 +01:00
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/")
2021-10-25 01:48:55 +01:00
target_sources("Aaru.Compression.Native" PRIVATE ${LZFSE_SOURCES})
2021-10-25 01:48:55 +01:00
if(NOT AARU_MUSL AND (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm"))
2024-04-30 15:37:29 +01:00
set_property(TARGET "Aaru.Compression.Native" PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
2021-10-30 21:33:51 +01:00
endif()