Author: Andreas Tille <tille@debian.org>
        Aaron M. Ucko <ucko@debian.org>
Last-Update: 2023-01-15 20:56:15
Description: use Debian packaged re2

--- a/tools/loaders/sharq/CMakeLists.txt
+++ b/tools/loaders/sharq/CMakeLists.txt
@@ -48,18 +48,8 @@ if( SINGLE_CONFIG )
     find_package(BZip2)
     find_package (Threads)
     
-    # check whether RE2 is accessible
-    set(RE2_URL https://github.com/google/re2)
-    execute_process(COMMAND curl -Is ${RE2_URL}
-                    COMMAND head -n 1
-                    COMMAND grep -q 200
-                    RESULT_VARIABLE RE2_RC)
-    if ("${RE2_RC}" EQUAL 0)
-      set( RE2_FOUND TRUE CACHE INTERNAL "" )
-    else()
-      message(RE2_RC = "${RE2_RC}" )
-      set( RE2_FOUND FALSE CACHE INTERNAL "" )
-    endif()
+    # Debian ensures RE2 via Build-Depends
+    set( RE2_FOUND TRUE CACHE INTERNAL "" )
     message(RE2_FOUND = ${RE2_FOUND} )
     # RE2_FOUND will be used by sharQ tests
     
@@ -81,28 +71,28 @@ if( SINGLE_CONFIG )
         set(RE2_TAG 2021-09-01)
         #set(RE2_TAG 2023-03-01)
         
-        include (ExternalProject)
-        ExternalProject_Add(RE2
-          PREFIX ${LOCAL_BUILD_DIR}
-          GIT_REPOSITORY ${RE2_URL}
-          GIT_TAG ${RE2_TAG}
-          BUILD_IN_SOURCE 1
-          UPDATE_COMMAND "" # No update as we use specific tag
-          INSTALL_DIR ${LOCAL_LIBDIR}
-          INSTALL_COMMMAND ""
-          CMAKE_ARGS
-            -DCMAKE_BUILD_TYPE:STRING=Release
-            -DRE2_BUILD_TESTING:BOOL=OFF
-            -DCMAKE_INSTALL_PREFIX:PATH=${LOCAL_BUILD_DIR}
-            -DCMAKE_INSTALL_LIBDIR:PATH=lib
-            -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF
-            -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-            -DCMAKE_INSTALL_MESSAGE:STRING=LAZY
-            -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-            -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-            -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
-        )
-        set(RE2_STATIC_LIBRARIES -L${LOCAL_LIBDIR} -lre2 )
+        # include (ExternalProject)
+        # ExternalProject_Add(RE2
+        #   PREFIX ${LOCAL_BUILD_DIR}
+        #   GIT_REPOSITORY ${RE2_URL}
+        #   GIT_TAG ${RE2_TAG}
+        #   BUILD_IN_SOURCE 1
+        #   UPDATE_COMMAND "" # No update as we use specific tag
+        #   INSTALL_DIR ${LOCAL_LIBDIR}
+        #   INSTALL_COMMMAND ""
+        #   CMAKE_ARGS
+        #     -DCMAKE_BUILD_TYPE:STRING=Release
+        #     -DRE2_BUILD_TESTING:BOOL=OFF
+        #     -DCMAKE_INSTALL_PREFIX:PATH=${LOCAL_BUILD_DIR}
+        #     -DCMAKE_INSTALL_LIBDIR:PATH=lib
+        #     -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF
+        #     -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
+        #     -DCMAKE_INSTALL_MESSAGE:STRING=LAZY
+        #     -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
+        #     -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
+        #     -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
+        # )
+        set(RE2_STATIC_LIBRARIES -lre2 )
         
         add_custom_target(
           sharq.py
@@ -112,7 +102,7 @@ if( SINGLE_CONFIG )
             ${BINDIR}/sharq.py)
         
         add_executable(sharq fastq_parse.cpp)
-        add_dependencies(sharq RE2 sharq.py)
+        add_dependencies(sharq sharq.py)
         target_include_directories(sharq PUBLIC ${LOCAL_INCDIR} ${CMAKE_SOURCE_DIR}/libs/inc ./ ../../../)
         if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
                 set(CXX_FILESYSTEM_LIBRARIES "stdc++fs")
--- a/test/loaders/sharq/CMakeLists.txt
+++ b/test/loaders/sharq/CMakeLists.txt
@@ -50,7 +50,7 @@ message(RE2_FOUND=${RE2_FOUND})
         set(LOCAL_BUILD_DIR ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY})
         set(LOCAL_INCDIR ${LOCAL_BUILD_DIR}/include)
         set(LOCAL_LIBDIR ${LOCAL_BUILD_DIR}/lib)
