diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2e91b48732b0221406d8057aa61229c86dd2ee02..9d679afff150b4605def3ef31e144eb645814afe 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,8 +20,20 @@
 # limitations under the License.
 #------------------------------------------------------------------------------
 
+#------------------------------------------------------------------------------
+# GENERIC PROJECT VARIABLES
+#------------------------------------------------------------------------------
+# Name of Project: ${projectname_lowercase}
+# NAME OF PROJECT: ${projectname_uppercase}
+# Abbreviation of Project and its library folder: ${projectname_abbreviation}
+#------------------------------------------------------------------------------
+
 cmake_minimum_required(VERSION 3.8.2)
 
+set(projectname_lowercase "phoenix")
+string(TOUPPER ${projectname_lowercase} projectname_uppercase)
+set(projectname_abbreviation phx)
+
 project(ProjectPhoenix)
 
 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
diff --git a/cmake/phoenix-config.cmake.in b/cmake/phoenix-config.cmake.in
index 410a82491a3ba8e7ecc2c4bc010f48547e67daa2..61a4821058d3840b0d45e0741c263f4f3fde1398 100644
--- a/cmake/phoenix-config.cmake.in
+++ b/cmake/phoenix-config.cmake.in
@@ -21,17 +21,17 @@
 
 # - Config file for the Project Phoenix package
 # It defines the following variables
-#  PHOENIX_INCLUDE_DIRS - include directories for Project Phoenix
-#  PHOENIX_LIBRARIES    - libraries to link against
+#  ${projectname_uppercase}_INCLUDE_DIRS - include directories for Project Phoenix
+#  ${projectname_uppercase}_LIBRARIES    - libraries to link against
  
 # Compute paths
