release build setup
This commit is contained in:
1
src/.gitignore
vendored
1
src/.gitignore
vendored
@@ -33,5 +33,6 @@
|
||||
|
||||
# build dirs
|
||||
cmake-build/
|
||||
cmake-build-release/
|
||||
out/
|
||||
.vs/
|
||||
@@ -2,17 +2,17 @@ cmake_minimum_required(VERSION 3.10)
|
||||
project(PuzGameProj)
|
||||
|
||||
if (MSVC)
|
||||
|
||||
else()
|
||||
add_compile_options(-g -gcodeview)
|
||||
add_link_options(-fuse-ld=lld -g -Wl,--pdb=)
|
||||
endif()
|
||||
|
||||
add_compile_definitions("$<$<CONFIG:DEBUG>:DEBUG>")
|
||||
|
||||
# set the output directory for built objects.
|
||||
# This makes sure that the dynamic library goes into the build directory automatically.
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/$<CONFIGURATION>")
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/$<CONFIGURATION>")
|
||||
set(PROFILE ON)
|
||||
|
||||
# Imgui
|
||||
file(GLOB imgui_sources dependency/imgui/*.h dependency/imgui/*.cpp)
|
||||
@@ -27,7 +27,6 @@ file(GLOB_RECURSE sources_engine engine/*.cpp engine/*.h)
|
||||
add_executable(PuzGameEngine ${sources_engine})
|
||||
target_compile_definitions(PuzGameEngine PUBLIC "_AMD64_")
|
||||
set_property(TARGET PuzGameEngine PROPERTY CXX_STANDARD 17)
|
||||
target_include_directories(PuzGameEngine PUBLIC dependency/tracy/public/)
|
||||
|
||||
# Game
|
||||
add_custom_command(
|
||||
@@ -42,10 +41,11 @@ file(GLOB source_singleheader dependency/tinygltf/stb_image.h dependency/tinyglt
|
||||
add_library(PuzGame SHARED ${sources_game} ${source_singleheader} ${imgui_sources} ${imgui_backend_sdl})
|
||||
set_property(TARGET PuzGame PROPERTY CXX_STANDARD 17)
|
||||
target_include_directories(PuzGame PUBLIC dependency/imgui)
|
||||
target_include_directories(PuzGame PUBLIC dependency/tracy/public/)
|
||||
|
||||
# Profiling
|
||||
if (PROFILE)
|
||||
option(TRACY_ENABLE "" ON)
|
||||
option(TRACY_ENABLE "" OFF)
|
||||
if (TRACY_ENABLE)
|
||||
option(TRACY_ON_DEMAND "" ON)
|
||||
set(TRACY_DELAYED_INIT ON)
|
||||
set(TRACY_MANUAL_LIFETIME ON)
|
||||
@@ -61,6 +61,11 @@ SET(BGFX_BUILD_EXAMPLES OFF)
|
||||
add_subdirectory("${CMAKE_SOURCE_DIR}/dependency/bgfx.cmake")
|
||||
|
||||
# Link
|
||||
if (TRACY_ENABLE)
|
||||
target_link_libraries(PuzGame bx bimg bgfx SDL3::SDL3 Tracy::TracyClient)
|
||||
target_link_libraries(PuzGameEngine bx SDL3::SDL3 Tracy::TracyClient)
|
||||
else()
|
||||
target_link_libraries(PuzGame bx bimg bgfx SDL3::SDL3)
|
||||
target_link_libraries(PuzGameEngine bx SDL3::SDL3)
|
||||
endif()
|
||||
set_target_properties(PuzGame PROPERTIES OUTPUT_NAME "PuzGame2")
|
||||
|
||||
1
src/build-release.bat
Normal file
1
src/build-release.bat
Normal file
@@ -0,0 +1 @@
|
||||
cmake --build cmake-build-release
|
||||
@@ -1,4 +1,6 @@
|
||||
cd dependency/bgfx.cmake
|
||||
cmake -G "Ninja" -S . -B cmake-build -DCMAKE_C_COMPILER="clang.exe" -DCMAKE_CXX_COMPILER="clang++.exe" -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF
|
||||
cmake -G "Ninja" -S . -B cmake-build-release -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER="clang.exe" -DCMAKE_CXX_COMPILER="clang++.exe" -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF
|
||||
cd ..\..
|
||||
cmake -G "Ninja" -S . -B cmake-build -DCMAKE_C_COMPILER="clang.exe" -DCMAKE_CXX_COMPILER="clang++.exe" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
||||
cmake -G "Ninja" -S . -B cmake-build-release -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER="clang.exe" -DCMAKE_CXX_COMPILER="clang++.exe" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
||||
|
||||
Submodule src/dependency/imgui updated: afd659bb92...126d004f9e
@@ -15,7 +15,7 @@
|
||||
#include <SDL3/SDL.h>
|
||||
#include <bx/math.h>
|
||||
#include <cstdint>
|
||||
#include <tracy/tracy.hpp>
|
||||
#include <tracy/Tracy.hpp>
|
||||
|
||||
namespace Game
|
||||
{
|
||||
|
||||
@@ -7,8 +7,10 @@
|
||||
|
||||
#include "bx/bx.h"
|
||||
#include "bx/timer.h"
|
||||
#ifdef TRACY_ENABLE
|
||||
#include <client/TracyProfiler.hpp>
|
||||
#include <tracy/tracy.hpp>
|
||||
#endif
|
||||
#include <tracy/Tracy.hpp>
|
||||
|
||||
namespace Game
|
||||
{
|
||||
@@ -26,7 +28,10 @@ namespace Game
|
||||
void Setup(SharedData& shared)
|
||||
{
|
||||
LOG("Game Setup Start!");
|
||||
#ifdef TRACY_ENABLE
|
||||
LOG("Tracy is enabled");
|
||||
tracy::StartupProfiler();
|
||||
#endif
|
||||
|
||||
if (shared.Game.PermanentStorage == nullptr)
|
||||
{
|
||||
@@ -89,6 +94,8 @@ namespace Game
|
||||
{
|
||||
LOG("Shutdown");
|
||||
SetupInstance.Rendering.Shutdown();
|
||||
#ifdef TRACY_ENABLE
|
||||
tracy::ShutdownProfiler();
|
||||
#endif
|
||||
}
|
||||
} // namespace Game
|
||||
|
||||
@@ -342,7 +342,9 @@ namespace Game
|
||||
|
||||
bgfx::Init init;
|
||||
init.type = bgfx::RendererType::Direct3D12;
|
||||
#ifdef _DEBUG
|
||||
init.debug = true;
|
||||
#endif
|
||||
init.platformData.nwh = shared.Window.Handle;
|
||||
init.platformData.ndt = nullptr;
|
||||
init.platformData.type = bgfx::NativeWindowHandleType::Default;
|
||||
|
||||
@@ -105,7 +105,7 @@ namespace Game
|
||||
Model Models[MaxModels];
|
||||
int32_t LastWidth = 0;
|
||||
int32_t LastHeight = 0;
|
||||
uint32_t ResetFlags = 0; // BGFX_RESET_VSYNC;
|
||||
uint32_t ResetFlags = BGFX_RESET_NONE;
|
||||
uint16_t MainViewID = 10;
|
||||
float LastShaderLoadTime = 0.0f;
|
||||
int32_t DitherRecursion = 1;
|
||||
|
||||
Reference in New Issue
Block a user