From 884decd090bac10fbef77326d746f1dffd9232ee Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Sat, 24 Jun 2023 15:46:56 +0200 Subject: [PATCH] Set default debugger parameters The debugger can now be immediately invoked on all runtime projects after generating the solution without having to set anything up. --- r5dev/cmake/Configure.cmake | 2 ++ r5dev/cmake/Macros.cmake | 2 +- r5dev/core/CMakeLists.txt | 17 ++++++++++++++++- r5dev/naveditor/CMakeLists.txt | 7 ++++++- r5dev/netconsole/CMakeLists.txt | 11 ++++++++--- r5dev/pluginsdk/CMakeLists.txt | 2 +- r5dev/sdklauncher/CMakeLists.txt | 9 +++++++-- 7 files changed, 41 insertions(+), 9 deletions(-) diff --git a/r5dev/cmake/Configure.cmake b/r5dev/cmake/Configure.cmake index 2fb7c030..c75eac30 100644 --- a/r5dev/cmake/Configure.cmake +++ b/r5dev/cmake/Configure.cmake @@ -8,6 +8,8 @@ macro( initial_setup ) set( ENGINE_SOURCE_DIR "${CMAKE_SOURCE_DIR}/r5dev" CACHE PATH "Engine source directory" ) set( THIRDPARTY_SOURCE_DIR "${ENGINE_SOURCE_DIR}/thirdparty" CACHE PATH "Thirdparty source directory" ) + set( BUILD_OUTPUT_DIR "game" CACHE PATH "Build output directory" ) + set( GLOBAL_PCH "${ENGINE_SOURCE_DIR}/core/stdafx.h" ) # Global precompiled header shared among all libraries diff --git a/r5dev/cmake/Macros.cmake b/r5dev/cmake/Macros.cmake index 090a3a89..fca1a012 100644 --- a/r5dev/cmake/Macros.cmake +++ b/r5dev/cmake/Macros.cmake @@ -37,7 +37,7 @@ macro( end_sources ) if( NOT "${ARGN}" STREQUAL "" ) # Check if an output directory is passed set_target_output_dirs( ${PROJECT_NAME} ${ARGN} ) else() - set_target_output_dirs( ${PROJECT_NAME} "game/" ) + set_target_output_dirs( ${PROJECT_NAME} "${BUILD_OUTPUT_DIR}/" ) endif() endmacro() diff --git a/r5dev/core/CMakeLists.txt b/r5dev/core/CMakeLists.txt index 00561418..ddf87a36 100644 --- a/r5dev/core/CMakeLists.txt +++ b/r5dev/core/CMakeLists.txt @@ -115,7 +115,7 @@ target_compile_definitions( ${PROJECT_NAME} PRIVATE "DEDICATED" ) elseif( ${PROJECT_NAME} STREQUAL "client" ) -end_sources( "game/bin/x64_retail/" ) +end_sources( "${BUILD_OUTPUT_DIR}/bin/x64_retail/" ) target_compile_definitions( ${PROJECT_NAME} PRIVATE "CLIENT_DLL" ) @@ -129,6 +129,21 @@ add_custom_command( TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -P ${ENGINE_SOURCE_DIR}/cmake/PostBuild.cmake ) +if( NOT ${PROJECT_NAME} STREQUAL "dedicated" ) +set_target_properties( ${PROJECT_NAME} PROPERTIES + VS_DEBUGGER_COMMAND "r5apex.exe" +) +else() +set_target_properties( ${PROJECT_NAME} PROPERTIES + VS_DEBUGGER_COMMAND "r5apex_ds.exe" +) +endif() + +set_target_properties( ${PROJECT_NAME} PROPERTIES + VS_DEBUGGER_COMMAND_ARGUMENTS "-wconsole -ansicolor -dev -devsdk" + VS_DEBUGGER_WORKING_DIRECTORY "$(ProjectDir)../../../${BUILD_OUTPUT_DIR}/" +) + endmacro() add_sdk_project( "gamesdk" ) diff --git a/r5dev/naveditor/CMakeLists.txt b/r5dev/naveditor/CMakeLists.txt index a02cd2aa..1ca19d37 100644 --- a/r5dev/naveditor/CMakeLists.txt +++ b/r5dev/naveditor/CMakeLists.txt @@ -85,9 +85,14 @@ add_sources( SOURCE_GROUP "Utils/Include" "include/ValueHistory.h" ) -end_sources( "game/bin/" ) +end_sources( "${BUILD_OUTPUT_DIR}/bin/" ) whole_program_optimization() +set_target_properties( ${PROJECT_NAME} PROPERTIES + VS_DEBUGGER_COMMAND "naveditor.exe" + VS_DEBUGGER_COMMAND_ARGUMENTS "-console" + VS_DEBUGGER_WORKING_DIRECTORY "$(ProjectDir)../../../${BUILD_OUTPUT_DIR}/bin/" +) target_compile_definitions( ${PROJECT_NAME} PRIVATE "WIN32" ) diff --git a/r5dev/netconsole/CMakeLists.txt b/r5dev/netconsole/CMakeLists.txt index 67cfc6f4..bb951a54 100644 --- a/r5dev/netconsole/CMakeLists.txt +++ b/r5dev/netconsole/CMakeLists.txt @@ -29,11 +29,16 @@ add_sources( SOURCE_GROUP "Windows" "${ENGINE_SOURCE_DIR}/windows/console.h" ) -end_sources( "game/bin/" ) +end_sources( "${BUILD_OUTPUT_DIR}/bin/" ) set_target_properties( ${PROJECT_NAME} PROPERTIES OUTPUT_NAME "netcon32" ) +set_target_properties( ${PROJECT_NAME} PROPERTIES + VS_DEBUGGER_COMMAND "netcon32.exe" + VS_DEBUGGER_COMMAND_ARGUMENTS "-ansicolor" + VS_DEBUGGER_WORKING_DIRECTORY "$(ProjectDir)../../../${BUILD_OUTPUT_DIR}/bin/" +) target_compile_definitions( ${PROJECT_NAME} PRIVATE "NETCONSOLE" ) @@ -43,8 +48,8 @@ target_link_libraries( ${PROJECT_NAME} PRIVATE "tier2" "libprotobuf" "libspdlog" - "SV_RCon_PB" - "CL_RCon_PB" + "SV_RCon_Pb" + "CL_RCon_Pb" "Rpcrt4.lib" "ws2_32.lib" ) diff --git a/r5dev/pluginsdk/CMakeLists.txt b/r5dev/pluginsdk/CMakeLists.txt index 4e1035b1..44df544c 100644 --- a/r5dev/pluginsdk/CMakeLists.txt +++ b/r5dev/pluginsdk/CMakeLists.txt @@ -10,7 +10,7 @@ add_sources( SOURCE_GROUP "Core" "pluginsdk.h" ) -end_sources( "game/bin/x64_retail/plugins/" ) +end_sources( "${BUILD_OUTPUT_DIR}/bin/x64_retail/plugins/" ) target_link_libraries( ${PROJECT_NAME} PRIVATE "tier0" diff --git a/r5dev/sdklauncher/CMakeLists.txt b/r5dev/sdklauncher/CMakeLists.txt index c1a32611..b08ecc2b 100644 --- a/r5dev/sdklauncher/CMakeLists.txt +++ b/r5dev/sdklauncher/CMakeLists.txt @@ -21,8 +21,13 @@ add_sources( SOURCE_GROUP "Resource" end_sources() -set_target_properties( ${PROJECT_NAME} PROPERTIES OUTPUT_NAME "launcher" ) - +set_target_properties( ${PROJECT_NAME} PROPERTIES OUTPUT_NAME + "launcher" +) +set_target_properties( ${PROJECT_NAME} PROPERTIES + VS_DEBUGGER_COMMAND "launcher.exe" + VS_DEBUGGER_WORKING_DIRECTORY "$(ProjectDir)../../../${BUILD_OUTPUT_DIR}/bin/" +) target_compile_definitions( ${PROJECT_NAME} PRIVATE "SDKLAUNCHER" )