blob: d8cfcf6bd2a844a1535a51b9a7914f4c49436c26 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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()
|