cmake: use precompiled headers (#133)

* cmake: use precompiled headers

* Apply suggestions from code review
This commit is contained in:
Anonymous Maarten 2025-05-20 03:20:28 +02:00 committed by GitHub
parent c0a4cbd34a
commit cd32924c47
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 312 additions and 1 deletions

View File

@ -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 }}

View File

@ -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 "$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/util>")
target_include_directories(lego1 PUBLIC "$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/LEGO1>")

309
LEGO1/lego1_pch.h Normal file
View File

@ -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