diff options
| author | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2026-05-11 15:07:55 -0500 |
|---|---|---|
| committer | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2026-05-11 15:07:55 -0500 |
| commit | cebb280fe546190e55e071b6adbf37cd47950f34 (patch) | |
| tree | 6e7a7605f8832b1c1bd7e467884a8792a5e1fab4 /CMakeLists.txt | |
initial commit
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() |
