tlang-c/libtlang/CMakeLists.txt

45 lines
2.1 KiB
CMake
Raw Normal View History

2023-05-10 11:17:11 +00:00
project(tlanginterp)
add_library(tlanginterp STATIC src/addnode.c src/bit.c src/bitwiseand.c src/bitwiseor.c src/breaknode.c src/bwnot.c src/closurenode.c src/constnode.c src/curl.c src/dict.c src/dirittr.c src/dividenode.c src/eachnode.c src/eq.c src/forloop.c src/fs.c src/functioncallnode.c src/getarraynode.c src/getmembernode.c src/getvariablenode.c src/getvariablenode.c src/greaterthan.c src/greaterthanequal.c src/if.c src/ittr.c src/json.c src/leftshift.c src/lessthan.c src/lessthanequal.c src/lexer.c src/lextokenlist.c src/listittr.c src/logicaland.c src/logicalor.c src/mbed.c src/methodcallnode.c src/modulonode.c src/multiplynode.c src/neg.c src/neq.c src/net.c src/nodetwo.c src/not.c src/parser.c src/postfixdecrementnode.c src/postfixincrementnode.c src/rand.c src/returnnode.c src/rightshift.c src/runtime.c src/scope.c src/scopenode.c src/sdl2.c src/setvariablenode.c src/stream.c src/string.c src/stringittr.c src/subnode.c src/switch.c src/threading.c src/tobject.c src/whileloop.c src/wpad-wii.c src/xor.c include/FreeMonoBold.h include/myfeatures.h include/tlang_version.h include/tlang.h)
2023-05-10 11:20:56 +00:00
add_definitions(-DCMAKE_TLANG_BUILD)
2023-05-10 11:35:58 +00:00
option(USE_SDL "Enable SDL2" ON)
2023-05-10 11:17:11 +00:00
option(USE_NETWORK "Enable Networking" ON)
2023-05-10 11:35:58 +00:00
option(USE_CURL "Enable curl" ON)
option(USE_JANSSON "Use JANSSON (JSON)" ON)
2023-05-10 11:17:11 +00:00
option(USE_THREAD "Use Threading" ON)
if(USE_THREAD)
add_definitions(-DUSE_THREADS)
target_link_libraries(tlanginterp pthread)
endif()
if(USE_NETWORK)
add_definitions(-DUSE_NETWORK)
endif()
if(USE_SDL)
add_definitions(-DUSE_SDL2)
find_package(SDL2 REQUIRED)
target_link_libraries(tlanginterp SDL2_gfx SDL2_image SDL2_mixer SDL2_ttf)
include_directories(${SDL2_INCLUDE_DIRS})
target_link_libraries(tlanginterp ${SDL2_LIBRARIES})
endif()
if(USE_CURL)
add_definitions(-DUSE_CURL)
find_package(CURL REQUIRED)
include_directories(${CURL_INCLUDE_DIRS})
target_link_libraries(tlanginterp ${CURL_LIBRARIES})
endif()
if(USE_JANSSON)
add_definitions(-DUSE_JANSSON)
target_link_libraries(tlanginterp jansson)
endif()
target_link_libraries(tlanginterp m)
target_include_directories(tlanginterp PUBLIC "${PROJECT_BINARY_DIR}"
"${PROJECT_SOURCE_DIR}/include")