This is an automated email from the ASF dual-hosted git repository.

szaszm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit bf7939175a77ba6725a2372a6a08f6f68e2e7366
Author: Gabor Gyimesi <[email protected]>
AuthorDate: Mon Jul 19 15:38:05 2021 +0200

    MINIFICPP-1367 Add ENABLE_NANOFI cmake option, disable by default
    
    This closes #1124
    
    Signed-off-by: Marton Szasz <[email protected]>
---
 .github/workflows/ci.yml |  8 ++---
 CMakeLists.txt           | 19 ++++++-----
 README.md                |  3 +-
 bootstrap.sh             |  4 +++
 bstrp_functions.sh       | 28 +++++++++++++--
 cmake/BuildTests.cmake   | 89 +++++++++++++++++++++++++-----------------------
 cmake/DockerConfig.cmake |  1 +
 docker/Dockerfile        |  5 +--
 win_build_vs.bat         |  4 ++-
 9 files changed, 100 insertions(+), 61 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d380294..f9ceac0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -33,7 +33,7 @@ jobs:
         run: |
           export 
PATH="/usr/local/opt/[email protected]/lib:/usr/local/opt/[email protected]/include:/usr/local/opt/[email protected]/bin:$PATH"
           export PKG_CONFIG_PATH="/usr/local/opt/[email protected]/lib/pkgconfig"
-          ./bootstrap.sh -e -t && cd build  && cmake 
-DCMAKE_BUILD_TYPE=Release -DENABLE_LUA_SCRIPTING=1 -DENABLE_AWS=ON 
-DENABLE_AZURE=ON -DENABLE_SQL=ON -DCMAKE_VERBOSE_MAKEFILE=ON 
-DCMAKE_RULE_MESSAGES=OFF -DSTRICT_GSL_CHECKS=AUDIT -DFAIL_ON_WARNINGS=ON .. && 
cmake --build . --parallel 4
+          ./bootstrap.sh -e -t && cd build  && cmake 
-DCMAKE_BUILD_TYPE=Release -DENABLE_LUA_SCRIPTING=1 -DENABLE_AWS=ON 
-DENABLE_AZURE=ON -DENABLE_SQL=ON -DENABLE_NANOFI=ON 
-DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF -DSTRICT_GSL_CHECKS=AUDIT 
-DFAIL_ON_WARNINGS=ON .. && cmake --build . --parallel 4
       - name: test
         run: cd build && make test ARGS="--timeout 300 -j4 --output-on-failure"
   macos_xcode_12_0:
@@ -111,7 +111,7 @@ jobs:
         run: |
           PATH %PATH%;C:\Program Files (x86)\Windows 
Kits\10\bin\10.0.19041.0\x64
           PATH %PATH%;C:\Program Files (x86)\Microsoft Visual 
Studio\2019\Enterprise\MSBuild\Current\Bin\Roslyn
-          win_build_vs.bat build /64 /CI /S /A /PDH /K /L /R /Z
+          win_build_vs.bat build /64 /CI /S /A /PDH /K /L /R /Z /N
         shell: cmd
       - name: test
         run: cd build && ctest --timeout 300 --parallel 8 -C Release 
--output-on-failure
@@ -228,7 +228,7 @@ jobs:
           echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
           echo -e "127.0.0.1\t$HOSTNAME" | sudo tee -a /etc/hosts > /dev/null
       - name: build
