@@ -76,6 +76,8 @@ find_package(Lua)
7676find_package (LibDataChannel)
7777find_package (re)
7878find_package (OpenDSSC)
79+ find_package (OpalOrchestra)
80+ find_package (LibXml2)
7981
8082# Check for tools
8183find_program (PASTE NAMES paste)
@@ -158,55 +160,56 @@ else()
158160endif ()
159161
160162# Build options
161- cmake_dependent_option(WITH_DEFAULTS "Defaults for non required build options" ON "" OFF )
162-
163- cmake_dependent_option(WITH_API "Build with remote control API" "${WITH_DEFAULTS} " "" OFF )
164- cmake_dependent_option(WITH_CLIENTS "Build client applications" "${WITH_DEFAULTS} " "TOPLEVEL_PROJECT" OFF )
165- cmake_dependent_option(WITH_CONFIG "Build with support for libconfig configuration syntax" "${WITH_DEFAULTS} " "LIBCONFIG_FOUND" OFF )
166- cmake_dependent_option(WITH_FPGA "Build with support for VILLASfpga" "${WITH_DEFAULTS} " "FOUND_FPGA_SUBMODULES" OFF )
167- cmake_dependent_option(WITH_GRAPHVIZ "Build with Graphviz" "${WITH_DEFAULTS} " "CGRAPH_FOUND; GVC_FOUND" OFF )
168- cmake_dependent_option(WITH_HOOKS "Build with support for processing hook plugins" "${WITH_DEFAULTS} " "" OFF )
169- cmake_dependent_option(WITH_LUA "Build with Lua" "${WITH_DEFAULTS} " "LUA_FOUND" OFF )
170- cmake_dependent_option(WITH_OPENMP "Build with support for OpenMP for parallel hooks" "${WITH_DEFAULTS} " "OPENMP_FOUND" OFF )
171- cmake_dependent_option(WITH_PLUGINS "Build plugins" "${WITH_DEFAULTS} " "TOPLEVEL_PROJECT" OFF )
172- cmake_dependent_option(WITH_SRC "Build executables" "${WITH_DEFAULTS} " "TOPLEVEL_PROJECT" OFF )
173- cmake_dependent_option(WITH_TESTS "Run tests" "${WITH_DEFAULTS} " "TOPLEVEL_PROJECT" OFF )
174- cmake_dependent_option(WITH_TOOLS "Build auxilary tools" "${WITH_DEFAULTS} " "TOPLEVEL_PROJECT" OFF )
175- cmake_dependent_option(WITH_WEB "Build with internal webserver" "${WITH_DEFAULTS} " "LIBWEBSOCKETS_FOUND" OFF )
176-
177- cmake_dependent_option(WITH_NODE_AMQP "Build with amqp node-type" "${WITH_DEFAULTS} " "RABBITMQ_C_FOUND" OFF )
178- cmake_dependent_option(WITH_NODE_CAN "Build with can node-type" "${WITH_DEFAULTS} " "" OFF )
179- cmake_dependent_option(WITH_NODE_COMEDI "Build with comedi node-type" "${WITH_DEFAULTS} " "COMEDILIB_FOUND" OFF )
180- cmake_dependent_option(WITH_NODE_ETHERCAT "Build with ethercat node-type" "${WITH_DEFAULTS} " "ETHERLAB_FOUND; NOT WITHOUT_GPL" OFF )
181- cmake_dependent_option(WITH_NODE_EXAMPLE "Build with example node-type" "${WITH_DEFAULTS} " "" OFF )
182- cmake_dependent_option(WITH_NODE_EXEC "Build with exec node-type" "${WITH_DEFAULTS} " "" OFF )
183- cmake_dependent_option(WITH_NODE_FILE "Build with file node-type" "${WITH_DEFAULTS} " "" OFF )
184- cmake_dependent_option(WITH_NODE_FPGA "Build with fpga node-type" "${WITH_DEFAULTS} " "WITH_FPGA" OFF )
185- cmake_dependent_option(WITH_NODE_IEC61850 "Build with iec61850 node-types" "${WITH_DEFAULTS} " "LIBIEC61850_FOUND; NOT WITHOUT_GPL" OFF )
186- cmake_dependent_option(WITH_NODE_IEC60870 "Build with iec60870 node-types" "${WITH_DEFAULTS} " "LIB60870_FOUND; NOT WITHOUT_GPL" OFF )
187- cmake_dependent_option(WITH_NODE_INFINIBAND "Build with infiniband node-type" "${WITH_DEFAULTS} " "IBVerbs_FOUND; RDMACM_FOUND" OFF ) # Infiniband node-type is currenly broken
188- cmake_dependent_option(WITH_NODE_INFLUXDB "Build with influxdb node-type" "${WITH_DEFAULTS} " "" OFF )
189- cmake_dependent_option(WITH_NODE_KAFKA "Build with kafka node-type" "${WITH_DEFAULTS} " "RDKAFKA_FOUND" OFF )
190- cmake_dependent_option(WITH_NODE_LOOPBACK "Build with loopback node-type" "${WITH_DEFAULTS} " "" OFF )
191- cmake_dependent_option(WITH_NODE_MODBUS "Build with modbus node-type" "${WITH_DEFAULTS} " "MODBUS_FOUND" OFF )
192- cmake_dependent_option(WITH_NODE_MQTT "Build with mqtt node-type" "${WITH_DEFAULTS} " "MOSQUITTO_FOUND" OFF )
193- cmake_dependent_option(WITH_NODE_NANOMSG "Build with nanomsg node-type" "${WITH_DEFAULTS} " "NANOMSG_FOUND" OFF )
194- cmake_dependent_option(WITH_NODE_NGSI "Build with ngsi node-type" "${WITH_DEFAULTS} " "" OFF )
195- cmake_dependent_option(WITH_NODE_REDIS "Build with redis node-type" "${WITH_DEFAULTS} " "HIREDIS_FOUND; REDISPP_FOUND" OFF )
196- cmake_dependent_option(WITH_NODE_RTP "Build with rtp node-type" "${WITH_DEFAULTS} " "re_FOUND" OFF )
197- cmake_dependent_option(WITH_NODE_SHMEM "Build with shmem node-type" "${WITH_DEFAULTS} " "HAS_SEMAPHORE; HAS_MMAN" OFF )
198- cmake_dependent_option(WITH_NODE_SIGNAL "Build with signal node-type" "${WITH_DEFAULTS} " "" OFF )
199- cmake_dependent_option(WITH_NODE_SOCKET "Build with socket node-type" "${WITH_DEFAULTS} " "LIBNL3_ROUTE_FOUND" OFF )
200- cmake_dependent_option(WITH_NODE_STATS "Build with stats node-type" "${WITH_DEFAULTS} " "" OFF )
201- cmake_dependent_option(WITH_NODE_TEMPER "Build with temper node-type" "${WITH_DEFAULTS} " "LIBUSB_FOUND" OFF )
202- cmake_dependent_option(WITH_NODE_TEST_RTT "Build with test_rtt node-type" "${WITH_DEFAULTS} " "" OFF )
203- cmake_dependent_option(WITH_NODE_ULDAQ "Build with uldaq node-type" "${WITH_DEFAULTS} " "LIBULDAQ_FOUND" OFF )
204- cmake_dependent_option(WITH_NODE_WEBRTC "Build with webrtc node-type" "${WITH_DEFAULTS} " "WITH_WEB; LibDataChannel_FOUND" OFF )
205- cmake_dependent_option(WITH_NODE_WEBSOCKET "Build with websocket node-type" "${WITH_DEFAULTS} " "WITH_WEB" OFF )
206- cmake_dependent_option(WITH_NODE_ZEROMQ "Build with zeromq node-type" "${WITH_DEFAULTS} " "LIBZMQ_FOUND; NOT WITHOUT_GPL" OFF )
207- cmake_dependent_option(WITH_NODE_OPENDSS "Build with opendss node-type" "${WITH_DEFAULTS} " "OpenDSSC_FOUND" OFF )
208-
209- # set a default for the build type
163+ cmake_dependent_option(WITH_DEFAULTS "Defaults for non required build options" ON "" OFF )
164+
165+ cmake_dependent_option(WITH_API "Build with remote control API" "${WITH_DEFAULTS} " "" OFF )
166+ cmake_dependent_option(WITH_CLIENTS "Build client applications" "${WITH_DEFAULTS} " "TOPLEVEL_PROJECT" OFF )
167+ cmake_dependent_option(WITH_CONFIG "Build with support for libconfig configuration syntax" "${WITH_DEFAULTS} " "LIBCONFIG_FOUND" OFF )
168+ cmake_dependent_option(WITH_FPGA "Build with support for VILLASfpga" "${WITH_DEFAULTS} " "FOUND_FPGA_SUBMODULES" OFF )
169+ cmake_dependent_option(WITH_GRAPHVIZ "Build with Graphviz" "${WITH_DEFAULTS} " "CGRAPH_FOUND; GVC_FOUND" OFF )
170+ cmake_dependent_option(WITH_HOOKS "Build with support for processing hook plugins" "${WITH_DEFAULTS} " "" OFF )
171+ cmake_dependent_option(WITH_LUA "Build with Lua" "${WITH_DEFAULTS} " "LUA_FOUND" OFF )
172+ cmake_dependent_option(WITH_OPENMP "Build with support for OpenMP for parallel hooks" "${WITH_DEFAULTS} " "OPENMP_FOUND" OFF )
173+ cmake_dependent_option(WITH_PLUGINS "Build plugins" "${WITH_DEFAULTS} " "TOPLEVEL_PROJECT" OFF )
174+ cmake_dependent_option(WITH_SRC "Build executables" "${WITH_DEFAULTS} " "TOPLEVEL_PROJECT" OFF )
175+ cmake_dependent_option(WITH_TESTS "Run tests" "${WITH_DEFAULTS} " "TOPLEVEL_PROJECT" OFF )
176+ cmake_dependent_option(WITH_TOOLS "Build auxilary tools" "${WITH_DEFAULTS} " "TOPLEVEL_PROJECT" OFF )
177+ cmake_dependent_option(WITH_WEB "Build with internal webserver" "${WITH_DEFAULTS} " "LIBWEBSOCKETS_FOUND" OFF )
178+
179+ cmake_dependent_option(WITH_NODE_AMQP "Build with amqp node-type" "${WITH_DEFAULTS} " "RABBITMQ_C_FOUND" OFF )
180+ cmake_dependent_option(WITH_NODE_CAN "Build with can node-type" "${WITH_DEFAULTS} " "" OFF )
181+ cmake_dependent_option(WITH_NODE_COMEDI "Build with comedi node-type" "${WITH_DEFAULTS} " "COMEDILIB_FOUND" OFF )
182+ cmake_dependent_option(WITH_NODE_ETHERCAT "Build with ethercat node-type" "${WITH_DEFAULTS} " "ETHERLAB_FOUND; NOT WITHOUT_GPL" OFF )
183+ cmake_dependent_option(WITH_NODE_EXAMPLE "Build with example node-type" "${WITH_DEFAULTS} " "" OFF )
184+ cmake_dependent_option(WITH_NODE_EXEC "Build with exec node-type" "${WITH_DEFAULTS} " "" OFF )
185+ cmake_dependent_option(WITH_NODE_FILE "Build with file node-type" "${WITH_DEFAULTS} " "" OFF )
186+ cmake_dependent_option(WITH_NODE_FPGA "Build with fpga node-type" "${WITH_DEFAULTS} " "WITH_FPGA" OFF )
187+ cmake_dependent_option(WITH_NODE_IEC61850 "Build with iec61850 node-types" "${WITH_DEFAULTS} " "LIBIEC61850_FOUND; NOT WITHOUT_GPL" OFF )
188+ cmake_dependent_option(WITH_NODE_IEC60870 "Build with iec60870 node-types" "${WITH_DEFAULTS} " "LIB60870_FOUND; NOT WITHOUT_GPL" OFF )
189+ cmake_dependent_option(WITH_NODE_INFINIBAND "Build with infiniband node-type" "${WITH_DEFAULTS} " "IBVerbs_FOUND; RDMACM_FOUND" OFF ) # Infiniband node-type is currenly broken
190+ cmake_dependent_option(WITH_NODE_INFLUXDB "Build with influxdb node-type" "${WITH_DEFAULTS} " "" OFF )
191+ cmake_dependent_option(WITH_NODE_KAFKA "Build with kafka node-type" "${WITH_DEFAULTS} " "RDKAFKA_FOUND" OFF )
192+ cmake_dependent_option(WITH_NODE_LOOPBACK "Build with loopback node-type" "${WITH_DEFAULTS} " "" OFF )
193+ cmake_dependent_option(WITH_NODE_MODBUS "Build with modbus node-type" "${WITH_DEFAULTS} " "MODBUS_FOUND" OFF )
194+ cmake_dependent_option(WITH_NODE_MQTT "Build with mqtt node-type" "${WITH_DEFAULTS} " "MOSQUITTO_FOUND" OFF )
195+ cmake_dependent_option(WITH_NODE_NANOMSG "Build with nanomsg node-type" "${WITH_DEFAULTS} " "NANOMSG_FOUND" OFF )
196+ cmake_dependent_option(WITH_NODE_NGSI "Build with ngsi node-type" "${WITH_DEFAULTS} " "" OFF )
197+ cmake_dependent_option(WITH_NODE_OPAL_ORCHESTRA "Build with the opal-orchestra node-type" "${WITH_DEFAULTS} " "OpalOrchestra_FOUND; LibXml2_FOUND" OFF )
198+ cmake_dependent_option(WITH_NODE_REDIS "Build with redis node-type" "${WITH_DEFAULTS} " "HIREDIS_FOUND; REDISPP_FOUND" OFF )
199+ cmake_dependent_option(WITH_NODE_RTP "Build with rtp node-type" "${WITH_DEFAULTS} " "re_FOUND" OFF )
200+ cmake_dependent_option(WITH_NODE_SHMEM "Build with shmem node-type" "${WITH_DEFAULTS} " "HAS_SEMAPHORE; HAS_MMAN" OFF )
201+ cmake_dependent_option(WITH_NODE_SIGNAL "Build with signal node-type" "${WITH_DEFAULTS} " "" OFF )
202+ cmake_dependent_option(WITH_NODE_SOCKET "Build with socket node-type" "${WITH_DEFAULTS} " "LIBNL3_ROUTE_FOUND" OFF )
203+ cmake_dependent_option(WITH_NODE_STATS "Build with stats node-type" "${WITH_DEFAULTS} " "" OFF )
204+ cmake_dependent_option(WITH_NODE_TEMPER "Build with temper node-type" "${WITH_DEFAULTS} " "LIBUSB_FOUND" OFF )
205+ cmake_dependent_option(WITH_NODE_TEST_RTT "Build with test_rtt node-type" "${WITH_DEFAULTS} " "" OFF )
206+ cmake_dependent_option(WITH_NODE_ULDAQ "Build with uldaq node-type" "${WITH_DEFAULTS} " "LIBULDAQ_FOUND" OFF )
207+ cmake_dependent_option(WITH_NODE_WEBRTC "Build with webrtc node-type" "${WITH_DEFAULTS} " "WITH_WEB; LibDataChannel_FOUND" OFF )
208+ cmake_dependent_option(WITH_NODE_WEBSOCKET "Build with websocket node-type" "${WITH_DEFAULTS} " "WITH_WEB" OFF )
209+ cmake_dependent_option(WITH_NODE_ZEROMQ "Build with zeromq node-type" "${WITH_DEFAULTS} " "LIBZMQ_FOUND; NOT WITHOUT_GPL" OFF )
210+ cmake_dependent_option(WITH_NODE_OPENDSS "Build with opendss node-type" "${WITH_DEFAULTS} " "OpenDSSC_FOUND" OFF )
211+
212+ # Set a default for the build type
210213if ("${CMAKE_BUILD_TYPE} " STREQUAL "" )
211214 set (CMAKE_BUILD_TYPE "Debug" )
212215endif ()
0 commit comments