-get_filename_component(PHOENIX_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
-set(PHOENIX_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@")
+get_filename_component(${projectname_uppercase}_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+set(${projectname_uppercase}_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@")
  
 # Our library dependencies (contains definitions for IMPORTED targets)
-if(NOT TARGET phoenix)
-  include("${PHOENIX_CMAKE_DIR}/phoenix-targets.cmake")
+if(NOT TARGET ${projectname_lowercase})
+  include("${${projectname_uppercase}_CMAKE_DIR}/${projectname_lowercase}-targets.cmake")
 endif()
  
-# These are IMPORTED targets created by phoenix-targets.cmake
-set(PHOENIX_LIBRARIES phoenix)
+# These are IMPORTED targets created by ${projectname_lowercase}-targets.cmake
+set(${projectname_uppercase}_LIBRARIES ${projectname_lowercase})
diff --git a/demos/viewer/CMakeLists.txt b/demos/viewer/CMakeLists.txt
index cea35965784e4da544e2913c81a668c383b133bb..c16afc340c7c4d82180a106b295fb7b3c3756d78 100644
--- a/demos/viewer/CMakeLists.txt
+++ b/demos/viewer/CMakeLists.txt
@@ -29,10 +29,10 @@ add_executable(viewer
 )
 target_include_directories(viewer
   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
-  phoenix
+  ${projectname_lowercase}
 )
 target_link_libraries(viewer
-  phoenix
+  ${projectname_lowercase}
 )
 set_warning_levels_RWTH(viewer)
 add_test_cpplint(NAME "viewer--cpplint"
diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt
index 9dc9bc1052dd1720d8f247b10c786894e5490faf..91941f807e6b9d00dbb68af9b96731cedceca756 100644
--- a/library/CMakeLists.txt
+++ b/library/CMakeLists.txt
@@ -20,27 +20,35 @@
 # limitations under the License.
 #------------------------------------------------------------------------------
 
-file(GLOB PHOENIX_SOURCES phx/*.cpp)
-file(GLOB PHOENIX_HEADERS phx/*.hpp)
+#------------------------------------------------------------------------------
+# GENERIC PROJECT VARIABLES
+#------------------------------------------------------------------------------
+# Name of Project: ${projectname_lowercase}
+# NAME OF PROJECT: ${projectname_uppercase}
+# Abbreviation of Project and its library folder: ${projectname_abbreviation}
+#------------------------------------------------------------------------------
+
+file(GLOB ${projectname_uppercase}_SOURCES ${projectname_abbreviation}/*.cpp)
+file(GLOB ${projectname_uppercase}_HEADERS ${projectname_abbreviation}/*.hpp)
 
 # configure resources directory include string
 set(_RESOURCES_ROOT_PATH "${CMAKE_SOURCE_DIR}/resources/")
 set(SOURCE_RESOURCES_INCLUDE_FILE "${CMAKE_SOURCE_DIR}/cmake/resources_path.hpp.in")
-set(TARGET_RESOURCES_INCLUDE_FILE "${CMAKE_CURRENT_BINARY_DIR}/phx/resources_path.hpp")
+set(TARGET_RESOURCES_INCLUDE_FILE "${CMAKE_CURRENT_BINARY_DIR}/${projectname_abbreviation}/resources_path.hpp")
 configure_file(${SOURCE_RESOURCES_INCLUDE_FILE} ${TARGET_RESOURCES_INCLUDE_FILE} @ONLY)
 
-add_library(phoenix
-  ${PHOENIX_SOURCES}
-  ${PHOENIX_HEADERS}
+add_library(${projectname_lowercase}
+  ${${projectname_uppercase}_SOURCES}
+  ${${projectname_uppercase}_HEADERS}
 )
 
-target_include_directories(phoenix
+target_include_directories(${projectname_lowercase}
   PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
   PUBLIC ${CMAKE_CURRENT_BINARY_DIR}
   PUBLIC ${OPENGL_INCLUDE_DIR}
 )
 
-target_link_libraries(phoenix
+target_link_libraries(${projectname_lowercase}
   ${CONAN_OR_CMAKE_assimp}
   ${CONAN_OR_CMAKE_gl}
   ${CONAN_OR_CMAKE_boost}
@@ -53,22 +61,22 @@ target_link_libraries(phoenix
   ${CONAN_OR_CMAKE_jsonformoderncpp}
   )
 
-generate_export_header(phoenix
-  EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/phx/export.hpp
+generate_export_header(${projectname_lowercase}
+  EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${projectname_abbreviation}/export.hpp
 )
 
-set_warning_levels_RWTH(phoenix
-  SUPPRESS_WARNINGS_HEADER ${CMAKE_CURRENT_BINARY_DIR}/phx/suppress_warnings.hpp
+set_warning_levels_RWTH(${projectname_lowercase}
+  SUPPRESS_WARNINGS_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${projectname_abbreviation}/suppress_warnings.hpp
 )
 
-add_test_cpplint(NAME "phoenix--cpplint"
-  ${PHOENIX_SOURCES}
-  ${PHOENIX_HEADERS}
+add_test_cpplint(NAME "${projectname_lowercase}--cpplint"
+  ${${projectname_uppercase}_SOURCES}
+  ${${projectname_uppercase}_HEADERS}
 )
 
-add_test_cppcheck(NAME "phoenix--cppcheck"
-  ${PHOENIX_SOURCES}
-  ${PHOENIX_HEADERS}
+add_test_cppcheck(NAME "${projectname_lowercase}--cppcheck"
+  ${${projectname_uppercase}_SOURCES}
+  ${${projectname_uppercase}_HEADERS}
 )
 
-generate_configure_files(phoenix)
+generate_configure_files(${projectname_lowercase})
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 0c516001fb8a2bb48d0353a54fac5d8469af3628..05ccfa3253b704f29b1ebe2c39c04364aec1afad 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -20,6 +20,16 @@
 # limitations under the License.
 #------------------------------------------------------------------------------
 
+#------------------------------------------------------------------------------
+# GENERIC PROJECT VARIABLES
+#------------------------------------------------------------------------------
+# Name of Project: ${projectname_lowercase}
+# NAME OF PROJECT: ${projectname_uppercase}
+# Abbreviation of Project and its library folder: ${projectname_abbreviation}
+#------------------------------------------------------------------------------
+
+#message(STATUS "In test level cmake-file we detected:\n${projectname_lowercase} and ${projectname_uppercase} and ${projectname_abbreviation}/")
+
 #see at the bottom how to add mocked tests
 
 # configure reference image directory include string
@@ -28,17 +38,17 @@ set(SOURCE_REFIMAGE_INCLUDE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/test_utilities/ref
 set(TARGET_REFIMAGE_INCLUDE_FILE "${CMAKE_CURRENT_BINARY_DIR}/test_utilities/reference_image_path.hpp")
 configure_file(${SOURCE_REFIMAGE_INCLUDE_FILE} ${TARGET_REFIMAGE_INCLUDE_FILE} @ONLY)
 
-file(GLOB PHOENIX_TEST_SOURCES src/*.cpp)
-file(GLOB PHOENIX_TEST_HEADERS src/*.hpp)
-file(GLOB PHOENIX_TEST_UTILITIES_TEST_SOURCES test_utilities/tests/src/*.cpp)
-file(GLOB PHOENIX_TEST_UTILITIES_HEADERS test_utilities/*.hpp)
-file(GLOB PHOENIX_TEST_UTILITIES_SOURCES test_utilities/*.cpp)
+file(GLOB ${projectname_uppercase}_TEST_SOURCES src/*.cpp)
+file(GLOB ${projectname_uppercase}_TEST_HEADERS src/*.hpp)
+file(GLOB ${projectname_uppercase}_TEST_UTILITIES_TEST_SOURCES test_utilities/tests/src/*.cpp)
+file(GLOB ${projectname_uppercase}_TEST_UTILITIES_HEADERS test_utilities/*.hpp)
+file(GLOB ${projectname_uppercase}_TEST_UTILITIES_SOURCES test_utilities/*.cpp)
 
 #get the include directories
 get_target_property(glew_include_directories
   ${CONAN_OR_CMAKE_glew} INTERFACE_INCLUDE_DIRECTORIES)
-get_target_property(phoenix_include_directories 
-  phoenix INCLUDE_DIRECTORIES)
+get_target_property(${projectname_lowercase}_include_directories 
+  ${projectname_lowercase} INCLUDE_DIRECTORIES)
 get_target_property(sdl2_include_directories
   ${CONAN_OR_CMAKE_SDL2} INTERFACE_INCLUDE_DIRECTORIES)
 get_target_property(openvr_include_directories
@@ -102,8 +112,8 @@ endif(MSVC)
 
 # generate test_utilities
 add_library(test_utilities STATIC
-  ${PHOENIX_TEST_UTILITIES_SOURCES}
-  ${PHOENIX_TEST_UTILITIES_HEADERS}
+  ${${projectname_uppercase}_TEST_UTILITIES_SOURCES}
+  ${${projectname_uppercase}_TEST_UTILITIES_HEADERS}
 )
 set_target_properties(test_utilities PROPERTIES LINKER_LANGUAGE CXX)
 set_property(TARGET test_utilities PROPERTY FOLDER "Tests")
@@ -113,7 +123,7 @@ target_include_directories(test_utilities
 target_link_libraries(test_utilities
   ${CONAN_OR_CMAKE_gl}
   ${CONAN_OR_CMAKE_catch}
-  phoenix)
+  ${projectname_lowercase})
 set_warning_levels_rwth(test_utilities)
 
 
@@ -138,34 +148,34 @@ macro(add_mocked_test cpp_file)
   cmake_parse_arguments(ADD_MOCKED_TEST
     "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
 
-  list(REMOVE_ITEM PHOENIX_TEST_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/${cpp_file}.cpp)
+  list(REMOVE_ITEM ${projectname_uppercase}_TEST_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/${cpp_file}.cpp)
 
   set(test_sources src/tests.cpp src/${cpp_file}.cpp)
   add_executable(${cpp_file} ${test_sources})
 
-  add_dependencies(${cpp_file} phoenix test_utilities)
+  add_dependencies(${cpp_file} ${projectname_lowercase} test_utilities)
 
   ADD_TEST_CATCH_INTERNAL_(${cpp_file} ${test_sources} "")
 
   # make shure linker dependency injection works
   target_include_directories(${cpp_file}
-    PRIVATE ${phoenix_include_directories}
+    PRIVATE ${${projectname_lowercase}_include_directories}
     PRIVATE ${glew_include_directories}
 	PRIVATE ${gl_include_directories}
     PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
     PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
     PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
 
-  get_target_property(phoenix_link_libraries phoenix LINK_LIBRARIES)
+  get_target_property(${projectname_lowercase}_link_libraries ${projectname_lowercase} LINK_LIBRARIES)
 
   if(${ADD_MOCKED_TEST_MOCK_GLEW})
-    list(REMOVE_ITEM phoenix_link_libraries ${CONAN_OR_CMAKE_gl})
-    list(REMOVE_ITEM phoenix_link_libraries ${CONAN_OR_CMAKE_glew})
+    list(REMOVE_ITEM ${projectname_lowercase}_link_libraries ${CONAN_OR_CMAKE_gl})
+    list(REMOVE_ITEM ${projectname_lowercase}_link_libraries ${CONAN_OR_CMAKE_glew})
     #SDL has also to be removed since it contains OpenGL
-    list(REMOVE_ITEM phoenix_link_libraries ${CONAN_OR_CMAKE_SDL2})
-    list(REMOVE_ITEM phoenix_link_libraries ${OPENGL_LIBRARIES})
-    list(APPEND phoenix_link_libraries opengl_mock)
-    list(APPEND phoenix_link_libraries ${gl_link_library})
+    list(REMOVE_ITEM ${projectname_lowercase}_link_libraries ${CONAN_OR_CMAKE_SDL2})
+    list(REMOVE_ITEM ${projectname_lowercase}_link_libraries ${OPENGL_LIBRARIES})
+    list(APPEND ${projectname_lowercase}_link_libraries opengl_mock)
+    list(APPEND ${projectname_lowercase}_link_libraries ${gl_link_library})
 	
   endif(${ADD_MOCKED_TEST_MOCK_GLEW})
 
@@ -176,19 +186,19 @@ macro(add_mocked_test cpp_file)
     target_compile_definitions(${cpp_file} PRIVATE TESTING)
     target_include_directories(${cpp_file}
       PRIVATE ${sdl2_include_directories})
-    list(REMOVE_ITEM phoenix_link_libraries ${CONAN_OR_CMAKE_SDL2})
+    list(REMOVE_ITEM ${projectname_lowercase}_link_libraries ${CONAN_OR_CMAKE_SDL2})
   endif(${ADD_MOCKED_TEST_MOCK_SDL})
 
   if(${ADD_MOCKED_TEST_MOCK_OPENVR})
-    list(REMOVE_ITEM phoenix_link_libraries ${CONAN_OR_CMAKE_openvr})
-    list(APPEND phoenix_link_libraries openvr_mock)
+    list(REMOVE_ITEM ${projectname_lowercase}_link_libraries ${CONAN_OR_CMAKE_openvr})
+    list(APPEND ${projectname_lowercase}_link_libraries openvr_mock)
   endif(${ADD_MOCKED_TEST_MOCK_OPENVR})
 
   target_link_libraries(${cpp_file}
     ${CONAN_OR_CMAKE_trompeloeil}
     ${CONAN_OR_CMAKE_catch}
-	$<TARGET_FILE:phoenix>
-    ${phoenix_link_libraries}
+	$<TARGET_FILE:${projectname_lowercase}>
+    ${${projectname_lowercase}_link_libraries}
     $<TARGET_FILE:test_utilities>
   )
 endmacro()
@@ -197,20 +207,20 @@ endmacro()
 
 # these have to go before the mocked tests.
 # Otherwise, the mocked ones are not in PHOENIX_TEST_SOURCES anymore
-add_test_cppcheck(NAME "phoenix-tests--cppcheck"
-  ${PHOENIX_TEST_SOURCES}
-  ${PHOENIX_TEST_HEADERS}
-  ${PHOENIX_TEST_UTILITIES_TEST_SOURCES}
-  ${PHOENIX_TEST_UTILITIES_HEADERS}
-  ${PHOENIX_TEST_UTILITIES_SOURCES}
+add_test_cppcheck(NAME "${projectname_lowercase}-tests--cppcheck"
+  ${${projectname_uppercase}_TEST_SOURCES}
+  ${${projectname_uppercase}_TEST_HEADERS}
+  ${${projectname_uppercase}_TEST_UTILITIES_TEST_SOURCES}
+  ${${projectname_uppercase}_TEST_UTILITIES_HEADERS}
+  ${${projectname_uppercase}_TEST_UTILITIES_SOURCES}
   )
   
-add_test_cpplint(NAME "phoenix-tests--cpplint"
-  ${PHOENIX_TEST_SOURCES}
-  ${PHOENIX_TEST_HEADERS}
-  ${PHOENIX_TEST_UTILITIES_TEST_SOURCES}
-  ${PHOENIX_TEST_UTILITIES_HEADERS}
-  ${PHOENIX_TEST_UTILITIES_SOURCES}
+add_test_cpplint(NAME "${projectname_lowercase}-tests--cpplint"
+  ${${projectname_uppercase}_TEST_SOURCES}
+  ${${projectname_uppercase}_TEST_HEADERS}
+  ${${projectname_uppercase}_TEST_UTILITIES_TEST_SOURCES}
+  ${${projectname_uppercase}_TEST_UTILITIES_HEADERS}
+  ${${projectname_uppercase}_TEST_UTILITIES_SOURCES}
 )
 
 #-------------------------------------------------------------------------------
@@ -235,12 +245,12 @@ add_mocked_test(integration_test_rendering MOCK_OPENVR)
 #-------------------------------------------------------------------------------
 
 
-add_test_catch(NAME "phoenix-tests"
-  SOURCES ${PHOENIX_TEST_SOURCES} ${PHOENIX_TEST_UTILITIES_TEST_SOURCES}
-  HEADERS ${PHOENIX_TEST_HEADERS}
+add_test_catch(NAME "${projectname_lowercase}-tests"
+  SOURCES ${${projectname_uppercase}_TEST_SOURCES} ${${projectname_uppercase}_TEST_UTILITIES_TEST_SOURCES}
+  HEADERS ${${projectname_uppercase}_TEST_HEADERS}
   CATCH_MAIN src/tests.cpp
-  INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} phoenix
-  LINK_LIBRARIES phoenix test_utilities
+  INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${projectname_lowercase}
+  LINK_LIBRARIES ${projectname_lowercase} test_utilities
   PATH_TO_ADD ${PROJECT_BINARY_DIR}/library
 )