CMAKE_CURRENT_LIST_DIR----------------------Full directory of the listfile currently being processed.As CMake processes the listfiles in your project this variable willalways be set to the directory where the listfile which is currently
it sets this variable to the directory where this file is located.When CMake finishes processing commands from the file it restores theprevious value. Therefore the value of the variable inside a macro orfunction is the directory of the file invoking the bottom-most entryon the call stack, not the directory of the file containing the macroor function definition.