-        set(RE2_STATIC_LIBRARIES -L${LOCAL_LIBDIR} -lre2 )
+        set(RE2_STATIC_LIBRARIES -lre2 )
 
         if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
             set(CXX_FILESYSTEM_LIBRARIES "stdc++fs")
@@ -58,28 +58,28 @@ message(RE2_FOUND=${RE2_FOUND})
 
         # test-regexpr
         add_executable(test-regexpr test-regexpr.cpp )
-        add_dependencies(test-regexpr RE2)
+        # add_dependencies(test-regexpr RE2)
         target_include_directories(test-regexpr PUBLIC ${LOCAL_INCDIR})
         target_link_libraries(test-regexpr ${COMMON_LINK_LIBRARIES} ${COMMON_LIBS_READ} ${RE2_STATIC_LIBRARIES})
         add_test( NAME Test_regexpr COMMAND test-regexpr WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
 
         # test-sharq-reader
         add_executable(test-sharq-reader test-sharq-reader.cpp )
-        add_dependencies(test-sharq-reader RE2 sharq)
+        add_dependencies(test-sharq-reader sharq)
         target_include_directories(test-sharq-reader PUBLIC ${LOCAL_INCDIR} ../../../tools/loaders/sharq)
         target_link_libraries(test-sharq-reader ${CXX_FILESYSTEM_LIBRARIES} ZLIB::ZLIB ${COMMON_LINK_LIBRARIES} ${COMMON_LIBS_READ} ${BZIP2_LIBRARIES} ${RE2_STATIC_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
         add_test( NAME Test_sharq_reader COMMAND test-sharq-reader WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
 
         # test-sharq-parser
         add_executable(test-sharq-parser test-sharq-parser.cpp )
-        add_dependencies(test-sharq-parser RE2 sharq)
+        add_dependencies(test-sharq-parser sharq)
         target_include_directories(test-sharq-parser PUBLIC ${LOCAL_INCDIR} ../../../tools/loaders/sharq)
         target_link_libraries(test-sharq-parser ${CXX_FILESYSTEM_LIBRARIES} ZLIB::ZLIB ${COMMON_LINK_LIBRARIES} ${COMMON_LIBS_READ} ${BZIP2_LIBRARIES} ${RE2_STATIC_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
         add_test( NAME Test_sharq_parser COMMAND test-sharq-parser WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
 
         # test-sharq-writer
         add_executable(test-sharq-writer test-sharq-writer.cpp )
-        add_dependencies(test-sharq-writer RE2 sharq general-loader ) # general-loader for the metadata command line tests 
+        add_dependencies(test-sharq-writer sharq general-loader ) # general-loader for the metadata command line tests
         target_include_directories(test-sharq-writer PUBLIC ${LOCAL_INCDIR} ../../../tools/loaders/sharq)
         target_link_libraries(test-sharq-writer ${COMMON_LINK_LIBRARIES} ${COMMON_LIBS_READ})
         add_test( NAME Test_sharq_writer COMMAND test-sharq-writer WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
@@ -93,7 +93,7 @@ message(RE2_FOUND=${RE2_FOUND})
             set( asan_defs "-fsanitize=address" )
 
             add_executable(test-sharq-parser-asan test-sharq-parser.cpp )
-            add_dependencies(test-sharq-parser-asan RE2 sharq-asan)
+            add_dependencies(test-sharq-parser-asan sharq-asan)
             target_include_directories(test-sharq-parser-asan PUBLIC ${LOCAL_INCDIR} ../../../tools/loaders/sharq)
             target_compile_options( test-sharq-parser-asan PRIVATE ${asan_defs} )
             target_link_libraries(test-sharq-parser-asan ${CXX_FILESYSTEM_LIBRARIES} ZLIB::ZLIB ${COMMON_LINK_LIBRARIES} ${COMMON_LIBS_READ} ${BZIP2_LIBRARIES} ${RE2_STATIC_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
@@ -111,7 +111,7 @@ message(RE2_FOUND=${RE2_FOUND})
             set( tsan_defs "-fsanitize=thread" )
 
             add_executable(test-sharq-parser-tsan test-sharq-parser.cpp )
-            add_dependencies(test-sharq-parser-tsan RE2 sharq-tsan)
+            add_dependencies(test-sharq-parser-tsan sharq-tsan)
             target_include_directories(test-sharq-parser-tsan PUBLIC ${LOCAL_INCDIR} ../../../tools/loaders/sharq)
             target_compile_options( test-sharq-parser-tsan PRIVATE ${tsan_defs} )
             target_link_libraries(test-sharq-parser-tsan ${CXX_FILESYSTEM_LIBRARIES} ZLIB::ZLIB ${COMMON_LINK_LIBRARIES} ${COMMON_LIBS_READ} ${BZIP2_LIBRARIES} ${RE2_STATIC_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
