From cebb280fe546190e55e071b6adbf37cd47950f34 Mon Sep 17 00:00:00 2001 From: Collin Williams <96917990+bluedragon1221@users.noreply.github.com> Date: Mon, 11 May 2026 15:07:55 -0500 Subject: initial commit --- CMakeLists.txt | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 CMakeLists.txt (limited to 'CMakeLists.txt') 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() -- cgit v1.3.1