I would like to change CMAKE_C_COMPILER and CMAKE_CXX_COMPILER in an inner sub_directory being compiled as part of a bigger project.
changing from GNU to intel compi
Instead of using add_subdirectory
consider making the subdirectory a self-contained CMake project, which can be configured and built independently of the bigger project. You can then add the subdirectory to your bigger project as an external project by using the ExternalProject_Add command.
It depends, how you organize your project. If it is not single CMakeLists.txt for whole project, but one per each sub folder - just try to change CMAKE_C_COMPILER before project() definition. It should affect only this project definition.