config:移除xmake,设置针对boost设置具体信息而不是find_package.
This commit is contained in:
		
							parent
							
								
									766b4f8cdd
								
							
						
					
					
						commit
						ceed885924
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -1,4 +1,4 @@
 | 
			
		||||
build
 | 
			
		||||
buil*
 | 
			
		||||
.vs
 | 
			
		||||
.cache
 | 
			
		||||
cmake-*
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							@ -27,6 +27,10 @@
 | 
			
		||||
    "cmake.environment": {
 | 
			
		||||
        "PATH": "${env:PATH};"
 | 
			
		||||
    },
 | 
			
		||||
    // "cmake.configureArgs": [
 | 
			
		||||
    //     "-Wno-dev", 
 | 
			
		||||
    //     "-DSYSTEM_XP=ON"
 | 
			
		||||
    // ],
 | 
			
		||||
    "cmake.options.statusBarVisibility": "visible",
 | 
			
		||||
    "cmake.generator": "Ninja",
 | 
			
		||||
    "C_Cpp.default.compileCommands": "${workspaceRoot}/build/compile_commands.json",
 | 
			
		||||
 | 
			
		||||
@ -1,24 +1,37 @@
 | 
			
		||||
cmake_minimum_required(VERSION 3.16)
 | 
			
		||||
 | 
			
		||||
project(transm LANGUAGES CXX)
 | 
			
		||||
project(transm VERSION 1.2.3 LANGUAGES CXX)
 | 
			
		||||
set(CMAKE_CXX_STANDARD 17)
 | 
			
		||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
 | 
			
		||||
 | 
			
		||||
set(COMPILER_ID ${CMAKE_CXX_COMPILER_ID})
 | 
			
		||||
if(MSVC)
 | 
			
		||||
add_compile_options(/source-charset:utf-8)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_SYSTEM_NAME MATCHES "Windows")
 | 
			
		||||
message(status "add mingw param.")
 | 
			
		||||
message(STATUS "add mingw param.")
 | 
			
		||||
add_compile_options(-finput-charset=utf-8)
 | 
			
		||||
add_compile_options(-fexec-charset=gbk)
 | 
			
		||||
add_compile_options(-Wa,-mbig-obj)
 | 
			
		||||
set(COMPILER_ID "mingw")
 | 
			
		||||
set(MINGW32_XP_BOOST ON) 
 | 
			
		||||
add_definitions(-DMINGW32_XP_BOOST)
 | 
			
		||||
include(config/MBoost.cmake)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
string(TOLOWER ${COMPILER_ID} COMPILER_ID)
 | 
			
		||||
if(DEFINED IOS_ISH)
 | 
			
		||||
message(STATUS "INPUT IOS_ISH ${IOS_ISH}")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if(DEFINED MINGW32_XP_BOOST)
 | 
			
		||||
message(STATUS "transm use xp defined ${SYSTEM_XP}")
 | 
			
		||||
add_definitions(-D_WIN32_WINNT=0x0501)
 | 
			
		||||
else()
 | 
			
		||||
add_definitions(-D_WIN32_WINNT=0x0601)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
set(CMAKE_DEBUG_POSTFIX "d")
 | 
			
		||||
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE})
 | 
			
		||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
 | 
			
		||||
@ -26,7 +39,6 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
add_definitions(-DFMT_HEADER_ONLY)
 | 
			
		||||
add_definitions(-D_WIN32_WINNT=0x0601)
 | 
			
		||||
include_directories(3rd)
 | 
			
		||||
include_directories(.)
 | 
			
		||||
include_directories(${PROJECT_BINARY_DIR})
 | 
			
		||||
@ -51,13 +63,18 @@ execute_process(
 | 
			
		||||
    OUTPUT_STRIP_TRAILING_WHITESPACE
 | 
			
		||||
)
 | 
			
		||||
configure_file(version.h.in version.h)
 | 
			
		||||
message(STATUS "build dir:${PROJECT_BINARY_DIR}")
 | 
			
		||||
message(STATUS "${CMAKE_SYSTEM_NAME} build dir:${PROJECT_BINARY_DIR}")
 | 
			
		||||
 | 
			
		||||
install(TARGETS tsc DESTINATION bin)
 | 
			
		||||
install(TARGETS tss DESTINATION bin)
 | 
			
		||||
 | 
			
		||||
if (DEFINED MINGW32_XP_BOOST)
 | 
			
		||||
