diff --git a/cmake/FindPROJECT_NAME.cmake.in.in b/cmake/FindPROJECT_NAME.cmake.in.in
index c3f6aa8b9d50c33d7c8135619b9bf74915576f59..1b439a2059a59590f3760074affbc6ab34359c14 100644
--- a/cmake/FindPROJECT_NAME.cmake.in.in
+++ b/cmake/FindPROJECT_NAME.cmake.in.in
@@ -7,6 +7,8 @@
 #   @PROJECT_NAME@_INCLUDE_DIRS : path to the include directory
 #   @PROJECT_NAME@_LIBRARY_DIRS : path to the library directory
 #   @PROJECT_NAME@_LIBRARIES    : the provided libraries
+#   @PROJECT_NAME@_CXX_FLAGS    : additional C++ compiler flags
+#   @PROJECT_NAME@_LINKER_FLAGS : additional linker flags
 #
 # @author Martin Killenberg, DESY
 #
@@ -17,6 +19,8 @@ set(@PROJECT_NAME@_VERSION @@PROJECT_NAME@_SOVERSION@)
 set(@PROJECT_NAME@_INCLUDE_DIRS @@PROJECT_NAME@_INCLUDE_DIRS@)
 set(@PROJECT_NAME@_LIBRARY_DIRS @@PROJECT_NAME@_LIBRARY_DIRS@)
 set(@PROJECT_NAME@_LIBRARIES @@PROJECT_NAME@_LIBRARIES@)
+set(@PROJECT_NAME@_CXX_FLAGS @@PROJECT_NAME@_CXX_FLAGS@)
+set(@PROJECT_NAME@_LINKER_FLAGS @@PROJECT_NAME@_LINKER_FLAGS@)
 
 # Use a macro provided by CMake to check if all the listed arguments are valid and set @PROJECT_NAME@_FOUND accordingly.
 # This is mainly important to check the version.
diff --git a/cmake/create_cmake_config_files.cmake b/cmake/create_cmake_config_files.cmake
index b1c6e63f5b0188d6cddfde8a665e40efe9ccad6b..95704384eb2c04e0e88b3575995e6ecad7238849 100644
--- a/cmake/create_cmake_config_files.cmake
+++ b/cmake/create_cmake_config_files.cmake
@@ -8,31 +8,36 @@
 #   ${PROJECT_NAME}_INCLUDE_DIRS - list include directories needed when compiling against this project
 #   ${PROJECT_NAME}_LIBRARY_DIRS - list of library directories needed when linking against this project
 #   ${PROJECT_NAME}_LIBRARIES - list of libraries needed when linking against this project
-#   ${PROJECT_NAME}_CPPFLAGS - list of C++ compiler flags when compiling against this project
-#   ${PROJECT_NAME}_LDFLAGS - list of linker flags when linking against this project
+#   ${PROJECT_NAME}_CXX_FLAGS - list of additional C++ compiler flags needed when compiling against this project
+#   ${PROJECT_NAME}_LINKER_FLAGS - list of additional linker flags needed when linking against this project
 #
 #######################################################################################################################
 
 # create variables for standard makefiles
-set(${PROJECT_NAME}_CPPFLAGS_MAKEFILE "${${PROJECT_NAME}_CPPFLAGS}")
+set(${PROJECT_NAME}_CXX_FLAGS_MAKEFILE "${${PROJECT_NAME}_CXX_FLAGS}")
 
 string(REPLACE " " ";" LIST ${${PROJECT_NAME}_INCLUDE_DIRS})
 foreach(INCLUDE_DIR ${LIST})
-  set(${PROJECT_NAME}_CPPFLAGS_MAKEFILE "${${PROJECT_NAME}_CPPFLAGS_MAKEFILE} -I${INCLUDE_DIR}")
+  set(${PROJECT_NAME}_CXX_FLAGS_MAKEFILE "${${PROJECT_NAME}_CXX_FLAGS_MAKEFILE} -I${INCLUDE_DIR}")
 endforeach()
 
-set(${PROJECT_NAME}_LDFLAGS_MAKEFILE "${${PROJECT_NAME}_LDFLAGS}")
+set(${PROJECT_NAME}_LINKER_FLAGS_MAKEFILE "${${PROJECT_NAME}_LINKER_FLAGS}")
 
 string(REPLACE " " ";" LIST ${${PROJECT_NAME}_LIBRARY_DIRS})
 foreach(LIBRARY_DIR ${LIST})
-  set(${PROJECT_NAME}_LDFLAGS_MAKEFILE "${${PROJECT_NAME}_LDFLAGS_MAKEFILE} -L${LIBRARY_DIR}")
+  set(${PROJECT_NAME}_LINKER_FLAGS_MAKEFILE "${${PROJECT_NAME}_LINKER_FLAGS_MAKEFILE} -L${LIBRARY_DIR}")
 endforeach()
 
 string(REPLACE " " ";" LIST ${${PROJECT_NAME}_LIBRARIES})
 foreach(LIBRARY ${LIST})
-  set(${PROJECT_NAME}_LDFLAGS_MAKEFILE "${${PROJECT_NAME}_LDFLAGS_MAKEFILE} -l${LIBRARY}")
+  set(${PROJECT_NAME}_LINKER_FLAGS_MAKEFILE "${${PROJECT_NAME}_LINKER_FLAGS_MAKEFILE} -l${LIBRARY}")
 endforeach()
 
+# force the lists to be space separated (may be sometimes semicolon separated)
+string(REPLACE ";" " " ${PROJECT_NAME}_INCLUDE_DIRS ${${PROJECT_NAME}_INCLUDE_DIRS})
+string(REPLACE ";" " " ${PROJECT_NAME}_LIBRARY_DIRS ${${PROJECT_NAME}_LIBRARY_DIRS})
+string(REPLACE ";" " " ${PROJECT_NAME}_LIBRARIES ${${PROJECT_NAME}_LIBRARIES})
+
 # we have nested @-statements, so we have to parse twice:
 
 # create the cmake Find package script