Add all public headers to CMake projects

Added all public headers to CMake projects, also moved some files around in the public directory. Translation units have been moved to the libraries that were responsible for implementing them, as this game is monolithic.
This commit is contained in:
Kawe Mazidjatari 2023-05-15 14:47:03 +02:00
parent a421a2bdec
commit 11864f8902
21 changed files with 104 additions and 7 deletions

View File

@ -52,6 +52,7 @@ add_subdirectory( materialsystem )
add_subdirectory( inputsystem )
add_subdirectory( filesystem )
add_subdirectory( datacache )
add_subdirectory( studiorender )
add_subdirectory( localize )
add_subdirectory( engine )
add_subdirectory( vguimatsurface )

View File

@ -89,6 +89,8 @@ target_link_libraries( ${PROJECT_NAME} PRIVATE
"inputsystem"
"materialsystem"
"studiorender"
"vguimatsurface"
"vgui"
"rui"

View File

@ -43,6 +43,8 @@ add_sources( SOURCE_GROUP "Render"
endif()
add_sources( SOURCE_GROUP "Network"
"dt_recv.cpp"
"datamap.cpp"
"datablock.h"
"framesnapshot.h"
"net.cpp"
@ -54,6 +56,7 @@ add_sources( SOURCE_GROUP "Network"
"packed_entity.h"
"staticpropmgr.cpp"
"staticpropmgr.h"
# "networkvar.cpp" # TODO: Enable?
)
add_sources( SOURCE_GROUP "Model"
@ -180,6 +183,37 @@ add_sources( SOURCE_GROUP "Common"
"${ENGINE_SOURCE_DIR}/common/x86defs.h"
)
file( GLOB ENGINE_PUBLIC_HEADERS
"${ENGINE_SOURCE_DIR}/public/engine/*"
)
add_sources( SOURCE_GROUP "Public"
"${ENGINE_PUBLIC_HEADERS}"
"${ENGINE_SOURCE_DIR}/public/const.h"
"${ENGINE_SOURCE_DIR}/public/dt_common.h"
"${ENGINE_SOURCE_DIR}/public/dt_send.h"
"${ENGINE_SOURCE_DIR}/public/dt_recv.h"
"${ENGINE_SOURCE_DIR}/public/datamap.h"
"${ENGINE_SOURCE_DIR}/public/idebugoverlay.h"
"${ENGINE_SOURCE_DIR}/public/iengine.h"
"${ENGINE_SOURCE_DIR}/public/igame.h"
"${ENGINE_SOURCE_DIR}/public/iserver.h"
"${ENGINE_SOURCE_DIR}/public/isnapshotmgr.h"
"${ENGINE_SOURCE_DIR}/public/inetchannel.h"
"${ENGINE_SOURCE_DIR}/public/inetmessage.h"
"${ENGINE_SOURCE_DIR}/public/inetmsghandler.h"
"${ENGINE_SOURCE_DIR}/public/server_class.h"
"${ENGINE_SOURCE_DIR}/public/networkvar.h"
"${ENGINE_SOURCE_DIR}/public/playerstate.h"
)
if( ${PROJECT_NAME} STREQUAL "engine" )
add_sources( SOURCE_GROUP "Public"
"${ENGINE_SOURCE_DIR}/public/client_class.h"
"${ENGINE_SOURCE_DIR}/public/ivrenderview.h"
"${ENGINE_SOURCE_DIR}/public/isurfacesystem.h" # ImGui surface
)
endif()
end_sources()
if( ${PROJECT_NAME} STREQUAL "engine_ds" )

View File

@ -71,6 +71,25 @@ add_sources( SOURCE_GROUP "Client"
"client/viewrender.h"
)
add_sources( SOURCE_GROUP "Public"
"${ENGINE_SOURCE_DIR}/public/basehandle.h"
"${ENGINE_SOURCE_DIR}/public/edict.h"
"${ENGINE_SOURCE_DIR}/public/eiface.h"
"${ENGINE_SOURCE_DIR}/public/globalvars_base.h"
"${ENGINE_SOURCE_DIR}/public/ihandleentity.h"
"${ENGINE_SOURCE_DIR}/public/iserverentity.h"
"${ENGINE_SOURCE_DIR}/public/iservernetworkable.h"
"${ENGINE_SOURCE_DIR}/public/iserverunknown.h"
"${ENGINE_SOURCE_DIR}/public/icliententity.h"
"${ENGINE_SOURCE_DIR}/public/icliententitylist.h"
"${ENGINE_SOURCE_DIR}/public/iclientnetworkable.h"
"${ENGINE_SOURCE_DIR}/public/iclientrenderable.h"
"${ENGINE_SOURCE_DIR}/public/iclientthinkable.h"
"${ENGINE_SOURCE_DIR}/public/iclientunknown.h"
)
end_sources()
target_include_directories( ${PROJECT_NAME} PRIVATE

View File

@ -12,9 +12,9 @@
#endif
#include "mathlib/vector.h"
#include "tier1/string_t.h"
#include "public/iservernetworkable.h"
#include "public/iserverentity.h"
#include "public/string_t.h"
#include "engine/gl_model_private.h"
#include "game/shared/collisionproperty.h"
#include "networkproperty.h"

View File

@ -3,7 +3,7 @@ add_module( "lib" "materialsystem" "vpc" ${FOLDER_CONTEXT} TRUE )
start_sources()
add_sources( SOURCE_GROUP "Runtime"
add_sources( SOURCE_GROUP "Private"
"cmaterialglue.cpp"
"cmaterialglue.h"
"cmaterialsystem.cpp"
@ -12,4 +12,10 @@ add_sources( SOURCE_GROUP "Runtime"
"cshaderglue.h"
)
add_sources( SOURCE_GROUP "Public"
"${ENGINE_SOURCE_DIR}/public/imaterial.h"
"${ENGINE_SOURCE_DIR}/public/imaterialinternal.h"
"${ENGINE_SOURCE_DIR}/public/imaterialsystem.h"
)
end_sources()

View File

@ -1,7 +1,7 @@
#ifndef APPSYSTEMGROUP_H
#define APPSYSTEMGROUP_H
#include "public/interface.h"
#include "tier1/interface.h"
#include "tier1/utlvector.h"
#include "filesystem/filesystem.h"

View File

@ -12,9 +12,8 @@
#endif
#include "tier1/string_t.h"
#include "iserverunknown.h"
#include "string_t.h"
struct Ray_t;

View File

@ -11,8 +11,8 @@
#pragma once
#endif
#include "tier0/imemalloc.h"
#include "tier1/utlvector.h"
#include "public/imemalloc.h"
#if defined( _WIN32 ) || defined( _PS3 )
#define MEMSTACK_VIRTUAL_MEMORY_AVAILABLE

View File

@ -0,0 +1,20 @@
cmake_minimum_required( VERSION 3.16 )
add_module( "lib" "studiorender" "vpc" ${FOLDER_CONTEXT} TRUE )
start_sources()
add_sources( SOURCE_GROUP "Private"
"studiorendercontext.cpp"
"studiorendercontext.h"
)
add_sources( SOURCE_GROUP "Public"
"${ENGINE_SOURCE_DIR}/public/model_types.h"
"${ENGINE_SOURCE_DIR}/public/studio.h"
# TODO: These are from bsplib:
"${ENGINE_SOURCE_DIR}/public/bspflags.h"
"${ENGINE_SOURCE_DIR}/public/worldsize.h"
)
end_sources()

View File

@ -0,0 +1,7 @@
//=============================================================================//
//
// Purpose: Main systems initialization file
//
//=============================================================================//
// TODO[ AMOS ]: Currently stubbed so public headers can be grouped under this project.

View File

@ -39,6 +39,8 @@ file( GLOB TIER0_PUBLIC_HEADERS
)
add_sources( SOURCE_GROUP "Public"
"${TIER0_PUBLIC_HEADERS}"
"${ENGINE_SOURCE_DIR}/public/icommandline.h"
"${ENGINE_SOURCE_DIR}/public/iframetask.h"
)
end_sources()

View File

@ -30,6 +30,9 @@ file( GLOB TIER1_PUBLIC_HEADERS
)
add_sources( SOURCE_GROUP "Public"
"${TIER1_PUBLIC_HEADERS}"
"${ENGINE_SOURCE_DIR}/public/iconcommand.h"
"${ENGINE_SOURCE_DIR}/public/iconvar.h"
"${ENGINE_SOURCE_DIR}/public/icvar.h"
)
end_sources()

View File

@ -1,5 +1,5 @@
#pragma once
#include "public/interface.h"
#include "tier1/interface.h"
/*-----------------------------------------------------------------------------
* _interfaces.h

View File

@ -13,6 +13,10 @@ add_sources( SOURCE_GROUP "Private"
"random.h"
)
add_sources( SOURCE_GROUP "Public"
"${ENGINE_SOURCE_DIR}/public/ikeyvaluessystem.h"
)
end_sources()
target_include_directories( ${PROJECT_NAME} PRIVATE