install(FILES ${MINGW32_DLLS} DESTINATION bin)
 | 
			
		||||
install(FILES ${WIN_XP_COLOR_TOOL} DESTINATION bin)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# ********************************************************** pack infomation
 | 
			
		||||
set(CPACK_PACKAGE_NAME "transm")
 | 
			
		||||
set(CPACK_PACKAGE_VERSION "1.2.3")
 | 
			
		||||
set(CPACK_PACKAGE_CONTACT "taynpg <taynpg@163.com>")
 | 
			
		||||
set(CPACK_PACKAGE_DESCRIPTION "A simple tool that uses a server (tss) as a relay center to indirectly transfer files between two (or more) clients (tsc).")
 | 
			
		||||
set(CPACK_PACKAGE_VENDOR "taynpg")
 | 
			
		||||
@ -65,13 +82,17 @@ if(WIN32)
 | 
			
		||||
set(CPACK_NSIS_MODIFY_PATH ON)
 | 
			
		||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
 | 
			
		||||
    set(CPACK_GENERATOR "NSIS64;ZIP")
 | 
			
		||||
    set(ARCH_SUFFIX "win64")
 | 
			
		||||
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
 | 
			
		||||
    set(CPACK_GENERATOR "NSIS;ZIP")
 | 
			
		||||
    set(ARCH_SUFFIX "win32")
 | 
			
		||||
else()
 | 
			
		||||
    message(WARNING "Unknown target architecture")
 | 
			
		||||
endif()
 | 
			
		||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "transm")
 | 
			
		||||
elseif(UNIX AND NOT APPLE)
 | 
			
		||||
    set(CPACK_GENERATOR "DEB;TGZ")
 | 
			
		||||
    set(ARCH_SUFFIX "amd64")
 | 
			
		||||
    set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
 | 
			
		||||
    set(CPACK_DEBIAN_PACKAGE_SECTION "utils")
 | 
			
		||||
    set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
 | 
			
		||||
@ -79,4 +100,5 @@ elseif(UNIX AND NOT APPLE)
 | 
			
		||||
elseif(APPLE)
 | 
			
		||||
    set(CPACK_GENERATOR "DragNDrop")
 | 
			
		||||
endif()
 | 
			
		||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-v${PROJECT_VERSION}-${COMPILER_ID}.${ARCH_SUFFIX}")
 | 
			
		||||
include(CPack)
 | 
			
		||||
 | 
			
		||||
@ -6,6 +6,11 @@ set(CMAKE_CXX_STANDARD 17)
 | 
			
		||||
if (MSVC)
 | 
			
		||||
add_compile_options(/source-charset:utf-8)
 | 
			
		||||
endif()
 | 
			
		||||
if(DEFINED MINGW32_XP_BOOST)
 | 
			
		||||
message(STATUS "tsc use mingw32 xp boost.")
 | 
			
		||||
include_directories(${MBOOST_INCLUDE_DIR})
 | 
			
		||||
link_directories(${MBOOST_LIB_DIR})
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
add_executable(tsc main.cpp client.h client.cpp config.h config.cpp)
 | 
			
		||||
target_link_libraries(tsc PRIVATE trans_net trans_util filecomplete)
 | 
			
		||||
@ -14,4 +19,8 @@ target_link_libraries(tsc PRIVATE pthread)
 | 
			
		||||
endif()
 | 
			
		||||
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_SYSTEM_NAME MATCHES "Windows")
 | 
			
		||||
    target_link_libraries(tsc PRIVATE ws2_32 wsock32)
 | 
			
		||||
endif()
 | 
			
		||||
if(DEFINED MINGW32_XP_BOOST)
 | 
			
		||||
target_link_directories(tsc PRIVATE ${MBOOST_LIB_DIR})
 | 
			
		||||
target_link_libraries(tsc PRIVATE ${MBOOST_LIBS})
 | 
			
		||||
endif()
 | 
			
		||||
@ -5,7 +5,7 @@
 | 
			
		||||
#include <of_str.h>
 | 
			
		||||
#include <of_util.h>
 | 
			
		||||
 | 
			
		||||
#ifdef USE_BOOST_FILESYSTEM
 | 
			
		||||
#ifdef MINGW32_XP_BOOST
 | 
			
		||||
#include <boost/filesystem.hpp>
 | 
			
		||||
namespace fs = boost::filesystem;
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
#include "config.h"
 | 
			
		||||
