first impl of builtin member methods (thus far, string.size implemented. more to...
[aqualang.git] / CMakeLists.txt
blob1f114902a0c5d6d96e2925c256a379dadfaf8b02
2 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
3 Project(jtc)
5 set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/etc")
6 set(CMAKE_ALLOW_DUPLICATE_CUSTOM_TARGETS  TRUE)
7 include(cotire)
9 set(name "jtc")
10 set(exename ${name}-exe)
11 set(libname ${name}-library)
13 set(libsources
14     "src/ops.cpp"
15     "src/ops.statement.cpp"
16     "src/ops.member.cpp"
17     "src/builtin.string.cpp"
18     "src/builtin.table.cpp"
19     "src/builtin.array.cpp"
20     "src/common.cpp"
21     "src/interp.cpp"
22     "src/stdlib.cpp"
23     "src/stdlib.file.cpp"
25 set(binsources
26     "src/main.cpp"
29 include_directories("include")
30 add_definitions(
31     "-std=c++11"
32     "-Wall" "-Wextra"
33     "-s" "-Wl,-s" "-Os"
36 # library first
37 # praise cmake for making things easier!
38 add_library(${libname} SHARED ${libsources})
39 SET_TARGET_PROPERTIES(${libname} PROPERTIES OUTPUT_NAME ${name})
40 target_link_libraries(${libname})
41 cotire(${libname})
43 # exe next
44 add_executable(${exename} ${binsources})
45 SET_TARGET_PROPERTIES(${exename} PROPERTIES OUTPUT_NAME ${name})
46 target_link_libraries(${exename} ${libname})
47 cotire(${exename})