- added cmake support to build sqlite log driver
- made logging ready to be compiled with Visual Studio - added functions to create LCBs and LOGs to dynamic model API - client: added GetLogicalNodeDirectory(LOG) ACSI functionpull/6/head
parent
23e695dae8
commit
2b28c0fed3
@ -0,0 +1,34 @@
|
|||||||
|
LIBIEC_HOME=../..
|
||||||
|
|
||||||
|
PROJECT_BINARY_NAME = server_example_logging
|
||||||
|
PROJECT_SOURCES = server_example_logging.c
|
||||||
|
PROJECT_SOURCES += static_model.c
|
||||||
|
PROJECT_SOURCES += $(LIBIEC_HOME)/src/logging/drivers/sqlite/log_storage_sqlite.c
|
||||||
|
PROJECT_SOURCES += $(LIBIEC_HOME)/third_party/sqlite/sqlite3.c
|
||||||
|
|
||||||
|
PROJECT_ICD_FILE = simpleIO_direct_control.icd
|
||||||
|
|
||||||
|
include $(LIBIEC_HOME)/make/target_system.mk
|
||||||
|
include $(LIBIEC_HOME)/make/stack_includes.mk
|
||||||
|
|
||||||
|
all: $(PROJECT_BINARY_NAME)
|
||||||
|
|
||||||
|
include $(LIBIEC_HOME)/make/common_targets.mk
|
||||||
|
|
||||||
|
CFLAGS += -I$(LIBIEC_HOME)/third_party/sqlite
|
||||||
|
CFLAGS += -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -DHAVE_USLEEP
|
||||||
|
|
||||||
|
LDLIBS += -lm
|
||||||
|
|
||||||
|
CP = cp
|
||||||
|
|
||||||
|
model: $(PROJECT_ICD_FILE)
|
||||||
|
java -jar $(LIBIEC_HOME)/tools/model_generator/genmodel.jar $(PROJECT_ICD_FILE)
|
||||||
|
|
||||||
|
$(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME)
|
||||||
|
$(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(PROJECT_BINARY_NAME)
|
||||||
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
|||||||
|
BUILD THE EXAMPLE:
|
||||||
|
|
||||||
|
To build the logging example it is required to have sqlite present!
|
||||||
|
|
||||||
|
If you have sqlite installed on the system (including the header files) e.g. in an Ubuntu installation with the sqlite3 package installed, you can simply use the Makefile.
|
||||||
|
|
||||||
|
If you don't have sqlite installed you have to download the sqlite amalgamation package and install the files sqlite3.c, sqlite3.h in the libiec61850/third_party/sqlite folder and use the Makefile.sqliteStatic instead. This will build a version of the example with the sqlite code statically linked.
|
||||||
|
|
@ -0,0 +1,20 @@
|
|||||||
|
1 VERSIONINFO
|
||||||
|
FILEVERSION @LIB_VERSION_MAJOR@,@LIB_VERSION_MINOR@,@LIB_VERSION_PATCH@,0
|
||||||
|
PRODUCTVERSION @LIB_VERSION_MAJOR@,@LIB_VERSION_MINOR@,@LIB_VERSION_PATCH@,0
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904E4"
|
||||||
|
BEGIN
|
||||||
|
VALUE "FileVersion", "@LIB_VERSION_MAJOR@.@LIB_VERSION_MINOR@.@LIB_VERSION_PATCH@.0"
|
||||||
|
VALUE "ProductVersion", "@LIB_VERSION_MAJOR@.@LIB_VERSION_MINOR@.@LIB_VERSION_PATCH@.0"
|
||||||
|
VALUE "ProductName", "libIEC61850"
|
||||||
|
VALUE "FileDescription", "libIEC61850 - open source library for IEC 61850"
|
||||||
|
VALUE "LegalCopyright", "Dual license : Commercial or GPLv3"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x400, 1252
|
||||||
|
END
|
||||||
|
END
|
@ -0,0 +1,48 @@
|
|||||||
|
# - Try to find the sqlite library
|
||||||
|
# Once done this will define
|
||||||
|
#
|
||||||
|
# SQLITE_FOUND - system has sqlite
|
||||||
|
# SQLITE_INCLUDE_DIRS - the sqlite include directory
|
||||||
|
# SQLITE_LIBRARIES - Link these to use sqlite
|
||||||
|
#
|
||||||
|
# Define SQLITE_MIN_VERSION for which version desired.
|
||||||
|
#
|
||||||
|
|
||||||
|
INCLUDE(FindPkgConfig)
|
||||||
|
|
||||||
|
IF(Sqlite_FIND_REQUIRED)
|
||||||
|
SET(_pkgconfig_REQUIRED "REQUIRED")
|
||||||
|
ELSE(Sqlite_FIND_REQUIRED)
|
||||||
|
SET(_pkgconfig_REQUIRED "")
|
||||||
|
ENDIF(Sqlite_FIND_REQUIRED)
|
||||||
|
|
||||||
|
IF(SQLITE_MIN_VERSION)
|
||||||
|
PKG_SEARCH_MODULE(SQLITE ${_pkgconfig_REQUIRED} sqlite>=${SQLITE_MIN_VERSION} sqlite${SQLITE_MIN_VERSION})
|
||||||
|
ELSE(SQLITE_MIN_VERSION)
|
||||||
|
PKG_SEARCH_MODULE(SQLITE ${_pkgconfig_REQUIRED} sqlite)
|
||||||
|
ENDIF(SQLITE_MIN_VERSION)
|
||||||
|
|
||||||
|
IF(NOT SQLITE_FOUND AND NOT PKG_CONFIG_FOUND)
|
||||||
|
FIND_PATH(SQLITE_INCLUDE_DIRS sqlite${SQLITE_MIN_VERSION}.h)
|
||||||
|
FIND_LIBRARY(SQLITE_LIBRARIES sqlite${SQLITE_MIN_VERSION})
|
||||||
|
|
||||||
|
# Report results
|
||||||
|
IF(SQLITE_LIBRARIES AND SQLITE_INCLUDE_DIRS)
|
||||||
|
SET(SQLITE_FOUND 1)
|
||||||
|
IF(NOT Sqlite_FIND_QUIETLY)
|
||||||
|
MESSAGE(STATUS "Found Sqlite: ${SQLITE_LIBRARIES}")
|
||||||
|
ENDIF(NOT Sqlite_FIND_QUIETLY)
|
||||||
|
ELSE(SQLITE_LIBRARIES AND SQLITE_INCLUDE_DIRS)
|
||||||
|
IF(Sqlite_FIND_REQUIRED)
|
||||||
|
MESSAGE(SEND_ERROR "Could not find Sqlite")
|
||||||
|
ELSE(Sqlite_FIND_REQUIRED)
|
||||||
|
IF(NOT Sqlite_FIND_QUIETLY)
|
||||||
|
MESSAGE(STATUS "Could not find Sqlite")
|
||||||
|
ENDIF(NOT Sqlite_FIND_QUIETLY)
|
||||||
|
ENDIF(Sqlite_FIND_REQUIRED)
|
||||||
|
ENDIF(SQLITE_LIBRARIES AND SQLITE_INCLUDE_DIRS)
|
||||||
|
ENDIF(NOT SQLITE_FOUND AND NOT PKG_CONFIG_FOUND)
|
||||||
|
|
||||||
|
# Hide advanced variables from CMake GUIs
|
||||||
|
MARK_AS_ADVANCED(SQLITE_LIBRARIES SQLITE_INCLUDE_DIRS)
|
||||||
|
|
Loading…
Reference in New Issue