add:添加安装库cmake。
This commit is contained in:
		
							parent
							
								
									320b01eab4
								
							
						
					
					
						commit
						50f455bd23
					
				@ -8,10 +8,7 @@ if (MSVC)
 | 
				
			|||||||
    add_compile_options(/source-charset:utf-8)
 | 
					    add_compile_options(/source-charset:utf-8)
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (NOT CMAKE_BUILD_TYPE)
 | 
					set(CMAKE_DEBUG_POSTFIX "d")
 | 
				
			||||||
    set(CMAKE_BUILD_TYPE "Release")
 | 
					 | 
				
			||||||
endif()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
message(STATUS "System: ${CMAKE_SYSTEM_NAME}")
 | 
					message(STATUS "System: ${CMAKE_SYSTEM_NAME}")
 | 
				
			||||||
message(STATUS "Compiler CXX ID: ${CMAKE_CXX_COMPILER_ID}")
 | 
					message(STATUS "Compiler CXX ID: ${CMAKE_CXX_COMPILER_ID}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -32,3 +29,20 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE}
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
add_library(Ofen STATIC ${SRC_FILES})
 | 
					add_library(Ofen STATIC ${SRC_FILES})
 | 
				
			||||||
target_include_directories(Ofen PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
 | 
					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
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										16
									
								
								cmake/OfenConfig.cmake.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								cmake/OfenConfig.cmake.in
									
									
									
									
									
										Normal file
									
								
							@ -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()
 | 
				
			||||||
							
								
								
									
										3
									
								
								cmake/OfenConfigVersion.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								cmake/OfenConfigVersion.cmake
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					# OfenConfigVersion.cmake
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set(OFEN_PACKAGE_VERSION "0.0.1")
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user