aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
blob: 93e472d3bd06ad72b4a060e0f58613201e019fb9 (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
cmake_minimum_required(VERSION 4.0)
project(OpcUaDiscovery C)

set(CMAKE_C_STANDARD 11)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

include(cmake/BuildDeps.cmake)

add_library(DiscoveryCommon STATIC src/common.c src/config.c)
target_link_libraries(DiscoveryCommon open62541::open62541)

add_executable(ClientFindServers src/client_find_servers.c)
target_link_libraries(ClientFindServers DiscoveryCommon)

add_executable(ServerLDS src/server_lds.c)
target_link_libraries(ServerLDS DiscoveryCommon)

add_executable(ServerRegister src/server_register.c)
target_link_libraries(ServerRegister DiscoveryCommon)

option(BUILD_DOC "Build open62541 HTML documentation" OFF)
if(BUILD_DOC)
  add_custom_target(doc
    COMMAND ${CMAKE_COMMAND} --build "${OPEN62541_BUILD_DIR}" --target doc
    COMMENT "Building open62541 HTML documentation"
    VERBATIM)
endif()

# ── Integration tests ───────────────────────────────────────────
enable_testing ()

set (_test_script "${CMAKE_SOURCE_DIR}/tests/run_test.sh")

set (_test_names
  none_anon
  none_user
  basic256sha256_anon
  basic256sha256_user
  aes128_anon
  aes128_user)

set (_test_policies
  None
  None
  Basic256Sha256
  Basic256Sha256
  Aes128_Sha256_RsaOaep
  Aes128_Sha256_RsaOaep)

foreach (_name _policy IN ZIP_LISTS _test_names _test_policies)
  add_test (NAME "${_name}"
    COMMAND bash "${_test_script}" "tests/${_name}" "${_policy}")
  set_tests_properties ("${_name}" PROPERTIES
    WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
    TIMEOUT 30)
endforeach ()