diff --git a/CMakeLists.txt b/CMakeLists.txt
index a6deb84..7a6188e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,10 +8,7 @@ if (MSVC)
     add_compile_options(/source-charset:utf-8)
 endif()
 
-if (NOT CMAKE_BUILD_TYPE)
-    set(CMAKE_BUILD_TYPE "Release")
-endif()
-
+set(CMAKE_DEBUG_POSTFIX "d")
 message(STATUS "System: ${CMAKE_SYSTEM_NAME}")
 message(STATUS "Compiler CXX ID: ${CMAKE_CXX_COMPILER_ID}")
 
@@ -31,4 +28,21 @@ set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE})
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE})
 
 add_library(Ofen STATIC ${SRC_FILES})
-target_include_directories(Ofen PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
\ No newline at end of file
+target_include_directories(Ofen PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+
+# ****************************************************************************************
+install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/OfenConfig.cmake DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/cmake/Ofen)
+install(TARGETS Ofen ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
+set(PACKAGE_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include")
+set(PACKAGE_LIBRARY_DEBUG "${CMAKE_INSTALL_PREFIX}/lib/Ofend.lib")
+set(PACKAGE_LIBRARY_RELEASE "${CMAKE_INSTALL_PREFIX}/lib/Ofen.lib")
+set(CONFIG_INSTALL_DIR "lib/cmake/Ofen")
+include(CMakePackageConfigHelpers)
+configure_package_config_file(
+    "${CMAKE_CURRENT_LIST_DIR}/cmake/OfenConfig.cmake.in"
+    "${CMAKE_CURRENT_BINARY_DIR}/OfenConfig.cmake"
+    INSTALL_DESTINATION ${CONFIG_INSTALL_DIR}
+    PATH_VARS PACKAGE_INCLUDE_DIRS PACKAGE_LIBRARY_DEBUG PACKAGE_LIBRARY_RELEASE
+)
\ No newline at end of file
diff --git a/cmake/OfenConfig.cmake.in b/cmake/OfenConfig.cmake.in
new file mode 100644
index 0000000..bbc7632
--- /dev/null
+++ b/cmake/OfenConfig.cmake.in
@@ -0,0 +1,16 @@
+# OfenConfig.cmake.in
+
+@PACKAGE_INIT@
+
+# 设置库和包含路径
+set(Ofen_INCLUDE_DIRS "@PACKAGE_INCLUDE_DIRS@")
+# 支持 Debug 和 Release 的不同库路径
+if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+    set(Ofen_LIBRARIES "@PACKAGE_LIBRARY_DEBUG@")
+    message(STATUS "Link:${Ofen_LIBRARIES}")
+elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
+    set(Ofen_LIBRARIES "@PACKAGE_LIBRARY_RELEASE@")
+    message(STATUS "Link:${Ofen_LIBRARIES}")
+else()
+    message(FATAL_ERROR "Ofen Unsupported build type: ${CMAKE_BUILD_TYPE}")
+endif()
\ No newline at end of file
diff --git a/cmake/OfenConfigVersion.cmake b/cmake/OfenConfigVersion.cmake
new file mode 100644
index 0000000..7cfc029
--- /dev/null
+++ b/cmake/OfenConfigVersion.cmake
@@ -0,0 +1,3 @@
+# OfenConfigVersion.cmake
+
+set(OFEN_PACKAGE_VERSION "0.0.1")