diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2361e53410ec18259f70b546638dae6cc8e7ad55..38bc80686d30fbc836b05e46b1d69edd58fcdd5f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -32,9 +32,6 @@ add_compile_options(-Wall -Werror -Wno-unused-variable -O3)           # Producti
 #add_compile_options(-Wall -Werror -Wno-unused-variable -g)  # Without debug logging
 #add_compile_options(-Wall -Werror -Wno-unused-variable -DDEBUG -g)  # With debug logging
 
-# Custom parsers
-set(PARSERS header dns dhcp http igmp ssdp coap)
-
 # Subdirectories containing code
 add_subdirectory(src)
 IF( NOT (NO_TEST OR OPENWRT_CROSSCOMPILING) )
diff --git a/src/parsers b/src/parsers
index 885ba73bf3ce68277ac4f556e1ffc1fac291d272..0c242b0703bc45be784de00defde2322528b22dd 160000
--- a/src/parsers
+++ b/src/parsers
@@ -1 +1 @@
-Subproject commit 885ba73bf3ce68277ac4f556e1ffc1fac291d272
+Subproject commit 0c242b0703bc45be784de00defde2322528b22dd
diff --git a/src/translator/templates/CMakeLists.txt.j2 b/src/translator/templates/CMakeLists.txt.j2
index 4c39cebe9ce184aaba6ac34889d171c4700346b2..892e6dfecdba9831097cd0be64a615d3c28e14a7 100644
--- a/src/translator/templates/CMakeLists.txt.j2
+++ b/src/translator/templates/CMakeLists.txt.j2
@@ -10,6 +10,6 @@ IF( OPENWRT_CROSSCOMPILING )
 target_link_libraries({{nfqueue_name}} jansson mnl nfnetlink nftnl nftables netfilter_queue netfilter_log)
 ENDIF()
 target_link_libraries({{nfqueue_name}} nfqueue packet_utils rule_utils)
-target_link_libraries({{nfqueue_name}} ${PARSERS})
+target_link_libraries({{nfqueue_name}} header {{custom_parsers}})
 target_include_directories({{nfqueue_name}} PRIVATE ${INCLUDE_DIR} ${INCLUDE_PARSERS_DIR})
 install(TARGETS {{nfqueue_name}} DESTINATION ${EXECUTABLE_OUTPUT_PATH})
diff --git a/src/translator/translator.py b/src/translator/translator.py
index 6bf4f3506272e9b65b599569ac93c55d5e992822..044a6b1424594a9305220638823835c4ea6e12a5 100644
--- a/src/translator/translator.py
+++ b/src/translator/translator.py
@@ -263,9 +263,11 @@ if __name__ == "__main__":
                 fw.write(main)
 
             # Create CMake file
+            custom_parsers = " ".join(global_accs["custom_parsers"])
             cmake_dict = {
                 "device":  device["name"],
-                "nfqueue_name": args.name
+                "nfqueue_name": args.name,
+                "custom_parsers": custom_parsers
             }
             env.get_template("CMakeLists.txt.j2").stream(cmake_dict).dump(f"{args.output}/CMakeLists.txt")