#include <cassert>
 | 
			
		||||
 | 
			
		||||
#ifdef USE_BOOST_FILESYSTEM
 | 
			
		||||
#ifdef MINGW32_XP_BOOST
 | 
			
		||||
#include <boost/filesystem.hpp>
 | 
			
		||||
namespace fs = boost::filesystem;
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
@ -1,26 +0,0 @@
 | 
			
		||||
add_rules("mode.debug", "mode.release")
 | 
			
		||||
set_languages("c++17")
 | 
			
		||||
add_includedirs(os.scriptdir())
 | 
			
		||||
target("tsc")
 | 
			
		||||
	add_options("boost")
 | 
			
		||||
	set_kind("binary")
 | 
			
		||||
	add_files("*.cpp")
 | 
			
		||||
	add_deps("ofen")
 | 
			
		||||
	add_deps("trans_util")
 | 
			
		||||
	add_deps("trans_net")
 | 
			
		||||
	add_deps("filecomplete")
 | 
			
		||||
	
 | 
			
		||||
	if is_plat("mingw") then
 | 
			
		||||
		add_links("ws2_32", "wsock32")
 | 
			
		||||
	end
 | 
			
		||||
	
 | 
			
		||||
option("boost")
 | 
			
		||||
	set_default(false)
 | 
			
		||||
	set_showmenu(true)
 | 
			
		||||
	boost_root_dir = os.getenv("BOOST_HEADER_DIR")
 | 
			
		||||
	boost_lib_dir = os.getenv("BOOST_LIB_DIR")
 | 
			
		||||
	boost_libs = os.getenv("BOOST_LIBS")
 | 
			
		||||
	add_includedirs(boost_root_dir)
 | 
			
		||||
	add_defines("USE_BOOST_FILESYSTEM")
 | 
			
		||||
	add_linkdirs(boost_lib_dir)
 | 
			
		||||
	add_links(boost_libs)
 | 
			
		||||
							
								
								
									
										13
									
								
								config/MBoost.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								config/MBoost.cmake
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
			
		||||
set(MBOOST_INCLUDE_DIR "C:/boost/include/boost-1_83")
 | 
			
		||||
set(MBOOST_LIB_DIR "C:/boost/lib")
 | 
			
		||||
set(MBOOST_LIBS "boost_filesystem-mgw7-mt-x32-1_83")
 | 
			
		||||
get_filename_component(CXX_COMPILER_PATH ${CMAKE_CXX_COMPILER} DIRECTORY)
 | 
			
		||||
set(MINGW32_DLLS 
 | 
			
		||||
"${CXX_COMPILER_PATH}/libgcc_s_dw2-1.dll"
 | 
			
		||||
"${CXX_COMPILER_PATH}/libstdc++-6.dll"
 | 
			
		||||
"${CXX_COMPILER_PATH}/libwinpthread-1.dll"
 | 
			
		||||
)
 | 
			
		||||
set(WIN_XP_COLOR_TOOL
 | 
			
		||||
"C:/xp/ansicon.exe"
 | 
			
		||||
"C:/xp/ANSI32.dll"
 | 
			
		||||
)
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
Subproject commit 1106518755bc91afb0a110a1b589eca031d980e2
 | 
			
		||||
Subproject commit a7c6434a7c333a19727aeab8212d20604426b701
 | 
			
		||||
@ -1,15 +0,0 @@
 | 
			
		||||
add_rules("mode.debug", "mode.release")
 | 
			
		||||
set_languages("c++17")
 | 
			
		||||
if is_mode("debug") then
 | 
			
		||||
    set_suffixname("d")
 | 
			
		||||
end
 | 
			
		||||
add_includedirs(os.scriptdir(), {public = true})
 | 
			
		||||
target("trans_net")
 | 
			
		||||
	set_kind("static")
 | 
			
		||||
	add_files("*.cpp")
 | 
			
		||||
	add_deps("ofen")
 | 
			
		||||
	add_deps("trans_util")
 | 
			
		||||
	
 | 
			
		||||
	if is_plat("mingw") then
 | 
			
		||||
		add_links("ws2_32", "wsock32")
 | 
			
		||||
	end
 | 
			
		||||
							
								
								
									
										2
									
								
								ofen
									
									
									
									
									
								
							
							
								
								
								
								
								
								
									
									
								
							
						
						
									
										2
									
								
								ofen
									
									
									
									
									
								
							@ -1 +1 @@
 | 
			
		||||
