diff options
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..d8cfcf6 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.16) +project(lemacs C) + +set(CMAKE_C_STANDARD 99) +set(CMAKE_C_STANDARD_REQUIRED ON) +set(CMAKE_C_EXTENSIONS OFF) + +find_package(PkgConfig REQUIRED) + +pkg_check_modules(RAYLIB REQUIRED IMPORTED_TARGET raylib) +pkg_check_modules(FONTCONFIG REQUIRED IMPORTED_TARGET fontconfig) + +find_package(Lua 5.4 QUIET) +if(Lua_FOUND) + set(LEMACS_LUA_LIBRARIES ${LUA_LIBRARIES}) + set(LEMACS_LUA_INCLUDE_DIRS ${LUA_INCLUDE_DIR}) +else() + pkg_check_modules(LUA54 REQUIRED IMPORTED_TARGET lua5.4) +endif() + +add_executable(lemacs + src/main.c + src/core/buffer.c + src/core/editor.c + src/core/lua_bridge.c +) + +target_compile_definitions(lemacs PRIVATE LEMACS_RUNTIME_INIT="${CMAKE_SOURCE_DIR}/runtime/init.lua") + +target_include_directories(lemacs + PRIVATE + src +) + +if(Lua_FOUND) + target_include_directories(lemacs PRIVATE ${LEMACS_LUA_INCLUDE_DIRS}) + target_link_libraries(lemacs PRIVATE PkgConfig::RAYLIB PkgConfig::FONTCONFIG ${LEMACS_LUA_LIBRARIES} m) +else() + target_link_libraries(lemacs PRIVATE PkgConfig::RAYLIB PkgConfig::FONTCONFIG PkgConfig::LUA54 m) +endif() |
