114514
This commit is contained in:
+78
-72
@@ -1,76 +1,82 @@
|
||||
cmake_minimum_required(VERSION 3.21)
|
||||
# this is the build file for project
|
||||
# it is autogenerated by the xmake build system.
|
||||
# do not edit by hand.
|
||||
|
||||
project(Cleaner)
|
||||
# project
|
||||
cmake_minimum_required(VERSION 3.15.0)
|
||||
cmake_policy(SET CMP0091 NEW)
|
||||
project(Cleaner LANGUAGES CXX C)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
|
||||
file(GLOB_RECURSE SRC_FILES_DIR
|
||||
${PROJECT_SOURCE_DIR}/src/*.cpp
|
||||
${PROJECT_SOURCE_DIR}/src/*.h
|
||||
# target
|
||||
add_library(Cleaner SHARED "")
|
||||
set_target_properties(Cleaner PROPERTIES OUTPUT_NAME "Cleaner")
|
||||
set_target_properties(Cleaner PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/build/windows/x64/release")
|
||||
set_target_properties(Cleaner PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/build/windows/x64/release")
|
||||
target_include_directories(Cleaner PRIVATE
|
||||
src
|
||||
)
|
||||
target_include_directories(Cleaner PRIVATE
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/l/levilamina/0.2.2/54d4541cae36448ab8d89ba7ff29fe49/include
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/c/ctre/3.8.1/6aca3e546d064397b0970026de72d808/include
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/e/entt/v3.12.2/5748c075ebf044f9b53ef5be15be7e68/include
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/f/fmt/10.1.1/adc308aa1dfc472ab92a30abb14e2d6f/include
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/g/gsl/v4.0.0/b1ec133f21b342ada9530623a4d0880a/include
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/l/leveldb/1.23/bd4e0156f5854fe28ddb7800bcdf5a2d/include
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/s/snappy/1.1.10/849445e2a764471789906fbaf94e9a02/include
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/m/magic_enum/v0.9.0/fe30b4c97c064545940a9e7c58e584e8/include
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/n/nlohmann_json/v3.11.2/d18ecf552d7148eeb73c26c13078fb10/include
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/r/rapidjson/v1.1.0/18062f0a9cf74262946aa0534019b51b/include
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/p/pcg_cpp/v1.0.0/ac3e59677a854a20b6edd5c0d74babf3/include
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/p/pfr/2.1.1/505ef9ee28ad46fcaf5064a24938026c/include
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/p/preloader/v1.4.0/e087d05f0e95498c9a4b89f94139b1cd/include
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/s/symbolprovider/v1.1.0/ca5041352577410f83705b4b2abb93f7/include
|
||||
)
|
||||
target_compile_options(Cleaner PRIVATE
|
||||
$<$<COMPILE_LANGUAGE:C>:/EHa>
|
||||
$<$<COMPILE_LANGUAGE:CXX>:/EHa>
|
||||
$<$<COMPILE_LANGUAGE:C>:/utf-8>
|
||||
$<$<COMPILE_LANGUAGE:CXX>:/utf-8>
|
||||
$<$<COMPILE_LANGUAGE:C>:-DNDEBUG>
|
||||
$<$<COMPILE_LANGUAGE:CXX>:-DNDEBUG>
|
||||
)
|
||||
string(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
set_target_properties(Cleaner PROPERTIES CXX_EXTENSIONS OFF)
|
||||
target_compile_features(Cleaner PRIVATE cxx_std_23)
|
||||
if(MSVC)
|
||||
target_compile_options(Cleaner PRIVATE $<$<CONFIG:Release>:-Ox -fp:fast>)
|
||||
else()
|
||||
target_compile_options(Cleaner PRIVATE -O3)
|
||||
endif()
|
||||
if(MSVC)
|
||||
set_property(TARGET Cleaner PROPERTY
|
||||
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
endif()
|
||||
target_link_libraries(Cleaner PRIVATE
|
||||
LeviLamina
|
||||
fmt
|
||||
leveldb
|
||||
snappy
|
||||
PreLoader
|
||||
SymbolProvider
|
||||
bedrock_server_api
|
||||
bedrock_server_var
|
||||
)
|
||||
target_link_directories(Cleaner PRIVATE
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/l/levilamina/0.2.2/54d4541cae36448ab8d89ba7ff29fe49/lib
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/f/fmt/10.1.1/adc308aa1dfc472ab92a30abb14e2d6f/lib
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/l/leveldb/1.23/bd4e0156f5854fe28ddb7800bcdf5a2d/lib
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/s/snappy/1.1.10/849445e2a764471789906fbaf94e9a02/lib
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/p/preloader/v1.4.0/e087d05f0e95498c9a4b89f94139b1cd/lib
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/s/symbolprovider/v1.1.0/ca5041352577410f83705b4b2abb93f7/lib
|
||||
C:/Users/yang/AppData/Local/.xmake/packages/b/bdslibrary/1.20.50.03/ed5b31d060e14f9fa04590d78581d780/lib
|
||||
)
|
||||
target_link_options(Cleaner PRIVATE
|
||||
/DELAYLOAD:bedrock_server.dll
|
||||
)
|
||||
target_sources(Cleaner PRIVATE
|
||||
src/Cleaner.cpp
|
||||
src/dllmain.cpp
|
||||
src/Plugin.cpp
|
||||
src/RegCommand.cpp
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_SOURCE_DIR}/SDK/include
|
||||
${CMAKE_SOURCE_DIR}/SDK/include/llapi
|
||||
)
|
||||
|
||||
link_directories(
|
||||
${CMAKE_SOURCE_DIR}/SDK/lib
|
||||
)
|
||||
|
||||
add_definitions(
|
||||
-D"NDEBUG"
|
||||
-D"NOMINMAX"
|
||||
-D"TEMPLATE_EXPORTS"
|
||||
-D"UNICODE"
|
||||
-D"WIN32_LEAN_AND_MEAN"
|
||||
-D"_AMD64_"
|
||||
-D"_CRT_SECURE_NO_WARNINGS"
|
||||
-D"_UNICODE"
|
||||
-D"_USRDLL"
|
||||
-D"_WINDLL"
|
||||
-D"_WINDOWS"
|
||||
)
|
||||
|
||||
add_compile_options(
|
||||
/diagnostics:column
|
||||
/EHsc
|
||||
/FC
|
||||
/GL
|
||||
/MD
|
||||
/nologo
|
||||
/permissive-
|
||||
/sdl
|
||||
/utf-8
|
||||
/Zc:inline
|
||||
/Zi
|
||||
)
|
||||
|
||||
add_link_options(
|
||||
/DEBUG
|
||||
/DELAYLOAD:"bedrock_server.dll"
|
||||
/DLL
|
||||
/IGNORE:4199
|
||||
/INCREMENTAL:NO
|
||||
/LTCG:INCREMENTAL
|
||||
/MANIFESTUAC:NO
|
||||
/MACHINE:X64
|
||||
/NOLOGO
|
||||
/OPT:ICF
|
||||
/OPT:REF
|
||||
/SUBSYSTEM:CONSOLE
|
||||
)
|
||||
|
||||
add_library(Cleaner SHARED ${SRC_FILES_DIR})
|
||||
|
||||
target_link_libraries(Cleaner
|
||||
"${CMAKE_SOURCE_DIR}/SDK/lib/LiteLoader.lib"
|
||||
"${CMAKE_SOURCE_DIR}/SDK/lib/bedrock_server_api.lib"
|
||||
"${CMAKE_SOURCE_DIR}/SDK/lib/bedrock_server_var.lib"
|
||||
"${CMAKE_SOURCE_DIR}/SDK/lib/SymDBHelper.lib"
|
||||
)
|
||||
|
||||
add_custom_command(TARGET Cleaner PRE_BUILD
|
||||
COMMAND cmd /c ${PROJECT_SOURCE_DIR}/prepare_libraries.cmd ${PROJECT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user