Subproject commit 44c536c583948ac6768fa8b536b9a6222c845bf7
 | 
			
		||||
Subproject commit 36e05d261821048a4c2fec1042434dd2dfc9b6de
 | 
			
		||||
@ -6,9 +6,17 @@ set(CMAKE_CXX_STANDARD 17)
 | 
			
		||||
if (MSVC)
 | 
			
		||||
    add_compile_options(/source-charset:utf-8)
 | 
			
		||||
endif()
 | 
			
		||||
if(DEFINED MINGW32_XP_BOOST)
 | 
			
		||||
message(STATUS "tss use mingw32 xp boost.")
 | 
			
		||||
include_directories(${MBOOST_INCLUDE_DIR})
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
add_executable(tss main.cpp server.h server.cpp)
 | 
			
		||||
target_link_libraries(tss PRIVATE trans_net trans_util)
 | 
			
		||||
if(DEFINED MINGW32_XP_BOOST)
 | 
			
		||||
target_link_directories(tss PRIVATE ${MBOOST_LIB_DIR})
 | 
			
		||||
target_link_libraries(tss PRIVATE ${MBOOST_LIBS})
 | 
			
		||||
endif()
 | 
			
		||||
if (UNIX)
 | 
			
		||||
    target_link_libraries(tss PRIVATE pthread)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
@ -1,13 +0,0 @@
 | 
			
		||||
add_rules("mode.debug", "mode.release")
 | 
			
		||||
set_languages("c++17")
 | 
			
		||||
add_includedirs(os.scriptdir())
 | 
			
		||||
target("tss")
 | 
			
		||||
	set_kind("binary")
 | 
			
		||||
	add_files("*.cpp")
 | 
			
		||||
	add_deps("ofen")
 | 
			
		||||
	add_deps("trans_util")
 | 
			
		||||
	add_deps("trans_net")
 | 
			
		||||
	
 | 
			
		||||
	if is_plat("mingw") then
 | 
			
		||||
		add_links("ws2_32", "wsock32")
 | 
			
		||||
	end
 | 
			
		||||
@ -1,14 +0,0 @@
 | 
			
		||||
add_rules("mode.debug", "mode.release")
 | 
			
		||||
set_languages("c++17")
 | 
			
		||||
if is_plat("windows") then
 | 
			
		||||
	add_cxxflags("/source-charset:utf-8")
 | 
			
		||||
end
 | 
			
		||||
if is_mode("debug") then
 | 
			
		||||
    set_suffixname("d")
 | 
			
		||||
end
 | 
			
		||||
add_includedirs(os.scriptdir(), {public = true})
 | 
			
		||||
target("trans_util")
 | 
			
		||||
	set_kind("static")
 | 
			
		||||
	add_files("*.cpp")
 | 
			
		||||
	add_deps("ofen")
 | 
			
		||||
	add_deps("filecomplete")
 | 
			
		||||
							
								
								
									
										22
									
								
								xmake.lua
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								xmake.lua
									
									
									
									
									
								
							@ -1,22 +0,0 @@
 | 
			
		||||
add_rules("mode.debug", "mode.release")
 | 
			
		||||
set_languages("c++17")
 | 
			
		||||
if is_plat("windows") then
 | 
			
		||||
	add_cxxflags("/source-charset:utf-8")
 | 
			
		||||
end
 | 
			
		||||
if is_plat("mingw") then
 | 
			
		||||
	add_cxxflags("-Wno-unused-variable -finput-charset=utf-8 -fexec-charset=gbk")
 | 
			
		||||
end
 | 
			
		||||
if has_config("xp") then
 | 
			
		||||
    add_defines("_WIN32_WINNT=0x0501")
 | 
			
		||||
else
 | 
			
		||||
    add_defines("_WIN32_WINNT=0x0601")
 | 
			
		||||
end
 | 
			
		||||
add_defines("FMT_HEADER_ONLY")
 | 
			
		||||
add_includedirs("$(projectdir)/3rd", {public = true})
 | 
			
		||||
add_includedirs("$(projectdir)/build", {public = true})
 | 
			
		||||
includes("util", "ofen", "net", "server", "client", "filecomplete")
 | 
			
		||||
add_configfiles("config.h.in", {filename = "version.h"})
 | 
			
		||||
 | 
			
		||||
option("xp")
 | 
			
		||||
	set_default(false)
 | 
			
		||||
	set_showmenu(true)
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user