mirror of https://github.com/Cisco-Talos/clamav
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.6 KiB
102 lines
2.6 KiB
|
|
cmake_minimum_required( VERSION 3.13 )
|
|
|
|
if(WIN32)
|
|
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
|
|
endif()
|
|
|
|
# This is a hack! We need a config.h
|
|
# TODO: either un-vendor mspack, or use new mspack CMake tooling when it merges into the upstream.
|
|
configure_file(config.h.in.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
|
|
|
# mspack object
|
|
add_library( mspack_obj OBJECT )
|
|
target_sources( mspack_obj
|
|
PRIVATE
|
|
mspack/cab.h
|
|
mspack/cabc.c
|
|
mspack/cabd.c
|
|
mspack/chm.h
|
|
mspack/chmc.c
|
|
mspack/chmd.c
|
|
mspack/crc32.c
|
|
mspack/crc32.h
|
|
mspack/des.h
|
|
mspack/hlp.h
|
|
mspack/hlpc.c
|
|
mspack/hlpd.c
|
|
mspack/kwaj.h
|
|
mspack/kwajc.c
|
|
mspack/kwajd.c
|
|
mspack/lit.h
|
|
mspack/litc.c
|
|
mspack/litd.c
|
|
mspack/lzss.h
|
|
mspack/lzssd.c
|
|
mspack/lzx.h
|
|
mspack/lzxc.c
|
|
mspack/lzxd.c
|
|
mspack/mszip.h
|
|
mspack/mszipc.c
|
|
mspack/mszipd.c
|
|
mspack/oab.h
|
|
mspack/oabc.c
|
|
mspack/oabd.c
|
|
mspack/qtm.h
|
|
mspack/qtmd.c
|
|
mspack/readbits.h
|
|
mspack/readhuff.h
|
|
mspack/sha.h
|
|
mspack/system.c
|
|
mspack/system.h
|
|
mspack/szdd.h
|
|
mspack/szddc.c
|
|
mspack/szddd.c )
|
|
target_include_directories( mspack_obj
|
|
PRIVATE
|
|
${CMAKE_BINARY_DIR}
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/mspack )
|
|
|
|
if(ENABLE_SHARED_LIB)
|
|
# The mspack shared library.
|
|
add_library( clammspack SHARED )
|
|
set_target_properties(clammspack PROPERTIES
|
|
VERSION "0.8.0" SOVERSION 0)
|
|
if(WIN32)
|
|
set_target_properties(clammspack PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
|
endif()
|
|
target_sources( clammspack
|
|
PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/mspack/mspack.h )
|
|
if(WIN32)
|
|
install(TARGETS clammspack DESTINATION .)
|
|
else()
|
|
install(TARGETS clammspack DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
endif()
|
|
|
|
# Public (forwarded) dependencies.
|
|
target_link_libraries( clammspack
|
|
PUBLIC
|
|
mspack_obj )
|
|
|
|
add_library( ClamAV::libmspack ALIAS clammspack )
|
|
endif()
|
|
|
|
if(ENABLE_STATIC_LIB)
|
|
# The clamav static library.
|
|
add_library( clammspack_static STATIC)
|
|
target_sources( clammspack_static
|
|
PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/mspack/mspack.h )
|
|
|
|
# Public (forwarded) dependencies.
|
|
target_link_libraries( clammspack_static
|
|
PUBLIC
|
|
mspack_obj )
|
|
|
|
add_library( ClamAV::libmspack_static ALIAS clammspack_static )
|
|
if(NOT ENABLE_SHARED_LIB)
|
|
add_library( ClamAV::libmspack ALIAS clammspack_static )
|
|
endif()
|
|
endif()
|
|
|