| 
						
						
							
								
							
						
						
					 | 
					@ -30,28 +30,15 @@ configure_file(config.h.in config.h) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					#------------REQUIRED_5.1.1 find_package 添加大型第三方库(通过编译安装及包管理安装)------------# | 
					 | 
					 | 
					#------------REQUIRED_5.1.1 find_package 添加大型第三方库(通过编译安装及包管理安装)------------# | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					# 添加自定义依赖路径到 CMAKE_PREFIX_PATH (find_package config 模式搜索路径之一) | 
					 | 
					 | 
					# 添加自定义依赖路径到 CMAKE_PREFIX_PATH (find_package config 模式搜索路径之一) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					if (APPLE) | 
					 | 
					 | 
					list(PREPEND CMAKE_PREFIX_PATH D:/SOURCE/Dependencies) # Windows | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					    list(PREPEND CMAKE_PREFIX_PATH /Users/yony/CODE/Dependencies) # MacOS | 
					 | 
					 | 
					set(CMAKE_TOOLCHAIN_FILE "D:\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake") # vcpkg | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					    # Settign pkg-config for tinyxml usage | 
					 | 
					 | 
					include(${CMAKE_TOOLCHAIN_FILE}) | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					    set(ENV{PKG_CONFIG_PATH} /opt/homebrew/lib/pkgconfig/) | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
					    find_package(PkgConfig) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    pkg_search_module(TINYXML REQUIRED tinyxml) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    message(STATUS "=== TINYXML_LIBRARIES: ${TINYXML_LIBRARIES}") | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    message(STATUS "=== TINYXML_INCLUDE_DIRS: ${TINYXML_INCLUDE_DIRS}") | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					elseif (WIN32) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    list(PREPEND CMAKE_PREFIX_PATH D:/SOURCE/Dependencies) # Windows | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    set(CMAKE_TOOLCHAIN_FILE "D:\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake") # vcpkg | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    include(${CMAKE_TOOLCHAIN_FILE}) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    find_package(tinyxml CONFIG REQUIRED) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					elseif (UNIX) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    list(PREPEND CMAKE_PREFIX_PATH /home/yony/PROJECTS/Dependencies) # Linux | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    find_package(tinyxml CONFIG REQUIRED) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					endif() | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					# 输出 find_package 系统路径和当前指定路径 | 
					 | 
					 | 
					# 输出 find_package 系统路径和当前指定路径 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					message(STATUS "CMAKE_SYSTEM_PREFIX_PATH: ${CMAKE_SYSTEM_PREFIX_PATH}") | 
					 | 
					 | 
					message(STATUS "CMAKE_SYSTEM_PREFIX_PATH: ${CMAKE_SYSTEM_PREFIX_PATH}") | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					message(STATUS "Self added CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}") | 
					 | 
					 | 
					message(STATUS "Self added CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}") | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					# 指定 CONFIG 模式,查看 <deps_dir>/share/<lib_name>/cmake/xxxConfig.cmake 文件名决定查找包名 | 
					 | 
					 | 
					# 指定 CONFIG 模式,查看 <deps_dir>/share/<lib_name>/cmake/xxxConfig.cmake 文件名决定查找包名 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					# find_package(tinyxml CONFIG REQUIRED) | 
					 | 
					 | 
					find_package(tinyxml CONFIG REQUIRED) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					#------------REQUIRED_5.1.2 include 执行.cmake中的ContentFetch模块来引入库------------# | 
					 | 
					 | 
					#------------REQUIRED_5.1.2 include 执行.cmake中的ContentFetch模块来引入库------------# | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					# 添加cmake目录到CMAKE_MODULE_PATH,以供 include 方法使用 | 
					 | 
					 | 
					# 添加cmake目录到CMAKE_MODULE_PATH,以供 include 方法使用 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -82,18 +69,11 @@ add_executable( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					# 根据包管理工具在系统环境变量的情况,以及网络下载的包中CMakeLists.txt的编写情况 | 
					 | 
					 | 
					# 根据包管理工具在系统环境变量的情况,以及网络下载的包中CMakeLists.txt的编写情况 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					# 在这里链接库则可下方target_include_directories中可不添加 <lib_name>/include 或 <LIB_NAME>_INCLUDE_DIRS | 
					 | 
					 | 
					# 在这里链接库则可下方target_include_directories中可不添加 <lib_name>/include 或 <LIB_NAME>_INCLUDE_DIRS | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					if (WIN32) | 
					 | 
					 | 
					target_link_libraries( | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
					    target_link_libraries( | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					    ${PROJECT_NAME} PUBLIC | 
					 | 
					 | 
					    ${PROJECT_NAME} PUBLIC | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    unofficial-tinyxml::unofficial-tinyxml | 
					 | 
					 | 
					    unofficial-tinyxml::unofficial-tinyxml | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    ${CMAKE_SOURCE_DIR}/lib/VSbuild/x64/Debug/WireRouting_DLL.lib | 
					 | 
					 | 
					    ${CMAKE_SOURCE_DIR}/lib/VSbuild/x64/Debug/WireRouting_DLL.lib | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    ) | 
					 | 
					 | 
					) | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
					else() | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    target_link_libraries( | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        ${PROJECT_NAME} PUBLIC | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        /opt/homebrew/Cellar/tinyxml/2.6.2/lib/libtinyxml.dylib | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    ) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					endif() | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					#------------OPTIONAL_1.2 添加生成的config.h头文件所在目录------------# | 
					 | 
					 | 
					#------------OPTIONAL_1.2 添加生成的config.h头文件所在目录------------# | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -106,8 +86,8 @@ target_include_directories( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    ${PROJECT_BINARY_DIR} # config.h.in 会生成配置在 build 目录 | 
					 | 
					 | 
					    ${PROJECT_BINARY_DIR} # config.h.in 会生成配置在 build 目录 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    ${CMAKE_SOURCE_DIR}/include | 
					 | 
					 | 
					    ${CMAKE_SOURCE_DIR}/include | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    ${CMAKE_SOURCE_DIR}/lib/include | 
					 | 
					 | 
					    ${CMAKE_SOURCE_DIR}/lib/include | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    ${TINYXML_INCLUDE_DIR} # tinyxml库的头文件目录 | 
					 | 
					 | 
					    ${TINYXML_INCLUDE_DIR} # vcpkg安装的tinyxml库的头文件目录 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					    ${TINYXML_INCLUDE_DIRS} # pkg-config tinyxml dir | 
					 | 
					 | 
					    ${TINYXML_INCLUDE_DIRS} # pkg-config tinyxml dir(MacOS) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					) | 
					 | 
					 | 
					) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					# TODO: 针对 MSVC 解决生成位于msvc_19.29_cxx11_32_md_debug下dll/lib 无法链接到可执行文件的问题 | 
					 | 
					 | 
					# TODO: 针对 MSVC 解决生成位于msvc_19.29_cxx11_32_md_debug下dll/lib 无法链接到可执行文件的问题 |