mirror of
https://github.com/Cisco-Talos/clamav.git
synced 2026-10-12 02:01:44 +00:00
Also creates a ZIP for non-Admin (per-user) installs. WIX requires the license file to have a .txt or .rtf extension so I added the .txt extension. I've taken the opportunity to migrate the 3rd party licenses to a COPYING subdirectory and have added licensing details to the README.md file. To build the installer, install WIX and simply run `cpack -C Release` Also removed the explicit --config option from the clamav-clamonacc.service file because it should not be required and isn't being generated correctly when using autotools anyways, especially after changes in this commit.
57 lines
1.7 KiB
CMake
57 lines
1.7 KiB
CMake
# Copyright (C) 2020 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
|
|
|
|
if(WIN32)
|
|
add_definitions(-DWIN32_LEAN_AND_MEAN)
|
|
add_definitions(-DHAVE_STRUCT_TIMESPEC)
|
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
|
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
|
|
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
|
|
|
|
# Windows compatibility headers
|
|
include_directories(${CMAKE_SOURCE_DIR}/win32/compat)
|
|
endif()
|
|
|
|
# The freshclam executable.
|
|
add_executable( freshclam-bin )
|
|
target_sources( freshclam-bin
|
|
PRIVATE
|
|
freshclam.c
|
|
execute.c
|
|
execute.h
|
|
notify.c
|
|
notify.h )
|
|
if(WIN32)
|
|
target_sources( freshclam-bin PRIVATE ${CMAKE_SOURCE_DIR}/win32/res/freshclam.rc )
|
|
endif()
|
|
set_target_properties( freshclam-bin PROPERTIES COMPILE_FLAGS "${WARNCFLAGS}" )
|
|
target_link_libraries(freshclam-bin
|
|
PRIVATE
|
|
ClamAV::libfreshclam
|
|
ClamAV::libclamav
|
|
ClamAV::shared )
|
|
if(WIN32)
|
|
install(TARGETS freshclam-bin DESTINATION .)
|
|
else()
|
|
install(TARGETS freshclam-bin DESTINATION bin)
|
|
endif()
|
|
|
|
# Install an empty database directory
|
|
if(WIN32)
|
|
INSTALL(CODE "FILE(MAKE_DIRECTORY \${ENV}\${CMAKE_INSTALL_PREFIX}/database)")
|
|
else()
|
|
INSTALL(CODE "FILE(MAKE_DIRECTORY \${ENV}\${CMAKE_INSTALL_PREFIX}/share/clamav)")
|
|
endif()
|
|
|
|
# now we rename resman-bin executable to resman using target properties
|
|
set_target_properties( freshclam-bin
|
|
PROPERTIES OUTPUT_NAME freshclam )
|
|
|
|
if(SYSTEMD_FOUND)
|
|
configure_file(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/clamav-freshclam.service.in
|
|
${CMAKE_CURRENT_BINARY_DIR}/clamav-freshclam.service @ONLY)
|
|
install(
|
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/clamav-freshclam.service
|
|
DESTINATION ${SYSTEMD_UNIT_DIR})
|
|
endif()
|