diff --git a/test/OpenCLCorrelatorTest/CMakeLists.txt b/test/OpenCLCorrelatorTest/CMakeLists.txt
index 255b6fdc7f0994c115ea376321a0d5b415487fb8..f4092e0ca01f56fc77e1c45e80a4e5e1dae16df9 100644
--- a/test/OpenCLCorrelatorTest/CMakeLists.txt
+++ b/test/OpenCLCorrelatorTest/CMakeLists.txt
@@ -1,13 +1,16 @@
+project(OpenCLCorrelatorTest)
 find_package(OpenMP REQUIRED)
 find_package(OpenCL)
 
 if (${OpenCL_FOUND})
-add_executable(OpenCLCorrelatorTest)
-target_sources(OpenCLCorrelatorTest PRIVATE OpenCLCorrelatorTest.cc)
-target_include_directories(OpenCLCorrelatorTest PRIVATE ${CMAKE_SOURCE_DIR}
+set(KERNEL_SOURCE_FILE "${CMAKE_SOURCE_DIR}/libtcc/kernel/TCCorrelator.cu")
+add_executable(${PROJECT_NAME})
+target_sources(${PROJECT_NAME} PRIVATE OpenCLCorrelatorTest.cc)
+target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}
                                                         ${OpenCL_INCLUDE_DIRS})
-target_link_libraries(OpenCLCorrelatorTest PRIVATE ${OpenCL_LIBRARIES}
+target_link_libraries(${PROJECT_NAME} PRIVATE ${OpenCL_LIBRARIES}
                                                    OpenMP::OpenMP_CXX)
+target_compile_definitions(${PROJECT_NAME} PRIVATE KERNEL_SOURCE_FILE="${KERNEL_SOURCE_FILE}")
 
 # FIXME: The OpenCLCorrelatorTest doesn't work
 # add_test(
diff --git a/test/OpenCLCorrelatorTest/OpenCLCorrelatorTest.cc b/test/OpenCLCorrelatorTest/OpenCLCorrelatorTest.cc
index 90ead502b339b08f3e67c5aefe74728b56427d88..31a8dcc09b15b1463e8e3718aa6aa65b0da25e9b 100644
--- a/test/OpenCLCorrelatorTest/OpenCLCorrelatorTest.cc
+++ b/test/OpenCLCorrelatorTest/OpenCLCorrelatorTest.cc
@@ -247,8 +247,8 @@ cl::Program createProgramFromBinaries(cl::Context &context, std::vector<cl::Devi
 	    << " -DNR_SAMPLES_PER_CHANNEL=" << NR_SAMPLES_PER_CHANNEL
 	    << " -DNR_POLARIZATIONS=" << NR_POLARIZATIONS
 	    << " -DNR_RECEIVERS_PER_BLOCK=" << NR_RECEIVERS_PER_BLOCK
-	    << " -o -"
-	    << " libtcc/kernel/TCCorrelator.cu"
+	    << " -o - "
+	    << KERNEL_SOURCE_FILE
 	    << "|sed -e s/.param\\ .[a-zA-Z0-9]*/\\&\\ .ptr\\ .global/";
 
     std::clog << "executing: " << command.str() << std::endl;