jak-project/game/CMakeLists.txt
ManDude 5b44aece75
random fixes + support clang-cl on visual studio (#1129)
* delete unused shaders

* hide some options in debug menu

* change fullscreen logic a bit

* add "all actors" toggle

* borderless fix and fix alpha in direct renderer untextured (do we need a separate shader for that?)

* fix fuel cell orbit icons in widescreen

* fix `curve` types

* refs

* fix levitator task...

* fix some task stuff

* update font code a bit (temp)

* cmake, third-party and visual studio overhaul

* Update .gitmodules

* update modules

* clone repos

* fix encoding in zydis

* where did these come from

* try again

* add submodule

* Update 11zip

* Update 11zip

* Update 11zip

* delete

* try again

* clang

* update compiler flags

* delete 11zip. go away.

* Create memory-dump-p2s.py

* properly

* fix minimum architecture c++ compiler flags

* fix zydis

* oops

* Update all-types.gc

* fix clang-cl tests

* make "all actors" work better, entity debug qol

* update game-text conversion code to be more modularized

* Create vendor.txt

* fix typos and minor things

* update refs

* clang

* Attempt to add clang-cl support to vs2019 and CI

* vs2022 + clang-cl

* srsly? fix clang build

* Update launch.vs.json

* extend windows CI timer
2022-02-07 19:15:37 -05:00

113 lines
3.8 KiB
CMake

# We define our own compilation flags here.
set(CMAKE_CXX_STANDARD 17)
enable_language(ASM_NASM)
set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS ${CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS} asm)
set(CMAKE_ASM_NASM_COMPILE_OBJECT "<CMAKE_ASM_NASM_COMPILER> <INCLUDES> -f ${CMAKE_ASM_NASM_OBJECT_FORMAT} -o <OBJECT> <SOURCE>")
set_source_files_properties(kernel/asm_funcs.asm PROPERTIES COMPILE_FLAGS "-g")
set(RUNTIME_SOURCE
runtime.cpp
system/SystemThread.cpp
system/IOP_Kernel.cpp
system/iop_thread.cpp
system/Deci2Server.cpp
system/newpad.cpp
sce/libcdvd_ee.cpp
sce/libscf.cpp
sce/libdma.cpp
sce/libpad.cpp
sce/libgraph.cpp
sce/deci2.cpp
sce/sif_ee.cpp
sce/sif_ee_memcard.cpp
sce/iop.cpp
sce/stubs.cpp
kernel/asm_funcs.asm
kernel/fileio.cpp
kernel/kboot.cpp
kernel/kdgo.cpp
kernel/kdsnetm.cpp
kernel/klink.cpp
kernel/klisten.cpp
kernel/kmachine.cpp
kernel/kmalloc.cpp
kernel/kmemcard.cpp
kernel/kprint.cpp
kernel/kscheme.cpp
kernel/ksocket.cpp
kernel/ksound.cpp
mips2c/mips2c_table.cpp
mips2c/functions/bones.cpp
mips2c/functions/collide_cache.cpp
mips2c/functions/collide_edge_grab.cpp
mips2c/functions/collide_func.cpp
mips2c/functions/collide_mesh.cpp
mips2c/functions/collide_probe.cpp
mips2c/functions/draw_string.cpp
mips2c/functions/joint.cpp
mips2c/functions/merc_blend_shape.cpp
mips2c/functions/sky_tng.cpp
mips2c/functions/sparticle.cpp
mips2c/functions/sparticle_launcher.cpp
mips2c/functions/test_func.cpp
mips2c/functions/texture.cpp
mips2c/functions/tfrag.cpp
mips2c/functions/time_of_day.cpp
overlord/dma.cpp
overlord/fake_iso.cpp
overlord/iso.cpp
overlord/iso_api.cpp
overlord/iso_cd.cpp
overlord/iso_queue.cpp
overlord/isocommon.cpp
overlord/overlord.cpp
overlord/ramdisk.cpp
overlord/sbank.cpp
overlord/soundcommon.cpp
overlord/srpc.cpp
overlord/ssound.cpp
overlord/stream.cpp
graphics/gfx.cpp
graphics/display.cpp
graphics/sceGraphicsInterface.cpp
graphics/opengl_renderer/BucketRenderer.cpp
graphics/opengl_renderer/debug_gui.cpp
graphics/opengl_renderer/DirectRenderer.cpp
graphics/opengl_renderer/dma_helpers.cpp
graphics/opengl_renderer/Loader.cpp
graphics/opengl_renderer/MercProgram.cpp
graphics/opengl_renderer/MercRenderer.cpp
graphics/opengl_renderer/OpenGLRenderer.cpp
graphics/opengl_renderer/Profiler.cpp
graphics/opengl_renderer/Shader.cpp
graphics/opengl_renderer/SkyBlendCPU.cpp
graphics/opengl_renderer/SkyBlendGPU.cpp
graphics/opengl_renderer/SkyRenderer.cpp
graphics/opengl_renderer/Sprite3.cpp
graphics/opengl_renderer/SpriteRenderer.cpp
graphics/opengl_renderer/TextureUploadHandler.cpp
graphics/opengl_renderer/tfrag/Tfrag3.cpp
graphics/opengl_renderer/tfrag/tfrag_common.cpp
graphics/opengl_renderer/tfrag/TFragment.cpp
graphics/opengl_renderer/tfrag/Tie3.cpp
graphics/texture/TextureConverter.cpp
graphics/texture/TexturePool.cpp
graphics/pipelines/opengl.cpp
system/vm/dmac.cpp
system/vm/vm.cpp)
# we build the runtime as a static library.
add_library(runtime STATIC ${RUNTIME_SOURCE} "../third-party/glad/src/glad.c")
target_link_libraries(runtime common fmt glfw imgui)
if(WIN32)
target_link_libraries(runtime mman)
else()
target_link_libraries(runtime pthread dl)
endif()
add_executable(gk main.cpp)
target_link_libraries(gk runtime)