- 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