2020-08-22 22:30:12 -04:00
|
|
|
# We define our own compilation flags here.
|
2020-10-03 18:36:02 -04:00
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
2020-08-26 20:02:44 -04:00
|
|
|
|
|
|
|
# Set default compile flags for GCC
|
2020-09-03 22:24:50 -04:00
|
|
|
# optimization level can be set here. Note that game/ overwrites this for building game C++ code.
|
2020-12-02 19:51:42 -05:00
|
|
|
if(UNIX)
|
2020-08-26 20:02:44 -04:00
|
|
|
message(STATUS "GCC detected, adding compile flags")
|
2020-12-02 19:51:42 -05:00
|
|
|
set(CMAKE_CXX_FLAGS
|
|
|
|
"${CMAKE_CXX_FLAGS} \
|
2020-09-03 22:37:00 -04:00
|
|
|
-Wall \
|
2020-12-02 19:51:42 -05:00
|
|
|
-Winit-self \
|
|
|
|
-ggdb \
|
2020-09-03 22:37:00 -04:00
|
|
|
-Wextra \
|
2020-12-02 19:51:42 -05:00
|
|
|
-Wno-cast-align \
|
2020-09-03 22:37:00 -04:00
|
|
|
-Wcast-qual \
|
|
|
|
-Wdisabled-optimization \
|
2020-12-02 19:51:42 -05:00
|
|
|
-Wformat \
|
2020-09-03 22:37:00 -04:00
|
|
|
-Wmissing-include-dirs \
|
|
|
|
-Woverloaded-virtual \
|
|
|
|
-Wredundant-decls \
|
|
|
|
-Wshadow \
|
2020-08-26 20:02:44 -04:00
|
|
|
-Wsign-promo")
|
2020-09-03 22:24:50 -04:00
|
|
|
else()
|
2021-03-09 23:51:28 -05:00
|
|
|
set(CMAKE_CXX_FLAGS "/EHsc")
|
2020-12-02 19:51:42 -05:00
|
|
|
endif(UNIX)
|
2020-08-22 22:30:12 -04:00
|
|
|
|
|
|
|
enable_language(ASM_NASM)
|
2020-08-28 20:26:27 -04:00
|
|
|
set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS ${CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS} asm)
|
2020-10-09 00:39:12 -04:00
|
|
|
set(CMAKE_ASM_NASM_COMPILE_OBJECT "<CMAKE_ASM_NASM_COMPILER> <INCLUDES> -f ${CMAKE_ASM_NASM_OBJECT_FORMAT} -o <OBJECT> <SOURCE>")
|
2020-08-28 20:26:27 -04:00
|
|
|
set_source_files_properties(kernel/asm_funcs.asm PROPERTIES COMPILE_FLAGS "-g")
|
2020-08-22 22:30:12 -04:00
|
|
|
set(RUNTIME_SOURCE
|
|
|
|
runtime.cpp
|
|
|
|
system/SystemThread.cpp
|
|
|
|
system/IOP_Kernel.cpp
|
|
|
|
system/iop_thread.cpp
|
|
|
|
system/Deci2Server.cpp
|
|
|
|
sce/libcdvd_ee.cpp
|
|
|
|
sce/libscf.cpp
|
2021-02-21 11:02:28 -05:00
|
|
|
sce/libdma.cpp
|
2021-02-22 09:36:30 -05:00
|
|
|
sce/libpad.cpp
|
2021-02-21 11:02:28 -05:00
|
|
|
sce/libgraph.cpp
|
2020-08-22 22:30:12 -04:00
|
|
|
sce/deci2.cpp
|
|
|
|
sce/sif_ee.cpp
|
|
|
|
sce/iop.cpp
|
|
|
|
sce/stubs.cpp
|
2020-08-28 20:26:27 -04:00
|
|
|
kernel/asm_funcs.asm
|
2020-08-22 22:30:12 -04:00
|
|
|
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
|
|
|
|
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
|
2021-03-09 23:51:28 -05:00
|
|
|
overlord/stream.cpp
|
2021-08-06 22:30:02 -04:00
|
|
|
graphics/dma/dma.cpp
|
2021-03-09 23:51:28 -05:00
|
|
|
graphics/gfx.cpp
|
2021-05-01 00:32:19 -04:00
|
|
|
graphics/display.cpp
|
2021-08-04 21:30:08 -04:00
|
|
|
graphics/sceGraphicsInterface.cpp
|
2021-08-06 22:30:02 -04:00
|
|
|
graphics/dma/dma_copy.cpp
|
2021-08-07 18:57:13 -04:00
|
|
|
graphics/dma/gs.cpp
|
|
|
|
graphics/opengl_renderer/BucketRenderer.cpp
|
|
|
|
graphics/opengl_renderer/DirectRenderer.cpp
|
2021-08-06 22:30:02 -04:00
|
|
|
graphics/opengl_renderer/OpenGLRenderer.cpp
|
|
|
|
graphics/opengl_renderer/Shader.cpp
|
2021-05-01 00:32:19 -04:00
|
|
|
system/vm/dmac.cpp
|
|
|
|
system/vm/vm.cpp)
|
2020-08-22 22:30:12 -04:00
|
|
|
|
2020-09-24 17:19:23 -04:00
|
|
|
|
2021-01-06 12:16:39 -05:00
|
|
|
# we build the runtime as a static library.
|
2021-03-11 12:54:16 -05:00
|
|
|
add_library(runtime STATIC ${RUNTIME_SOURCE} "../third-party/glad/src/glad.c")
|
2020-08-22 22:30:12 -04:00
|
|
|
|
2021-03-09 23:51:28 -05:00
|
|
|
target_link_libraries(runtime common fmt glfw)
|
2021-02-03 21:29:46 -05:00
|
|
|
if(WIN32)
|
2021-01-06 12:16:39 -05:00
|
|
|
target_link_libraries(runtime mman)
|
2021-02-03 21:29:46 -05:00
|
|
|
else()
|
2021-03-11 12:54:16 -05:00
|
|
|
target_link_libraries(runtime pthread dl)
|
2021-02-03 21:29:46 -05:00
|
|
|
endif()
|
2020-09-24 17:19:23 -04:00
|
|
|
|
2021-01-06 12:16:39 -05:00
|
|
|
add_executable(gk main.cpp)
|
|
|
|
target_link_libraries(gk runtime)
|
|
|
|
|
2021-02-03 21:29:46 -05:00
|
|
|
install(TARGETS gk)
|