diff --git a/Domains/Chemistry/Testing/Cxx/CMakeLists.txt b/Domains/Chemistry/Testing/Cxx/CMakeLists.txt
index ebe82ff434852daa021908872f33bf4029b5c814..8f7067a2204a0c713efedc06e6f727e3444dc8b5 100644
--- a/Domains/Chemistry/Testing/Cxx/CMakeLists.txt
+++ b/Domains/Chemistry/Testing/Cxx/CMakeLists.txt
@@ -4,15 +4,22 @@ option(VTK_BUILD_BODR_DATA_GENERATOR
 )
 mark_as_advanced(VTK_BUILD_BODR_DATA_GENERATOR)
 
-set(generator_test)
 if(VTK_BUILD_BODR_DATA_GENERATOR)
-  set(generator_test
-    "GenerateBlueObeliskHeader.cxx,NO_VALID,NO_DATA,NO_OUTPUT"
-  )
+  add_executable(GenerateBlueObeliskHeader
+    GenerateBlueObeliskHeader.cxx)
+  target_link_libraries(GenerateBlueObeliskHeader
+    PRIVATE
+      VTK::DomainsChemistry)
+  vtk_module_autolink(
+    TARGETS GenerateBlueObeliskHeader
+    MODULES VTK::DomainsChemistry)
+  add_test(
+    NAME    VTK::DomainsChemistry-GenerateBlueObeliskHeader
+    COMMAND GenerateBlueObeliskHeader
+            "${CMAKE_CURRENT_SOURCE_DIR}/../..")
 endif()
 
 vtk_add_test_cxx(vtkDomainsChemistryCxxTests tests
-  ${generator_test}
   TestBallAndStick.cxx
   TestPDBBallAndStick.cxx
   TestBondColorModeDiscreteByAtom.cxx
diff --git a/Domains/Chemistry/Testing/Cxx/GenerateBlueObeliskHeader.cxx b/Domains/Chemistry/Testing/Cxx/GenerateBlueObeliskHeader.cxx
index 719e31c3b772ad7a4d557a4e705fa57dd2b66395..508d15e464b0001ceaa41c40a2511b9a86f8c810 100644
--- a/Domains/Chemistry/Testing/Cxx/GenerateBlueObeliskHeader.cxx
+++ b/Domains/Chemistry/Testing/Cxx/GenerateBlueObeliskHeader.cxx
@@ -13,13 +13,18 @@
 =========================================================================*/
 
 #include "vtkBlueObeliskData.h"
-#include "vtkChemistryConfigure.h"
 
 #include "vtksys/FStream.hxx"
 
-int GenerateBlueObeliskHeader(int, char*[])
+int main(int argc, char* argv[])
 {
-  vtksys::ifstream xml(VTK_BODR_DATA_PATH_BUILD "/elements.xml");
+  if (argc < 2)
+  {
+    return EXIT_FAILURE;
+  }
+  std::string srcdir = argv[1];
+
+  vtksys::ifstream xml(srcdir + "/elements.xml");
   if (!xml)
   {
     std::cerr << "Error opening file " VTK_BODR_DATA_PATH_BUILD "/elements.xml.\n";