diff --git a/.gitignore b/.gitignore index 0405639..a864c60 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,6 @@ gmqcc gmqpak qcvm testsuite + +build/ +.idea/ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..8a350af --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required(VERSION 2.8) +project(gmqcc) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") + +set(SOURCE_FILES + algo.h + ast.cpp ast.h + code.cpp + conout.cpp + fold.cpp fold.h + ftepp.cpp + gmqcc.h + intrin.cpp intrin.h + ir.cpp + ir.h + lexer.cpp lexer.h + opts.cpp + parser.cpp parser.h + stat.cpp + utf8.cpp + util.cpp) +add_library(gmqcclib ${SOURCE_FILES}) + +add_executable(gmqcc main.cpp) +target_link_libraries(gmqcc gmqcclib) + +add_executable(testsuite test.cpp) +target_link_libraries(testsuite gmqcclib) + +add_executable(qcvm exec.cpp) +target_link_libraries(qcvm gmqcclib)