11cmake_minimum_required (VERSION 3.1)
22project (trick)
33set (TRICK_MAJOR 19)
4- set (TRICK_MINOR 0 )
5- set (TRICK_TINY 1 )
4+ set (TRICK_MINOR 1 )
5+ set (TRICK_TINY 0 )
66#set(CMAKE_VERBOSE_MAKEFILE ON)
77set (CMAKE_CXX_STANDARD 11)
88set (CMAKE_CXX_STANDARD_REQUIRED ON )
@@ -11,6 +11,7 @@ set(TRICK_FORCE_32BIT OFF CACHE BOOL "Set Trick to compile in 32bit mode")
1111#set(USE_JAVA ON CACHE BOOL "Use java")
1212set (USE_ER7_UTILS ON CACHE BOOL "Use er7_utils" )
1313set (UDUNITS2_ROOT "" CACHE STRING "UDUNITS home directory" )
14+ set (TRICK_MONGOOSE "0" CACHE STRING "Enable webserver" )
1415
1516#message("UDUNITS2_ROOT = ${UDUNITS2_ROOT}")
1617
@@ -60,6 +61,10 @@ if(GSL_FOUND)
6061 add_definitions ( -D_HAVE_GSL)
6162endif ()
6263
64+ if (USE_MONGOOSE)
65+ add_definitions (-DUSE_MONGOOSE)
66+ endif ()
67+
6368include_directories ( ${CMAKE_BINARY_DIR} /include )
6469include_directories ( ${CMAKE_BINARY_DIR} /include /trick/compat)
6570
@@ -84,7 +89,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/share/trick/makefiles/config_user_cma
8489###############################################################
8590# mongoose lib
8691###############################################################
87-
92+ if (USE_MONGOOSE)
8893add_custom_command (
8994 OUTPUT ${CMAKE_BINARY_DIR} /include /mongoose/mongoose.h
9095 COMMAND curl --retry 4 -O https://raw.githubusercontent.com/cesanta/mongoose/6.16/mongoose.h
@@ -100,6 +105,7 @@ add_custom_command(
100105
101106add_library (mongoose STATIC ${CMAKE_BINARY_DIR} /temp_src/mongoose/mongoose.c)
102107target_include_directories ( mongoose PUBLIC ${CMAKE_BINARY_DIR} /include /mongoose )
108+ endif ()
103109
104110###############################################################
105111# io_src files
@@ -206,8 +212,6 @@ set( IO_SRC
206212 ${CMAKE_BINARY_DIR} /temp_src/io_src/io_VariableServerListenThread.cpp
207213 ${CMAKE_BINARY_DIR} /temp_src/io_src/io_VariableServerReference.cpp
208214 ${CMAKE_BINARY_DIR} /temp_src/io_src/io_VariableServerThread.cpp
209- ${CMAKE_BINARY_DIR} /temp_src/io_src/io_WebServer.cpp
210- ${CMAKE_BINARY_DIR} /temp_src/io_src/io_WebSocketSession.cpp
211215 ${CMAKE_BINARY_DIR} /temp_src/io_src/io_Zeroconf.cpp
212216 ${CMAKE_BINARY_DIR} /temp_src/io_src/io_attributes.cpp
213217 ${CMAKE_BINARY_DIR} /temp_src/io_src/io_dllist.cpp
@@ -349,6 +353,15 @@ set(SWIG_FLAGS -DUSE_ER7_UTILS_INTEGRATORS)
349353if (GSL_FOUND)
350354 list ( APPEND SWIG_FLAGS -D_HAVE_GSL )
351355endif ()
356+
357+ if (USE_MONGOOSE)
358+ list ( APPEND SWIG_FLAGS -DUSE_MONGOOSE)
359+ list ( APPEND IO_SRC
360+ ${CMAKE_BINARY_DIR} /temp_src/io_src/io_WebServer.cpp
361+ ${CMAKE_BINARY_DIR} /temp_src/io_src/io_WebSocketSession.cpp
362+ )
363+ endif ()
364+
352365foreach ( infile ${SWIG_SRC_BASENAME} )
353366 add_custom_command (OUTPUT ${CMAKE_BINARY_DIR} /temp_src/swig/${infile} _wrap.cpp
354367 COMMAND ${SWIG_EXECUTABLE} ${SWIG_FLAGS} -I${CMAKE_CURRENT_SOURCE_DIR} /trick_source -I${CMAKE_CURRENT_SOURCE_DIR} /include -I${CMAKE_CURRENT_SOURCE_DIR} -c++ -python -includeall -ignoremissing -w201,362,389,451 -o $@ -outdir ${CMAKE_BINARY_DIR} /share/trick/swig ${CMAKE_CURRENT_SOURCE_DIR} /trick_source/trick_swig/${infile} .i
@@ -366,7 +379,7 @@ target_include_directories( trick_pyip PUBLIC trick_source )
366379###############################################################
367380# libtrickHTTP.a
368381###############################################################
369-
382+ if (USE_MONGOOSE)
370383set ( TRICKHTTP_SRC
371384 trick_source/web/HttpServer/src/VariableServerSession
372385 trick_source/web/HttpServer/src/VariableServerVariable
@@ -377,7 +390,7 @@ set( TRICKHTTP_SRC
377390
378391add_library ( trickHTTP STATIC ${TRICKHTTP_SRC} )
379392add_dependencies ( trickHTTP mongoose)
380-
393+ endif ()
381394###############################################################
382395# Other Trick libraries
383396###############################################################
0 commit comments