From 7b0e1b164c252339843653619cf3a0cbedb64ae6 Mon Sep 17 00:00:00 2001 From: krasimir Date: Thu, 13 Apr 2017 14:23:26 +0000 Subject: [PATCH] =?UTF-8?q?add=20the=20CMakeLists.txt=20from=20Bj=C3=B8rna?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/runtime/c/CMakeLists.txt | 89 ++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 src/runtime/c/CMakeLists.txt diff --git a/src/runtime/c/CMakeLists.txt b/src/runtime/c/CMakeLists.txt new file mode 100644 index 000000000..3e97d8677 --- /dev/null +++ b/src/runtime/c/CMakeLists.txt @@ -0,0 +1,89 @@ +project(libpgf) +cmake_minimum_required(VERSION 2.8) + +set(GNU_LIGHTNING_ARCH "i386" CACHE STRING "Target architecture for GNU Lightning JIT") +#set(ADD_CFLAGS "-Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-value" CACHE STRING "Additional C compiler options") +set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +#set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-no-undefined") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 ${ADD_CFLAGS}") + +set(GNU_LIGHTNING_ARCH_HEADERS + pgf/lightning/${GNU_LIGHTNING_ARCH}/asm.h + pgf/lightning/${GNU_LIGHTNING_ARCH}/fp.h + pgf/lightning/${GNU_LIGHTNING_ARCH}/core.h + pgf/lightning/${GNU_LIGHTNING_ARCH}/funcs.h +) + +file(COPY ${GNU_LIGHTNING_ARCH_HEADERS} + DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/pgf/lightning/) + + +include_directories(.) +include_directories(./pgf) + + +set(libgu_la_SOURCES + gu/assert.c + gu/bits.c + gu/choice.c + gu/defs.c + gu/seq.c + gu/enum.c + gu/exn.c + gu/file.c + gu/fun.c + gu/hash.c + gu/in.c + gu/map.c + gu/mem.c + gu/out.c + gu/prime.c + gu/string.c + gu/utf8.c + gu/ucs.c + gu/variant.c +) + +set(libpgf_la_SOURCES + pgf/data.c + pgf/data.h + pgf/expr.c + pgf/expr.h + pgf/parser.c + pgf/jit.c + pgf/parseval.c + pgf/literals.c + pgf/literals.h + pgf/reader.h + pgf/reader.c + pgf/linearizer.c + pgf/typechecker.c + pgf/reasoner.c + pgf/evaluator.c + pgf/hopu.c + pgf/printer.c + pgf/graphviz.c + pgf/aligner.c + pgf/pgf.c + pgf/pgf.h +) + +set(libsg_la_SOURCES + sg/sqlite3Btree.c + sg/sg.c +) + + +add_library(gu SHARED ${libgu_la_SOURCES}) +#set_property(TARGET gu PROPERTY C_STANDARD 99) +#set_property(TARGET gu PROPERTY WINDOWS_EXPORT_ALL_SYMBOLS true) +target_compile_definitions(gu PRIVATE COMPILING_GU=1) + +add_library(pgf SHARED ${libpgf_la_SOURCES}) +#set_property(TARGET pgf PROPERTY C_STANDARD 99) +#set_property(TARGET pgf PROPERTY WINDOWS_EXPORT_ALL_SYMBOLS true) +target_compile_definitions(pgf PRIVATE COMPILING_PGF=1) +target_link_libraries(pgf gu) +if(UNIX) + target_link_libraries(pgf m) +endif(UNIX)