From cd32924c47209bd31bf790912ed00062da47a524 Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Tue, 20 May 2025 03:20:28 +0200 Subject: [PATCH] cmake: use precompiled headers (#133) * cmake: use precompiled headers * Apply suggestions from code review --- .github/workflows/ci.yml | 3 +- CMakeLists.txt | 1 + LEGO1/lego1_pch.h | 309 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 312 insertions(+), 1 deletion(-) create mode 100644 LEGO1/lego1_pch.h diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 68ef687b..970232db 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,7 +59,8 @@ jobs: run: | sudo apt-get update sudo apt-get install -y \ - libx11-dev libxext-dev libxrandr-dev libxrender-dev libxfixes-dev libxi-dev libxinerama-dev libxcursor-dev libwayland-dev libxkbcommon-dev wayland-protocols + libx11-dev libxext-dev libxrandr-dev libxrender-dev libxfixes-dev libxi-dev libxinerama-dev \ + libxcursor-dev libwayland-dev libxkbcommon-dev wayland-protocols - name: Install macOS dependencies (brew) if: ${{ matrix.brew }} diff --git a/CMakeLists.txt b/CMakeLists.txt index b3115a87..af209c86 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -144,6 +144,7 @@ target_include_directories(Vec::Vec INTERFACE "${CMAKE_SOURCE_DIR}/3rdparty/vec" add_library(lego1 SHARED LEGO1/main.cpp ) +target_precompile_headers(lego1 PRIVATE "LEGO1/lego1_pch.h") set_property(TARGET lego1 PROPERTY DEFINE_SYMBOL "LEGO1_DLL") target_include_directories(lego1 PUBLIC "$") target_include_directories(lego1 PUBLIC "$") diff --git a/LEGO1/lego1_pch.h b/LEGO1/lego1_pch.h new file mode 100644 index 00000000..e9c429a6 --- /dev/null +++ b/LEGO1/lego1_pch.h @@ -0,0 +1,309 @@ +#ifndef LEGO1_PCH_H +#define LEGO1_PCH_H + +#include "define.h" +#include "lego/legoomni/include/act2actor.h" +#include "lego/legoomni/include/act2brick.h" +#include "lego/legoomni/include/act2genactor.h" +#include "lego/legoomni/include/act2policestation.h" +#include "lego/legoomni/include/act3.h" +#include "lego/legoomni/include/act3actors.h" +#include "lego/legoomni/include/act3ammo.h" +#include "lego/legoomni/include/actions/act2main_actions.h" +#include "lego/legoomni/include/actions/act3_actions.h" +#include "lego/legoomni/include/actions/actionsfwd.h" +#include "lego/legoomni/include/actions/carrace_actions.h" +#include "lego/legoomni/include/actions/carracer_actions.h" +#include "lego/legoomni/include/actions/copter_actions.h" +#include "lego/legoomni/include/actions/credits_actions.h" +#include "lego/legoomni/include/actions/dunecar_actions.h" +#include "lego/legoomni/include/actions/elevbott_actions.h" +#include "lego/legoomni/include/actions/garage_actions.h" +#include "lego/legoomni/include/actions/histbook_actions.h" +#include "lego/legoomni/include/actions/hospital_actions.h" +#include "lego/legoomni/include/actions/infodoor_actions.h" +#include "lego/legoomni/include/actions/infomain_actions.h" +#include "lego/legoomni/include/actions/infoscor_actions.h" +#include "lego/legoomni/include/actions/intro_actions.h" +#include "lego/legoomni/include/actions/isle_actions.h" +#include "lego/legoomni/include/actions/jetrace_actions.h" +#include "lego/legoomni/include/actions/jetracer_actions.h" +#include "lego/legoomni/include/actions/jetski_actions.h" +#include "lego/legoomni/include/actions/jukebox_actions.h" +#include "lego/legoomni/include/actions/jukeboxw_actions.h" +#include "lego/legoomni/include/actions/nocd_actions.h" +#include "lego/legoomni/include/actions/police_actions.h" +#include "lego/legoomni/include/actions/racecar_actions.h" +#include "lego/legoomni/include/actions/regbook_actions.h" +#include "lego/legoomni/include/actions/sndanim_actions.h" +#include "lego/legoomni/include/ambulance.h" +#include "lego/legoomni/include/bike.h" +#include "lego/legoomni/include/buildingentity.h" +#include "lego/legoomni/include/buildings.h" +#include "lego/legoomni/include/bumpbouy.h" +#include "lego/legoomni/include/carrace.h" +#include "lego/legoomni/include/doors.h" +#include "lego/legoomni/include/dunebuggy.h" +#include "lego/legoomni/include/elevatorbottom.h" +#include "lego/legoomni/include/extra.h" +#include "lego/legoomni/include/gasstation.h" +#include "lego/legoomni/include/helicopter.h" +#include "lego/legoomni/include/historybook.h" +#include "lego/legoomni/include/hospital.h" +#include "lego/legoomni/include/infocenter.h" +#include "lego/legoomni/include/infocenterdoor.h" +#include "lego/legoomni/include/isle.h" +#include "lego/legoomni/include/isleactor.h" +#include "lego/legoomni/include/islepathactor.h" +#include "lego/legoomni/include/jetski.h" +#include "lego/legoomni/include/jetskirace.h" +#include "lego/legoomni/include/jukebox.h" +#include "lego/legoomni/include/jukeboxentity.h" +#include "lego/legoomni/include/lego3dsound.h" +#include "lego/legoomni/include/lego3dwavepresenter.h" +#include "lego/legoomni/include/legoact2.h" +#include "lego/legoomni/include/legoactioncontrolpresenter.h" +#include "lego/legoomni/include/legoactor.h" +#include "lego/legoomni/include/legoactorpresenter.h" +#include "lego/legoomni/include/legoactors.h" +#include "lego/legoomni/include/legoanimactor.h" +#include "lego/legoomni/include/legoanimationmanager.h" +#include "lego/legoomni/include/legoanimmmpresenter.h" +#include "lego/legoomni/include/legoanimpresenter.h" +#include "lego/legoomni/include/legobuildingmanager.h" +#include "lego/legoomni/include/legocachesoundlist.h" +#include "lego/legoomni/include/legocachesoundmanager.h" +#include "lego/legoomni/include/legocachsound.h" +#include "lego/legoomni/include/legocameracontroller.h" +#include "lego/legoomni/include/legocarbuild.h" +#include "lego/legoomni/include/legocarbuildpresenter.h" +#include "lego/legoomni/include/legocharactermanager.h" +#include "lego/legoomni/include/legocontrolmanager.h" +#include "lego/legoomni/include/legoendanimnotificationparam.h" +#include "lego/legoomni/include/legoentity.h" +#include "lego/legoomni/include/legoentitylist.h" +#include "lego/legoomni/include/legoentitypresenter.h" +#include "lego/legoomni/include/legoeventnotificationparam.h" +#include "lego/legoomni/include/legoextraactor.h" +#include "lego/legoomni/include/legoflctexturepresenter.h" +#include "lego/legoomni/include/legogamestate.h" +#include "lego/legoomni/include/legohideanimpresenter.h" +#include "lego/legoomni/include/legoinputmanager.h" +#include "lego/legoomni/include/legoloadcachesoundpresenter.h" +#include "lego/legoomni/include/legolocations.h" +#include "lego/legoomni/include/legolocomotionanimpresenter.h" +#include "lego/legoomni/include/legolodlist.h" +#include "lego/legoomni/include/legoloopinganimpresenter.h" +#include "lego/legoomni/include/legomain.h" +#include "lego/legoomni/include/legometerpresenter.h" +#include "lego/legoomni/include/legomodelpresenter.h" +#include "lego/legoomni/include/legonamedpart.h" +#include "lego/legoomni/include/legonamedpartlist.h" +#include "lego/legoomni/include/legonamedplane.h" +#include "lego/legoomni/include/legonamedtexture.h" +#include "lego/legoomni/include/legonamedtexturelist.h" +#include "lego/legoomni/include/legonavcontroller.h" +#include "lego/legoomni/include/legoobjectfactory.h" +#include "lego/legoomni/include/legopalettepresenter.h" +#include "lego/legoomni/include/legopartpresenter.h" +#include "lego/legoomni/include/legopathactor.h" +#include "lego/legoomni/include/legopathboundary.h" +#include "lego/legoomni/include/legopathcontroller.h" +#include "lego/legoomni/include/legopathcontrollerlist.h" +#include "lego/legoomni/include/legopathedgecontainer.h" +#include "lego/legoomni/include/legopathpresenter.h" +#include "lego/legoomni/include/legopathstruct.h" +#include "lego/legoomni/include/legophoneme.h" +#include "lego/legoomni/include/legophonemelist.h" +#include "lego/legoomni/include/legophonemepresenter.h" +#include "lego/legoomni/include/legoplantmanager.h" +#include "lego/legoomni/include/legoplants.h" +#include "lego/legoomni/include/legopointofviewcontroller.h" +#include "lego/legoomni/include/legorace.h" +#include "lego/legoomni/include/legoraceactor.h" +#include "lego/legoomni/include/legoracemap.h" +#include "lego/legoomni/include/legoracers.h" +#include "lego/legoomni/include/legoracespecial.h" +#include "lego/legoomni/include/legoroilist.h" +#include "lego/legoomni/include/legoroimaplist.h" +#include "lego/legoomni/include/legosoundmanager.h" +#include "lego/legoomni/include/legostate.h" +#include "lego/legoomni/include/legotextureinfo.h" +#include "lego/legoomni/include/legotexturepresenter.h" +#include "lego/legoomni/include/legotraninfo.h" +#include "lego/legoomni/include/legotraninfolist.h" +#include "lego/legoomni/include/legoutils.h" +#include "lego/legoomni/include/legovariables.h" +#include "lego/legoomni/include/legovideomanager.h" +#include "lego/legoomni/include/legoworld.h" +#include "lego/legoomni/include/legoworldlist.h" +#include "lego/legoomni/include/legoworldpresenter.h" +#include "lego/legoomni/include/misc.h" +#include "lego/legoomni/include/motorcycle.h" +#include "lego/legoomni/include/mxbackgroundaudiomanager.h" +#include "lego/legoomni/include/mxcompositemediapresenter.h" +#include "lego/legoomni/include/mxcontrolpresenter.h" +#include "lego/legoomni/include/mxtransitionmanager.h" +#include "lego/legoomni/include/pizza.h" +#include "lego/legoomni/include/pizzeria.h" +#include "lego/legoomni/include/police.h" +#include "lego/legoomni/include/racecar.h" +#include "lego/legoomni/include/raceskel.h" +#include "lego/legoomni/include/radio.h" +#include "lego/legoomni/include/registrationbook.h" +#include "lego/legoomni/include/score.h" +#include "lego/legoomni/include/scripts.h" +#include "lego/legoomni/include/skateboard.h" +#include "lego/legoomni/include/towtrack.h" +#include "lego/sources/3dmanager/lego3dmanager.h" +#include "lego/sources/3dmanager/lego3dview.h" +#include "lego/sources/3dmanager/legoview1.h" +#include "lego/sources/3dmanager/tglsurface.h" +#include "lego/sources/anim/legoanim.h" +#include "lego/sources/geom/legoedge.h" +#include "lego/sources/geom/legounkown100db7f4.h" +#include "lego/sources/geom/legoweedge.h" +#include "lego/sources/geom/legowegedge.h" +#include "lego/sources/misc/legocontainer.h" +#include "lego/sources/misc/legoimage.h" +#include "lego/sources/misc/legostorage.h" +#include "lego/sources/misc/legotexture.h" +#include "lego/sources/misc/legotree.h" +#include "lego/sources/misc/legotypes.h" +#include "lego/sources/misc/legounknown.h" +#include "lego/sources/misc/legoutil.h" +#include "lego/sources/misc/version.h" +#include "lego/sources/roi/legolod.h" +#include "lego/sources/roi/legoroi.h" +#include "lego/sources/shape/legobox.h" +#include "lego/sources/shape/legocolor.h" +#include "lego/sources/shape/legomesh.h" +#include "lego/sources/shape/legosphere.h" +#include "lego/sources/shape/legovertex.h" +#include "lego1_export.h" +#include "lego1_pch.h" +#include "library_msvc.h" +#include "library_smack.h" +#include "modeldb/modeldb.h" +#include "mxdirectx/legodxinfo.h" +#include "mxdirectx/mxdirect3d.h" +#include "mxdirectx/mxdirectdraw.h" +#include "mxdirectx/mxdirectxinfo.h" +#include "mxdirectx/mxstopwatch.h" +#include "mxgeometry/mxgeometry3d.h" +#include "mxgeometry/mxgeometry4d.h" +#include "mxgeometry/mxmatrix.h" +#include "mxgeometry/mxquaternion.h" +#include "omni/include/flic.h" +#include "omni/include/mxactionnotificationparam.h" +#include "omni/include/mxatom.h" +#include "omni/include/mxaudiomanager.h" +#include "omni/include/mxaudiopresenter.h" +#include "omni/include/mxautolock.h" +#include "omni/include/mxbitmap.h" +#include "omni/include/mxbitset.h" +#include "omni/include/mxcollection.h" +#include "omni/include/mxcompositepresenter.h" +#include "omni/include/mxcore.h" +#include "omni/include/mxcriticalsection.h" +#include "omni/include/mxdebug.h" +#include "omni/include/mxdiskstreamcontroller.h" +#include "omni/include/mxdiskstreamprovider.h" +#include "omni/include/mxdisplaysurface.h" +#include "omni/include/mxdsaction.h" +#include "omni/include/mxdsactionlist.h" +#include "omni/include/mxdsanim.h" +#include "omni/include/mxdsbuffer.h" +#include "omni/include/mxdschunk.h" +#include "omni/include/mxdsevent.h" +#include "omni/include/mxdsfile.h" +#include "omni/include/mxdsmediaaction.h" +#include "omni/include/mxdsmultiaction.h" +#include "omni/include/mxdsobject.h" +#include "omni/include/mxdsobjectaction.h" +#include "omni/include/mxdsparallelaction.h" +#include "omni/include/mxdsselectaction.h" +#include "omni/include/mxdsserialaction.h" +#include "omni/include/mxdssound.h" +#include "omni/include/mxdssource.h" +#include "omni/include/mxdsstill.h" +#include "omni/include/mxdsstreamingaction.h" +#include "omni/include/mxdssubscriber.h" +#include "omni/include/mxentity.h" +#include "omni/include/mxeventmanager.h" +#include "omni/include/mxeventpresenter.h" +#include "omni/include/mxflcpresenter.h" +#include "omni/include/mxgeometry.h" +#include "omni/include/mxhashtable.h" +#include "omni/include/mxio.h" +#include "omni/include/mxlist.h" +#include "omni/include/mxloopingflcpresenter.h" +#include "omni/include/mxloopingsmkpresenter.h" +#include "omni/include/mxmediamanager.h" +#include "omni/include/mxmediapresenter.h" +#include "omni/include/mxmemorypool.h" +#include "omni/include/mxmisc.h" +#include "omni/include/mxnextactiondatastart.h" +#include "omni/include/mxnotificationmanager.h" +#include "omni/include/mxnotificationparam.h" +#include "omni/include/mxobjectfactory.h" +#include "omni/include/mxomni.h" +#include "omni/include/mxomnicreateflags.h" +#include "omni/include/mxomnicreateparam.h" +#include "omni/include/mxpalette.h" +#include "omni/include/mxparam.h" +#include "omni/include/mxpresenter.h" +#include "omni/include/mxpresenterlist.h" +#include "omni/include/mxqueue.h" +#include "omni/include/mxramstreamcontroller.h" +#include "omni/include/mxramstreamprovider.h" +#include "omni/include/mxregion.h" +#include "omni/include/mxscheduler.h" +#include "omni/include/mxsemaphore.h" +#include "omni/include/mxsmk.h" +#include "omni/include/mxsmkpresenter.h" +#include "omni/include/mxsoundmanager.h" +#include "omni/include/mxsoundpresenter.h" +#include "omni/include/mxstillpresenter.h" +#include "omni/include/mxstreamchunk.h" +#include "omni/include/mxstreamchunklist.h" +#include "omni/include/mxstreamcontroller.h" +#include "omni/include/mxstreamer.h" +#include "omni/include/mxstreamprovider.h" +#include "omni/include/mxstring.h" +#include "omni/include/mxstringlist.h" +#include "omni/include/mxthread.h" +#include "omni/include/mxticklemanager.h" +#include "omni/include/mxticklethread.h" +#include "omni/include/mxtimer.h" +#include "omni/include/mxtypes.h" +#include "omni/include/mxutilities.h" +#include "omni/include/mxutilitylist.h" +#include "omni/include/mxvariable.h" +#include "omni/include/mxvariabletable.h" +#include "omni/include/mxvideomanager.h" +#include "omni/include/mxvideoparam.h" +#include "omni/include/mxvideoparamflags.h" +#include "omni/include/mxvideopresenter.h" +#include "omni/include/mxwavepresenter.h" +#include "realtime/lodlist.h" +#include "realtime/matrix.h" +#include "realtime/matrix4d.inl.h" +#include "realtime/orientableroi.h" +#include "realtime/realtime.h" +#include "realtime/realtimeview.h" +#include "realtime/roi.h" +#include "realtime/vector.h" +#include "realtime/vector2d.inl.h" +#include "realtime/vector3d.inl.h" +#include "realtime/vector4d.inl.h" +#include "res/resource.h" +#include "tgl/d3drm/impl.h" +#include "tgl/tgl.h" +#include "tgl/tglvector.h" +#include "viewmanager/viewlod.h" +#include "viewmanager/viewlodlist.h" +#include "viewmanager/viewmanager.h" +#include "viewmanager/viewroi.h" + +#endif