jak-project/goalc/CMakeLists.txt
water111 aa58d146c2
[goalc] register allocator v2 (#731)
* clean up allocator interface to be simpler

* working on functions without spills

* working for all

* fix missing includes for windows

* more windows includes

* initialize regs to zero so printing value unintiailized by game code is repeatable
2021-08-01 17:46:55 -04:00

62 lines
1.8 KiB
CMake

add_library(compiler
SHARED
emitter/CallingConvention.cpp
emitter/CodeTester.cpp
emitter/ObjectFileData.cpp
emitter/ObjectGenerator.cpp
emitter/Register.cpp
debugger/disassemble.cpp
compiler/Compiler.cpp
compiler/Env.cpp
compiler/Val.cpp
compiler/IR.cpp
compiler/CompilerSettings.cpp
compiler/CodeGenerator.cpp
compiler/StaticObject.cpp
compiler/compilation/Asm.cpp
compiler/compilation/Atoms.cpp
compiler/compilation/CompilerControl.cpp
compiler/compilation/Block.cpp
compiler/compilation/Macro.cpp
compiler/compilation/Math.cpp
compiler/compilation/Define.cpp
compiler/compilation/Debug.cpp
compiler/compilation/Function.cpp
compiler/compilation/ControlFlow.cpp
compiler/compilation/Type.cpp
compiler/compilation/Static.cpp
compiler/Util.cpp
data_compiler/game_text.cpp
data_compiler/dir_tpages.cpp
data_compiler/DataObjectGenerator.cpp
data_compiler/game_count.cpp
debugger/Debugger.cpp
debugger/DebugInfo.cpp
listener/Listener.cpp
listener/MemoryMap.cpp
make/MakeSystem.cpp
make/Tool.cpp
make/Tools.cpp
regalloc/IRegister.cpp
regalloc/Allocator.cpp
regalloc/allocator_interface.cpp
regalloc/Allocator_v2.cpp
)
target_link_libraries(compiler common Zydis)
if (WIN32)
target_link_libraries(compiler mman)
endif ()
if (UNIX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
elseif (WIN32)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /O2")
endif ()
add_executable(goalc main.cpp)
target_link_libraries(goalc common Zydis compiler)
install(TARGETS goalc)