mageni/mageni

View on GitHub
src/backend/api/src/CMakeLists.txt

Summary

Maintainability
Test Coverage
# Most new code since 2020 by Mageni Security LLC
# Copyright (C) 2009-2018 Greenbone Networks GmbH
#
# SPDX-License-Identifier: GPL-2.0-or-later
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

include_directories (
    ${LIBMAGENI_MSMP_INCLUDE_HEADERS}
    ${LIBMAGENI_BASE_INCLUDE_HEADERS}
    ${LIBMAGENI_UTIL_INCLUDE_HEADERS}
    ${LIBMAGENI_MOSP_INCLUDE_HEADERS}
    ${GLIB_INCLUDE_DIRS}
)

set (BINARY_NAME "mageni-sqlite")

add_executable (
    ${BINARY_NAME}
    gvmd.c
    gmpd.c
    manage_utils.c
    manage.c
    sql.c
    manage_ranges_all_tcp_nmap_5_51_top_100.c
    manage_ranges_all_tcp_nmap_5_51_top_1000.c
    manage_ranges_iana_tcp_2012.c
    manage_ranges_iana_tcp_udp_2012.c
    manage_ranges_nmap_5_51_top_2000_top_100.c
    manage_acl.c
    manage_config_discovery.c
    manage_config_host_discovery.c
    manage_config_system_discovery.c
    manage_sql.c
    manage_sql_nvts.c
    manage_sql_secinfo.c
    manage_sql_tickets.c
    manage_migrators.c
    scanner.c
    sql_sqlite3.c
    manage_sqlite3.c
    lsc_user.c
    lsc_crypt.c
    utils.c
    comm.c
    otp.c
    gmp.c
    api_base.c
    api_delete.c
    api_get.c
    api_tickets.c
)

target_link_libraries (
    ${BINARY_NAME}
    m
    ${GNUTLS_LDFLAGS}
    ${GPGME_LDFLAGS}
    ${CMAKE_THREAD_LIBS_INIT}
    ${LINKER_HARDENING_FLAGS}
    ${LINKER_DEBUG_FLAGS}
    ${SQLITE3_LDFLAGS}
    ${GLIB_LDFLAGS}
    ${GTHREAD_LDFLAGS}
    ${LIBMAGENI_BASE}
    ${LIBMAGENI_UTIL}
    ${LIBMAGENI_MOSP}
    ${LIBMAGENI_MSMP}
    ${LIBICAL_LDFLAGS}
    ${LINKER_HARDENING_FLAGS}
)

set_target_properties (${BINARY_NAME} PROPERTIES LINKER_LANGUAGE C)

if (DEBUG_FUNCTION_NAMES)
    add_definitions (-DDEBUG_FUNCTION_NAMES)
endif (DEBUG_FUNCTION_NAMES)

if (APID_VERSION)
    add_definitions (-DAPID_VERSION="${APID_VERSION}")
endif (APID_VERSION)

if (NOT CMAKE_BUILD_TYPE MATCHES "Release")
    target_compile_options (${BINARY_NAME} PUBLIC ${C_FLAGS_DEBUG_GVMD})
endif (NOT CMAKE_BUILD_TYPE MATCHES "Release")

if (API_VERSION)
    add_definitions (-DAPI_VERSION="${API_VERSION}")
endif (API_VERSION)

add_definitions (-DGVMD_DATABASE_VERSION=${GVMD_DATABASE_VERSION})
add_definitions (-DGVMD_SCAP_DATABASE_VERSION=${GVMD_SCAP_DATABASE_VERSION})
add_definitions (-DGVMD_CERT_DATABASE_VERSION=${GVMD_CERT_DATABASE_VERSION})
add_definitions (-DGVM_OS_NAME="${CMAKE_SYSTEM}")
add_definitions (-DPREFIX="${CMAKE_INSTALL_PREFIX}")
add_definitions (-DMAGENI_SCAP_RES_DIR="${MAGENI_SCAP_RES_DIR}")
add_definitions (-DMAGENI_SCAP_DATA_DIR="${MAGENI_SCAP_DATA_DIR}")
add_definitions (-DMAGENI_CERT_RES_DIR="${MAGENI_CERT_RES_DIR}")
add_definitions (-DMAGENI_CERT_DATA_DIR="${MAGENI_CERT_DATA_DIR}")