-        run: ./bootstrap.sh -e -t && cd build  && cmake -DUSE_SHARED_LIBS= 
-DCMAKE_BUILD_TYPE=Release -DENABLE_JNI=ON -DENABLE_SENSORS=ON 
-DENABLE_OPENWSMAN=ON -DENABLE_OPENCV=ON -DENABLE_MQTT=ON -DENABLE_GPS=ON 
-DENABLE_USB_CAMERA=ON -DENABLE_LIBRDKAFKA=ON -DENABLE_OPC=ON -DENABLE_SFTP=ON 
-DENABLE_COAP=ON -DENABLE_PYTHON=ON -DENABLE_SQL=ON -DENABLE_AWS=ON 
-DSTRICT_GSL_CHECKS=AUDIT -DFAIL_ON_WARNINGS=ON -DCMAKE_C_COMPILER=clang 
-DCMAKE_CXX_COMPILER=clang++ .. &&  cmake --build . --parallel 4
+        run: ./bootstrap.sh -e -t && cd build  && cmake -DUSE_SHARED_LIBS= 
-DCMAKE_BUILD_TYPE=Release -DENABLE_NANOFI=ON -DENABLE_JNI=ON 
-DENABLE_SENSORS=ON -DENABLE_OPENWSMAN=ON -DENABLE_OPENCV=ON -DENABLE_MQTT=ON 
-DENABLE_GPS=ON -DENABLE_USB_CAMERA=ON -DENABLE_LIBRDKAFKA=ON -DENABLE_OPC=ON 
-DENABLE_SFTP=ON -DENABLE_COAP=ON -DENABLE_PYTHON=ON -DENABLE_SQL=ON 
-DENABLE_AWS=ON -DSTRICT_GSL_CHECKS=AUDIT -DFAIL_ON_WARNINGS=ON 
-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ .. &&  cmake [...]
       - name: test
         run: cd build && make test ARGS="--timeout 300 -j8 --output-on-failure"
   ubuntu_16_04_all:
@@ -255,7 +255,7 @@ jobs:
           echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
           echo -e "127.0.0.1\t$HOSTNAME" | sudo tee -a /etc/hosts > /dev/null
       - name: build
