PROJECT(eurephiadb-sqlite C) cmake_minimum_required(VERSION 2.6) SET(SQLITE3PREFIX "/etc/openvpn" CACHE STRING "Install prefix for the eurephia SQLite3 database") SET(edb_sqlite_SRC sqlite.c edb-sqlite.c ) SET(COMMON ../eurephiadb_mapping.c ../../common/eurephia_log.c ../../common/eurephiadb_session_common.c ../../common/eurephia_values.c ../../common/passwd.c ../../common/sha512.c ) INCLUDE(CheckIncludeFile) INCLUDE(CheckLibraryExists) ADD_DEFINITIONS(-D_GNU_SOURCE) CHECK_INCLUDE_FILE(sqlite3.h HAVE_SQLITE3_H) CHECK_LIBRARY_EXISTS(sqlite3 sqlite3_open "" HAVE_SQLITE3_OPEN) CHECK_LIBRARY_EXISTS(sqlite3 sqlite3_close "" HAVE_SQLITE3_CLOSE) CHECK_LIBRARY_EXISTS(sqlite3 sqlite3_exec "" HAVE_SQLITE3_EXEC) CHECK_LIBRARY_EXISTS(sqlite3 sqlite3_free "" HAVE_SQLITE3_FREE) CHECK_LIBRARY_EXISTS(sqlite3 sqlite3_vmprintf "" HAVE_SQLITE3_VMPRINTF) FIND_PROGRAM(SQLITE3BIN sqlite3 /usr) IF(NOT SQLITE3BIN) MESSAGE(STATUS "sqlite3 binary was not found. You will need to generate the database file on your own") ENDIF(NOT SQLITE3BIN) IF(ADMIN_ENABLED) SET(edb_sqlite_SRC ${edb_sqlite_SRC} ../../common/eurephia_xml.c administration.c) ENDIF(ADMIN_ENABLED) INCLUDE_DIRECTORIES(BEFORE ../../common/ ../../plugin/ ../../plugin/firewall ../) ADD_LIBRARY(edb-sqlite SHARED ${edb_sqlite_SRC} ${COMMON}) IF(SQLITE3BIN) ADD_CUSTOM_COMMAND(TARGET edb-sqlite POST_BUILD COMMAND rm -f eurephiadb COMMAND ${SQLITE3BIN} eurephiadb < sql-schema.sql COMMENT "Creating template database: eurephiadb") ENDIF(SQLITE3BIN) IF(FIREWALL) ADD_DEFINITIONS(-DFIREWALL) ENDIF(FIREWALL) TARGET_LINK_LIBRARIES(edb-sqlite sqlite3 ${EXTRA_LIBS}) ADD_DEFINITIONS(-DDRIVER_MODE) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) SET_TARGET_PROPERTIES(edb-sqlite PROPERTIES OUTPUT_NAME edb-sqlite PREFIX "") SET_SOURCE_FILES_PROPERTIES(${common_files_SRC} PROPERTIES GENERATED true) SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES eurephiadb) INSTALL(TARGETS edb-sqlite LIBRARY DESTINATION ${PREFIX}) IF(SQLITE3BIN) INSTALL(FILES eurephiadb DESTINATION ${SQLITE3PREFIX}/ RENAME eurephiadb-template) ENDIF(SQLITE3BIN)