blob: bcf3fdb7af0c4a4ba24e05cbe6b31985e5ee2e99 [file] [log] [blame]
# Copyright 2019 NXP
#
# SPDX-License-Identifier: Apache-2.0
#
PROJECT(open62541_lib)
SET(OPEN62541_VER_MAJOR 0)
SET(OPEN62541_VER_MINOR 0)
SET(OPEN62541_VER_PATCH 0)
SET(OPEN62541_VER_LABEL "-")
SET(OPEN62541_VER_COMMIT "-")
SET(UA_LOGLEVEL 300)
SET(UA_ENABLE_METHODCALLS 1)
SET(UA_ENABLE_NODEMANAGEMENT 1)
SET(UA_ENABLE_SUBSCRIPTIONS 1)
SET(UA_ENABLE_DA 1)
SET(UA_ENABLE_ENCRYPTION 1)
SET(UA_MULTITHREADING 0)
SET(UA_ENABLE_STATUSCODE_DESCRIPTIONS 1)
SET(UA_ENABLE_TYPEDESCRIPTION 1)
SET(UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS 1)
SET(UA_ENABLE_DISCOVERY 1)
SET(UA_ENABLE_DISCOVERY_SEMAPHORE 1)
SET(UA_VALGRIND_INTERACTIVE_INTERVAL 1000)
SET(UA_GENERATED_NAMESPACE_ZERO 1)
SET(UA_DEBUG 1)
IF(WithHost_PCWindows)
SET(UA_ARCHITECTURE "win32")
ELSEIF(
WithHost_iMXLinux
OR WithHost_PCLinux64
OR WithHost_Raspbian
)
SET(UA_ARCHITECTURE "posix")
ENDIF()
SET(
UA_ARCHITECTURES_NODEF
"1 && !defined(UA_ARCHITECTURE_ECOS) && !defined(UA_ARCHITECTURE_FREERTOSLWIP) && !defined(UA_ARCHITECTURE_POSIX) && !defined(UA_ARCHITECTURE_VXWORKS) && !defined(UA_ARCHITECTURE_WEC7) && !defined(UA_ARCHITECTURE_WIN32)"
)
CONFIGURE_FILE(
${CMAKE_CURRENT_SOURCE_DIR}/open62541/include/open62541/config.h.in
${CMAKE_CURRENT_SOURCE_DIR}/open62541/build/src_generated/open62541/config.h
)
FILE(
GLOB
${PROJECT_NAME}_files
${CMAKE_CURRENT_SOURCE_DIR}/../sss/plugin/open62541/plugins/securityPolicies/*.c
${CMAKE_CURRENT_SOURCE_DIR}/../sss/plugin/open62541/sss_interface.c
open62541/arch/network_tcp.c
open62541/build/src_generated/open62541/*.c
open62541/deps/base64.c
open62541/deps/libc_time.c
open62541/deps/pcg_basic.c
open62541/plugins/securityPolicies/securitypolicy_mbedtls_common.c
open62541/plugins/securityPolicies/ua_securitypolicy_none.c
open62541/plugins/ua_accesscontrol_default.c
open62541/plugins/ua_config_default.c
open62541/plugins/ua_log_stdout.c
open62541/plugins/ua_nodestore_default.c
open62541/plugins/ua_pki_default.c
open62541/src/client/*.c
open62541/src/pubsub/ua_pubsub.c
open62541/src/pubsub/ua_pubsub_manager.c
open62541/src/pubsub/ua_pubsub_networkmessage.c
open62541/src/pubsub/ua_pubsub_ns0.c
open62541/src/server/*.c
open62541/src/ua_connection.c
open62541/src/ua_securechannel.c
open62541/src/ua_timer.c
open62541/src/ua_types.c
open62541/src/ua_types_encoding_binary.c
open62541/src/ua_util.c
open62541/src/ua_workqueue.c
)
IF(WithHost_PCWindows)
LIST(
APPEND
${PROJECT_NAME}_files
open62541/arch/win32/ua_clock.c
open62541/arch/win32/ua_architecture_functions.c
)
ELSEIF(
WithHost_iMXLinux
OR WithHost_PCLinux64
OR WithHost_Raspbian
)
LIST(
APPEND
${PROJECT_NAME}_files
open62541/arch/posix/ua_clock.c
open62541/arch/posix/ua_architecture_functions.c
)
ENDIF()
ADD_LIBRARY(${PROJECT_NAME} ${${PROJECT_NAME}_files})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ex_common)
TARGET_INCLUDE_DIRECTORIES(
${PROJECT_NAME}
PUBLIC open62541/include
PUBLIC open62541/plugins/include
PUBLIC open62541/examples
PUBLIC open62541/build/src_generated/
PUBLIC open62541/arch
PUBLIC open62541/deps
PUBLIC open62541/src
PUBLIC open62541/src/server
PUBLIC open62541/src/client
PUBLIC mbedtls/include
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../sss/plugin/open62541
)
IF(WithHost_PCWindows)
ADD_DEFINITIONS(-DUA_ARCHITECTURE_WIN32)
ADD_COMPILE_DEFINITIONS(PCWindows=1)
ELSEIF(
WithHost_iMXLinux
OR WithHost_PCLinux64
OR WithHost_Raspbian
)
ADD_DEFINITIONS(-DUA_ARCHITECTURE_POSIX)
ENDIF()
IF(
"${CMAKE_CXX_COMPILER_ID}"
MATCHES
"MSVC"
)
TARGET_COMPILE_OPTIONS(
${PROJECT_NAME}
PRIVATE
/wd4706 # assignment within conditional expression
/wd4701 # potentially uninitialized local variable
/wd4703 # potentially uninitialized local pointer variable
)
# 1900 matches VS2015
IF(
${MSVC_VERSION}
LESS_EQUAL
1900
)
TARGET_COMPILE_OPTIONS(${PROJECT_NAME} PRIVATE /wd4127 # conditional expression is constant
)
ENDIF()
ENDIF()