summaryrefslogtreecommitdiffstats
path: root/database/sqlite/CMakeLists.txt
blob: 72e2b203174f7306387ebcb093caed1e619a91a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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)