source "${GRIMOIRE}/CMAKE_CONFIGURE" &&

list_remove I2PD_OPTS "USE_MESHNET=yes" &&
list_remove I2PD_OPTS "USE_MESHNET=no" &&
list_remove I2PD_OPTS "WEBSOCKETS=yes" &&
list_remove I2PD_OPTS "WEBSOCKETS=no" &&

config_query_option I2PD_OPTS "Enable AES-NI support?" n \
                              "-DWITH_AESNI=ON" \
                              "-DWITH_AESNI=OFF" &&

config_query_option I2PD_OPTS "Enable AVX support?" n \
                              "-DWITH_AVX=ON" \
                              "-DWITH_AVX=OFF" &&

config_query_option I2PD_OPTS "Enable hardening support?" n \
                              "-DWITH_HARDENING=ON" \
                              "-DWITH_HARDENING=OFF" &&

config_query_option I2PD_OPTS "Build with Address Sanitizer?" n \
                              "-DWITH_ADDRSANITIZER=ON" \
                              "-DWITH_ADDRSANITIZER=OFF" &&

if list_find I2PD_OPTS "-DWITH_ADDRSANITIZER=OFF"; then
  config_query_option I2PD_OPTS "Build with Thread Sanitizer?" n \
                                "-DWITH_THREADSANITIZER=ON" \
                                "-DWITH_THREADSANITIZER=OFF"
fi &&

config_query_option I2PD_OPTS "Enable MeshNet support?" n \
                              "-DWITH_MESHNET=ON" \
                              "-DWITH_MESHNET=OFF" &&

config_query_option I2PD_OPTS "Enable WebSockets support?" n \
                              "-DWITH_WEBSOCKETS=ON" \
                              "-DWITH_WEBSOCKETS=OFF"
