diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1676693..628f937 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,14 +2,13 @@ cmake_minimum_required(VERSION 3.5)
 project(arona_core)
 
 function(retrieve_files path out_files)
-    set(source_list)
     message(STATUS "Retrieving files in ${path}")
 
     # 递归查找文件夹下的 .h .hpp. ini 文件保存到 HEAD_FILES
-    file(GLOB_RECURSE HEAD_FILES RELATIVE ${path} CONFIGURE_DEPENDS *.h *.hpp *.ini)
+    file(GLOB_RECURSE HEAD_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} CONFIGURE_DEPENDS ${path}/*.h ${path}/*.hpp ${path}/*.ini)
 
     # 递归查找文件夹下的 *.cpp *.c 文件保存到 SRC_FILES
-    file(GLOB_RECURSE SRC_FILES RELATIVE ${path} CONFIGURE_DEPENDS *.cpp *.c *.ixx)
+    file(GLOB_RECURSE SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} CONFIGURE_DEPENDS ${path}/*.cpp ${path}*.c ${path}*.ixx)
 
     # 将 HEDADER_FILES 和 SRC_FILES 保存到 ALL_FILES 变量
     set(ALL_FILES ${HEAD_FILES} ${SRC_FILES})