-        run: sudo mount tmpfs -t tmpfs /tmp && ./bootstrap.sh -e -t && cd 
build  && cmake -DUSE_SHARED_LIBS= -DENABLE_OPENWSMAN=ON -DENABLE_OPENCV=ON 
-DENABLE_GPS=ON -DENABLE_USB_CAMERA=ON -DENABLE_LIBRDKAFKA=ON -DENABLE_OPC=ON 
-DENABLE_SFTP=ON -DENABLE_MQTT=ON -DENABLE_COAP=ON -DENABLE_PYTHON=ON 
-DENABLE_SQL=ON -DENABLE_AWS=ON -DENABLE_AZURE=ON -DSTRICT_GSL_CHECKS=AUDIT 
-DFAIL_ON_WARNINGS=ON .. &&  cmake --build . --parallel 4
+        run: sudo mount tmpfs -t tmpfs /tmp && ./bootstrap.sh -e -t && cd 
build  && cmake -DUSE_SHARED_LIBS= -DENABLE_NANOFI=ON -DENABLE_OPENWSMAN=ON 
-DENABLE_OPENCV=ON -DENABLE_GPS=ON -DENABLE_USB_CAMERA=ON 
-DENABLE_LIBRDKAFKA=ON -DENABLE_OPC=ON -DENABLE_SFTP=ON -DENABLE_MQTT=ON 
-DENABLE_COAP=ON -DENABLE_PYTHON=ON -DENABLE_SQL=ON -DENABLE_AWS=ON 
-DENABLE_AZURE=ON -DSTRICT_GSL_CHECKS=AUDIT -DFAIL_ON_WARNINGS=ON .. &&  cmake 
--build . --parallel 4
       - name: test
         run: cd build && make test ARGS="--timeout 300 -j8 --output-on-failure"
   debian:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 370d80d..89e134a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -50,6 +50,7 @@ option(ENABLE_OPS "Enable Operations/zlib Tools" ON)
 option(ENABLE_JNI "Instructs the build system to enable the JNI extension" OFF)
 option(ENABLE_OPENCV "Instructs the build system to enable the OpenCV 
extension" OFF)
 option(ENABLE_OPC "Instructs the build system to enable the OPC extension" OFF)
+option(ENABLE_NANOFI "Instructs the build system to enable nanofi library" OFF)
 option(BUILD_SHARED_LIBS "Build yaml cpp shared lib" OFF)
 
 option(BUILD_ROCKSDB "Instructs the build system to use RocksDB from the third 
party directory" ON)
@@ -574,8 +575,10 @@ endif()
 ## NOW WE CAN ADD LIBRARIES AND EXTENSIONS TO MAIN
 add_subdirectory(main)
 
-add_subdirectory(nanofi)
-add_dependencies(nanofi minifiexe)
+if (ENABLE_NANOFI)
+       add_subdirectory(nanofi)
+       add_dependencies(nanofi minifiexe)
+endif()
 
 option(ENABLE_ENCRYPT_CONFIG "Enables build of encrypt-config binary." ON)
 if (ENABLE_ENCRYPT_CONFIG)
@@ -589,12 +592,12 @@ if (NOT DISABLE_CURL AND NOT DISABLE_CONTROLLER)
 endif()
 
 
-if (NOT DISABLE_CURL)
-  if (ENABLE_PYTHON)
-       if (NOT WIN32)
-               add_subdirectory(python/library)
-       endif()
-  endif(ENABLE_PYTHON)
+if (NOT DISABLE_CURL AND ENABLE_PYTHON AND NOT WIN32)
+       if (ENABLE_NANOFI)
+               add_subdirectory(python/library)
+       else()
+               message(FATAL_ERROR "Nanofi, a dependency of the python 
extension is disabled, therefore Python extension cannot be enabled.")
+       endif()
 endif()
 
 get_property(selected_extensions GLOBAL PROPERTY EXTENSION-OPTIONS)
diff --git a/README.md b/README.md
index 39c5261..bf71160 100644
--- a/README.md
+++ b/README.md
@@ -367,6 +367,7 @@ $ # It is recommended that you install bison from source as 
HomeBrew now uses an
     W. Openwsman Support ...........Disabled
     X. Azure Support ...............Disabled
     Y. Systemd Support .............Enabled
+    Z. NanoFi Support ..............Enabled
     ****************************************
                 Build Options.
     ****************************************
@@ -383,7 +384,7 @@ $ # It is recommended that you install bison from source as 
HomeBrew now uses an
       version of cmake or other software, or
       incompatibility with other extensions
 
-    Enter choice [ A - Y or 1-7 ]
+    Enter choice [ A - Z or 1-7 ]
   ```
 
 - Boostrap now saves state between runs. State will automatically be saved. 
Provide -c or --clear to clear this state. The -i option provides a guided menu 
install with the ability to change
diff --git a/bootstrap.sh b/bootstrap.sh
index d92d6f1..4b1a974 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -39,6 +39,7 @@ export CMAKE_MIN_VERSION=()
 export INCOMPATIBLE_WITH=()
 export DEPLOY_LIMITS=()
 export DEPENDENCIES=()
+export DEPENDS_ON=()
 
 CORES=1
 BUILD="false"
@@ -326,6 +327,9 @@ add_disabled_option AZURE_ENABLED ${FALSE} "ENABLE_AZURE"
 
 add_disabled_option SYSTEMD_ENABLED ${TRUE} "ENABLE_SYSTEMD"
 
+add_disabled_option NANOFI_ENABLED ${FALSE} "ENABLE_NANOFI"
+set_dependency PYTHON_ENABLED NANOFI_ENABLED
+
 USE_SHARED_LIBS=${TRUE}
 ASAN_ENABLED=${FALSE}
 FAIL_ON_WARNINGS=${FALSE}
diff --git a/bstrp_functions.sh b/bstrp_functions.sh
index 99e98dd..66d08bb 100755
--- a/bstrp_functions.sh
+++ b/bstrp_functions.sh
@@ -69,6 +69,10 @@ add_multi_option(){
        done
 }
 
+set_dependency(){
+  DEPENDS_ON+=("$1:$2")
+}
+
 set_incompatible_with(){
   INCOMPATIBLE_WITH+=("$1:$2")
   INCOMPATIBLE_WITH+=("$2:$1")
@@ -187,6 +191,17 @@ check_compatibility(){
       fi
     fi
   done
+  for option in "${DEPENDS_ON[@]}" ; do
+    OPT=${option%%:*}
+    if [ "$OPT" = "$1" ]; then
+      OTHER_FEATURE=${option#*:}
+      OTHER_FEATURE_VALUE=${!OTHER_FEATURE}
+      if [ "${OTHER_FEATURE_VALUE}" != "Enabled" ]; then
+        echo "false"
+        return
+      fi
+    fi
+  done
   echo "true"
 }
 
@@ -214,6 +229,13 @@ ToggleFeature(){
   ALL_FEATURES_ENABLED="Disabled"
   if [ "${VARIABLE_VALUE}" = "Enabled" ]; then
     eval "$1=${FALSE}"
+    for option in "${DEPENDS_ON[@]}" ; do
+      DEPENDENT_FEATURE=${option%%:*}
+      FEATURE=${option#*:}
+      if [ "$FEATURE" = "$1" ]; then
+        eval "$DEPENDENT_FEATURE=${FALSE}"
+      fi
+    done
   else
     for option in "${CMAKE_MIN_VERSION[@]}" ; do
       OPT=${option%%:*}
@@ -368,6 +390,7 @@ show_supported_features() {
   echo "W. Openwsman Support ...........$(print_feature_status 
OPENWSMAN_ENABLED)"
   echo "X. Azure Support ...............$(print_feature_status AZURE_ENABLED)"
   echo "Y. Systemd Support .............$(print_feature_status 
SYSTEMD_ENABLED)"
+  echo "Z. NanoFi Support ..............$(print_feature_status NANOFI_ENABLED)"
   echo "****************************************"
   echo "            Build Options."
   echo "****************************************"
@@ -390,7 +413,7 @@ show_supported_features() {
 
 read_feature_options(){
   local choice
-  echo -n "Enter choice [ A - Y or 1-7 ] "
+  echo -n "Enter choice [ A - Z or 1-7 ] "
   read -r choice
   choice=$(echo "${choice}" | tr '[:upper:]' '[:lower:]')
   case $choice in
@@ -421,6 +444,7 @@ read_feature_options(){
     w) ToggleFeature OPENWSMAN_ENABLED ;;
     x) ToggleFeature AZURE_ENABLED ;;
     y) ToggleFeature SYSTEMD_ENABLED ;;
+    z) ToggleFeature NANOFI_ENABLED ;;
     1) ToggleFeature TESTS_ENABLED ;;
     2) EnableAllFeatures ;;
     3) ToggleFeature JNI_ENABLED;;
@@ -439,7 +463,7 @@ read_feature_options(){
       fi
       ;;
     q) exit 0;;
-    *) echo -e "${RED}Please enter an option A-X or 1-7...${NO_COLOR}" && 
sleep 2
+    *) echo -e "${RED}Please enter an option A-Z or 1-7...${NO_COLOR}" && 
sleep 2
   esac
 }
 
diff --git a/cmake/BuildTests.cmake b/cmake/BuildTests.cmake
index 337f26e..4bea79c 100644
--- a/cmake/BuildTests.cmake
+++ b/cmake/BuildTests.cmake
@@ -39,51 +39,54 @@ if(NOT EXCLUDE_BOOST)
 endif()
 
 function(appendIncludes testName)
-    target_include_directories(${testName} SYSTEM BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/thirdparty/catch")
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/include")
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/")
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/c2/protocols")
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/c2")
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/core")
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/core/controller")
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/core/repository")
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/core/yaml")
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/core/statemanagement")
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/core/statemanagement/metrics")
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/io")
-    if(WIN32)
-       target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/opsys/win")
-       target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/opsys/win/io")
-    else()
-       target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/opsys/posix")
-       target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/opsys/posix/io")
-    endif()
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/utils")
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/processors")
-    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/provenance")
+  target_include_directories(${testName} SYSTEM BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/thirdparty/catch")
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/include")
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/")
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/c2/protocols")
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/c2")
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/core")
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/core/controller")
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/core/repository")
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/core/yaml")
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/core/statemanagement")
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/core/statemanagement/metrics")
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/io")
+  if(WIN32)
+    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/opsys/win")
+    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/opsys/win/io")
+  else()
+    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/opsys/posix")
+    target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/opsys/posix/io")
+  endif()
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/utils")
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/processors")
+  target_include_directories(${testName} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/provenance")
 endfunction()
 
 function(createTests testName)
-    message ("-- Adding test: ${testName}")
-    appendIncludes("${testName}")
+  message(DEBUG "-- Adding test: ${testName}")
+  appendIncludes("${testName}")
 
-       if (ENABLE_BINARY_DIFF)
-       target_include_directories(${testName} SYSTEM BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/thirdparty/bsdiff/")
+  if (ENABLE_BINARY_DIFF)
+    target_include_directories(${testName} SYSTEM BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/thirdparty/bsdiff/")
     endif(ENABLE_BINARY_DIFF)
 
     if (Boost_FOUND)
-        target_include_directories(${testName} BEFORE PRIVATE 
"${Boost_INCLUDE_DIRS}")
+      target_include_directories(${testName} BEFORE PRIVATE 
"${Boost_INCLUDE_DIRS}")
     endif()
     target_link_libraries(${testName} ${CMAKE_DL_LIBS} ${TEST_BASE_LIB})
     target_link_libraries(${testName} core-minifi yaml-cpp spdlog 
Threads::Threads)
     if (NOT excludeBase)
       target_wholearchive_library(${testName} minifi)
-       endif()
-       add_dependencies(${testName} minifiexe nanofi)
-    if (Boost_FOUND)
-        target_link_libraries(${testName} ${Boost_SYSTEM_LIBRARY})
-        target_link_libraries(${testName} ${Boost_FILESYSTEM_LIBRARY})
-    endif()
+  endif()
+  add_dependencies(${testName} minifiexe)
+  if (ENABLE_NANOFI)
+    add_dependencies(${testName} nanofi)
+  endif()
+  if (Boost_FOUND)
+    target_link_libraries(${testName} ${Boost_SYSTEM_LIBRARY})
+    target_link_libraries(${testName} ${Boost_FILESYSTEM_LIBRARY})
+  endif()
 endfunction()
 
 enable_testing(test)
@@ -94,9 +97,9 @@ target_link_libraries(${TEST_BASE_LIB} core-minifi)
 target_include_directories(${TEST_BASE_LIB} SYSTEM BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/thirdparty/catch")
 target_include_directories(${TEST_BASE_LIB} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/include/")
 if(WIN32)
-       target_include_directories(${TEST_BASE_LIB} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/opsys/win")
+  target_include_directories(${TEST_BASE_LIB} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/opsys/win")
 else()
-       target_include_directories(${TEST_BASE_LIB} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/opsys/posix")
+  target_include_directories(${TEST_BASE_LIB} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/libminifi/opsys/posix")
 endif()
 
 SET(CATCH_MAIN_LIB catch_main)
@@ -120,9 +123,9 @@ FOREACH(testfile ${UNIT_TESTS})
 ENDFOREACH()
 message("-- Finished building ${UNIT_TEST_COUNT} unit test file(s)...")
 
-if(NOT WIN32)
-SET(UNIT_TEST_COUNT 0)
-FOREACH(testfile ${NANOFI_UNIT_TESTS})
+if(NOT WIN32 AND ENABLE_NANOFI)
+  SET(UNIT_TEST_COUNT 0)
+  FOREACH(testfile ${NANOFI_UNIT_TESTS})
     get_filename_component(testfilename "${testfile}" NAME_WE)
     add_executable("${testfilename}" "${NANOFI_TEST_DIR}/${testfile}")
     target_include_directories(${testfilename} BEFORE PRIVATE 
"${CMAKE_SOURCE_DIR}/nanofi/include")
@@ -140,9 +143,10 @@ FOREACH(testfile ${NANOFI_UNIT_TESTS})
       target_link_libraries(${testfilename} ${Boost_SYSTEM_LIBRARY})
       target_link_libraries(${testfilename} ${Boost_FILESYSTEM_LIBRARY})
     endif()
-ENDFOREACH()
-message("-- Finished building ${UNIT_TEST_COUNT} NanoFi unit test file(s)...")
-endif(NOT WIN32)
+  ENDFOREACH()
+  message("-- Finished building ${UNIT_TEST_COUNT} NanoFi unit test 
file(s)...")
+endif()
+
 SET(INT_TEST_COUNT 0)
 FOREACH(testfile ${INTEGRATION_TESTS})
   get_filename_component(testfilename "${testfile}" NAME_WE)
@@ -157,6 +161,5 @@ message("-- Finished building ${INT_TEST_COUNT} integration 
test file(s)...")
 
 get_property(extensions GLOBAL PROPERTY EXTENSION-TESTS)
 foreach(EXTENSION ${extensions})
-       add_subdirectory(${EXTENSION})
+  add_subdirectory(${EXTENSION})
 endforeach()
-
diff --git a/cmake/DockerConfig.cmake b/cmake/DockerConfig.cmake
index 1947f65..c6059eb 100644
--- a/cmake/DockerConfig.cmake
+++ b/cmake/DockerConfig.cmake
@@ -43,6 +43,7 @@ add_custom_target(
         -c ENABLE_OPENWSMAN=${ENABLE_OPENWSMAN}
         -c ENABLE_AZURE=${ENABLE_AZURE}
         -c ENABLE_ENCRYPT_CONFIG=${ENABLE_ENCRYPT_CONFIG}
+        -c ENABLE_NANOFI=${ENABLE_NANOFI}
         -c DISABLE_CURL=${DISABLE_CURL}
         -c DISABLE_JEMALLOC=${DISABLE_JEMALLOC}
         -c DISABLE_CIVET=${DISABLE_CIVET}
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 9aef963..bbe9930 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -49,6 +49,7 @@ ARG ENABLE_SFTP=OFF
 ARG ENABLE_OPENWSMAN=OFF
 ARG ENABLE_AZURE=OFF
 ARG ENABLE_ENCRYPT_CONFIG=ON
+ARG ENABLE_NANOFI=OFF
 ARG DISABLE_CURL=OFF
 ARG DISABLE_JEMALLOC=ON
 ARG DISABLE_CIVET=OFF
@@ -108,8 +109,8 @@ RUN cmake -DSTATIC_BUILD= -DSKIP_TESTS=true 
-DENABLE_ALL="${ENABLE_ALL}" -DENABL
     -DENABLE_JNI="${ENABLE_JNI}" -DENABLE_OPENCV="${ENABLE_OPENCV}" 
-DENABLE_OPC="${ENABLE_OPC}" -DENABLE_GPS="${ENABLE_GPS}" \
     -DENABLE_COAP="${ENABLE_COAP}" -DENABLE_SQL="${ENABLE_SQL}" 
-DENABLE_MQTT="${ENABLE_MQTT}" -DENABLE_PCAP="${ENABLE_PCAP}" \
     -DENABLE_LIBRDKAFKA="${ENABLE_LIBRDKAFKA}" 
-DENABLE_SENSORS="${ENABLE_SENSORS}" -DENABLE_USB_CAMERA="${ENABLE_USB_CAMERA}" 
\
-    -DENABLE_TENSORFLOW="${ENABLE_TENSORFLOW}" -DENABLE_AWS="${ENABLE_AWS}" 
-DENABLE_BUSTACHE="${ENABLE_BUSTACHE}" \
-    -DENABLE_SFTP="${ENABLE_SFTP}" -DENABLE_OPENWSMAN="${ENABLE_OPENWSMAN}" 
-DENABLE_AZURE="${ENABLE_AZURE}" -DENABLE_SYSTEMD=OFF \
+    -DENABLE_TENSORFLOW="${ENABLE_TENSORFLOW}" -DENABLE_AWS="${ENABLE_AWS}" 
-DENABLE_BUSTACHE="${ENABLE_BUSTACHE}" -DENABLE_SFTP="${ENABLE_SFTP}" \
+    -DENABLE_OPENWSMAN="${ENABLE_OPENWSMAN}" -DENABLE_AZURE="${ENABLE_AZURE}" 
-DENABLE_NANOFI=${ENABLE_NANOFI} -DENABLE_SYSTEMD=OFF \
     -DDISABLE_CURL="${DISABLE_CURL}" -DDISABLE_JEMALLOC="${DISABLE_JEMALLOC}" 
-DDISABLE_CIVET="${DISABLE_CIVET}" \
     -DDISABLE_EXPRESSION_LANGUAGE="${DISABLE_EXPRESSION_LANGUAGE}" 
-DDISABLE_ROCKSDB="${DISABLE_ROCKSDB}" \
     -DDISABLE_LIBARCHIVE="${DISABLE_LIBARCHIVE}" 
-DDISABLE_LZMA="${DISABLE_LZMA}" -DDISABLE_BZIP2="${DISABLE_BZIP2}" \
diff --git a/win_build_vs.bat b/win_build_vs.bat
index 8f2693f..e2e33de 100755
--- a/win_build_vs.bat
+++ b/win_build_vs.bat
@@ -38,6 +38,7 @@ set installer_merge_modules=OFF
 set strict_gsl_checks=
 set redist=
 set build_linter=OFF
+set build_nanofi=OFF
 
 set arg_counter=0
 for %%x in (%*) do (
@@ -55,6 +56,7 @@ for %%x in (%*) do (
     if [%%~x] EQU [/PDH]         set build_PDH=ON
     if [%%~x] EQU [/M]           set installer_merge_modules=ON
     if [%%~x] EQU [/Z]           set build_azure=ON
+    if [%%~x] EQU [/N]           set build_nanofi=ON
     if [%%~x] EQU [/64]          set build_platform=x64
     if [%%~x] EQU [/D]           set cmake_build_type=RelWithDebInfo
     if [%%~x] EQU [/DD]          set cmake_build_type=Debug
@@ -66,7 +68,7 @@ for %%x in (%*) do (
 mkdir %builddir%
 pushd %builddir%\
 
-cmake -G %generator% -A %build_platform% 
-DINSTALLER_MERGE_MODULES=%installer_merge_modules% 
-DTEST_CUSTOM_WEL_PROVIDER=%test_custom_wel_provider% -DENABLE_SQL=%build_SQL% 
-DCMAKE_BUILD_TYPE_INIT=%cmake_build_type% 
-DCMAKE_BUILD_TYPE=%cmake_build_type% -DWIN32=WIN32 
-DENABLE_LIBRDKAFKA=%build_kafka% -DENABLE_JNI=%build_jni% -DOPENSSL_OFF=OFF 
-DENABLE_COAP=%build_coap% -DENABLE_AWS=%build_AWS% -DENABLE_PDH=%build_PDH% 
-DENABLE_AZURE=%build_azure% -DENABLE_SFTP=%build_SFTP%  -DUSE_SHARED_L [...]
+cmake -G %generator% -A %build_platform% 
-DINSTALLER_MERGE_MODULES=%installer_merge_modules% 
-DTEST_CUSTOM_WEL_PROVIDER=%test_custom_wel_provider% -DENABLE_SQL=%build_SQL% 
-DCMAKE_BUILD_TYPE_INIT=%cmake_build_type% 
-DCMAKE_BUILD_TYPE=%cmake_build_type% -DWIN32=WIN32 
-DENABLE_LIBRDKAFKA=%build_kafka% -DENABLE_JNI=%build_jni% -DOPENSSL_OFF=OFF 
-DENABLE_COAP=%build_coap% -DENABLE_AWS=%build_AWS% -DENABLE_PDH=%build_PDH% 
-DENABLE_AZURE=%build_azure% -DENABLE_SFTP=%build_SFTP% -DENABLE_NANOFI [...]
 IF %ERRORLEVEL% NEQ 0 EXIT /b %ERRORLEVEL%
 if [%cpack%] EQU [ON] (
     cpack -C %cmake_build_type%

Reply via email to