if (MAGENI_SCANNER_CERTIFICATE)
    add_definitions (-DSCANNERCERT="${MAGENI_SCANNER_CERTIFICATE}")
endif (MAGENI_SCANNER_CERTIFICATE)

if (MAGENI_SCANNER_KEY)
    add_definitions (-DSCANNERKEY="${MAGENI_SCANNER_KEY}")
endif (MAGENI_SCANNER_KEY)

if (MAGENI_CLIENT_CERTIFICATE)
    add_definitions (-DCLIENTCERT="${MAGENI_CLIENT_CERTIFICATE}")
endif (MAGENI_CLIENT_CERTIFICATE)

if (GVM_CLIENT_KEY)
    add_definitions (-DCLIENTKEY="${GVM_CLIENT_KEY}")
endif (GVM_CLIENT_KEY)

if (MAGENI_CA_CERTIFICATE)
    add_definitions (-DCACERT="${MAGENI_CA_CERTIFICATE}")
endif (MAGENI_CA_CERTIFICATE)

if (MAGENI_CA_DIR)
    add_definitions (-DCA_DIR="${MAGENI_CA_DIR}")
endif (MAGENI_CA_DIR)

if (MAGENI_LOG_DIR)
    add_definitions (-DMAGENI_LOG_DIR="${MAGENI_LOG_DIR}")
endif (MAGENI_LOG_DIR)

if (MAGENI_STATE_DIR)
    add_definitions (-DMAGENI_STATE_DIR="${MAGENI_STATE_DIR}")
endif (MAGENI_STATE_DIR)

if (MAGENI_STATE_DIR)
    add_definitions (-DMAGENI_STATE_DIR="${MAGENI_STATE_DIR}")
endif (MAGENI_STATE_DIR)

if (MAGENI_RUN_DIR)
    add_definitions (-DMAGENI_RUN_DIR="${MAGENI_RUN_DIR}")
endif (MAGENI_RUN_DIR)

if (MAGENI_SYSCONF_DIR)
    add_definitions (-DMAGENI_SYSCONF_DIR="${MAGENI_SYSCONF_DIR}")
endif (MAGENI_SYSCONF_DIR)

if (MAGENI_SYSCONF_DIR)
    add_definitions (-DMAGENI_SYSCONF_DIR="${MAGENI_SYSCONF_DIR}")
endif (MAGENI_SYSCONF_DIR)

if (MAGENI_DATA_DIR)
    add_definitions (-DMAGENI_DATA_DIR="${MAGENI_DATA_DIR}")
endif (MAGENI_DATA_DIR)

if (MAGENI_DATA_DIR)
    add_definitions (-DMAGENI_DATA_DIR="${MAGENI_DATA_DIR}")
endif (MAGENI_DATA_DIR)

if (LIBDIR)
    add_definitions (-DLIBDIR="${LIBDIR}")
endif (LIBDIR)

if (MAGENI_NVT_DIR)
    add_definitions (-DMAGENI_NVT_DIR="${MAGENI_NVT_DIR}")
endif (MAGENI_NVT_DIR)

if (MAGENI_SQLITE_DIR)
    add_definitions (-DMAGENI_SQLITE_DIR="${MAGENI_SQLITE_DIR}")
endif (MAGENI_SQLITE_DIR)

if (SBINDIR)
    add_definitions (-DSBINDIR="${SBINDIR}")
endif (SBINDIR)

install (TARGETS ${BINARY_NAME}
        RUNTIME DESTINATION ${SBINDIR}
        LIBRARY DESTINATION ${LIBDIR}
        ARCHIVE DESTINATION ${LIBDIR}/static)