Skip to content

Commit 05e4ead

Browse files
committed
Add raylib extension
1 parent 58a44ec commit 05e4ead

File tree

7 files changed

+2272
-41
lines changed

7 files changed

+2272
-41
lines changed

.github/workflows/macos-build-extensions.yml

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ jobs:
2121
brew install zmq
2222
brew install leveldb
2323
brew install pcre
24+
brew install raylib
2425
- name: Installing dependency hiredis
2526
run: |
2627
git clone https://github.com/redis/hiredis.git

.github/workflows/ubuntu-build-extensions.yml

+10
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,16 @@ jobs:
3939
./configure
4040
make
4141
sudo make install
42+
- name: Installing dependency raylib
43+
run: |
44+
sudo apt install build-essential
45+
sudo apt install libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev
46+
git clone https://github.com/raysan5/raylib.git
47+
cd raylib
48+
mkdir build && cd build
49+
cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON ..
50+
make
51+
sudo make install
4252
- name: Configure CMake
4353
run: |
4454
cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=Debug -DBUILD_EXTENSIONS=1

examples/raylib.hk

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
//
2+
// raylib.hk
3+
//
4+
5+
import raylib as rl;
6+
7+
rl.InitWindow(800, 450, "raylib [core] example - basic window");
8+
9+
while (!rl.WindowShouldClose()) {
10+
rl.BeginDrawing();
11+
rl.ClearBackground(rl.RAYWHITE);
12+
rl.DrawText("Congrats! You created your first window!", 190, 200, 20, rl.LIGHTGRAY);
13+
rl.EndDrawing();
14+
}
15+
16+
rl.CloseWindow();

extensions/CMakeLists.txt

+24-25
Original file line numberDiff line numberDiff line change
@@ -17,38 +17,30 @@ if(MSVC)
1717
find_package(libmysql REQUIRED)
1818
endif()
1919

20-
if (MSVC)
20+
if(MSVC)
2121
include_directories("C:/Program Files (x86)/hiredis/include")
2222
link_directories("C:/Program Files (x86)/hiredis/lib")
2323
include_directories("C:/vcpkg/packages/fastcgi_x86-windows/include/fastcgi")
2424
link_directories("C:/vcpkg/packages/fastcgi_x86-windows/lib")
2525
endif()
2626

2727
if(APPLE)
28-
execute_process(
29-
COMMAND arch
30-
OUTPUT_VARIABLE ARCHITECTURE
31-
OUTPUT_STRIP_TRAILING_WHITESPACE
32-
)
33-
if(${ARCHITECTURE} STREQUAL "arm64")
34-
include_directories(/opt/homebrew/opt/mysql-client/include)
35-
link_directories(/opt/homebrew/opt/mysql-client/lib)
36-
include_directories(/opt/homebrew/opt/fcgi/include)
37-
link_directories(/opt/homebrew/opt/fcgi/lib)
38-
include_directories(/opt/homebrew/opt/gmp/include)
39-
link_directories(/opt/homebrew/opt/gmp/lib)
40-
include_directories(/opt/homebrew/opt/zeromq/include)
41-
link_directories(/opt/homebrew/opt/zeromq/lib)
42-
include_directories(/opt/homebrew/opt/leveldb/include)
43-
link_directories(/opt/homebrew/opt/leveldb/lib)
44-
include_directories(/opt/homebrew/opt/openssl/include)
45-
link_directories(/opt/homebrew/opt/openssl/lib)
46-
include_directories(/opt/homebrew/opt/pcre/include)
47-
link_directories(/opt/homebrew/opt/pcre/lib)
48-
else()
49-
include_directories(/usr/local/opt/mysql-client/include)
50-
link_directories(/usr/local/opt/mysql-client/lib)
51-
endif()
28+
include_directories(/opt/homebrew/opt/mysql-client/include)
29+
link_directories(/opt/homebrew/opt/mysql-client/lib)
30+
include_directories(/opt/homebrew/opt/fcgi/include)
31+
link_directories(/opt/homebrew/opt/fcgi/lib)
32+
include_directories(/opt/homebrew/opt/gmp/include)
33+
link_directories(/opt/homebrew/opt/gmp/lib)
34+
include_directories(/opt/homebrew/opt/zeromq/include)
35+
link_directories(/opt/homebrew/opt/zeromq/lib)
36+
include_directories(/opt/homebrew/opt/leveldb/include)
37+
link_directories(/opt/homebrew/opt/leveldb/lib)
38+
include_directories(/opt/homebrew/opt/openssl/include)
39+
link_directories(/opt/homebrew/opt/openssl/lib)
40+
include_directories(/opt/homebrew/opt/pcre/include)
41+
link_directories(/opt/homebrew/opt/pcre/lib)
42+
include_directories(/opt/homebrew/opt/raylib/include)
43+
link_directories(/opt/homebrew/opt/raylib/lib)
5244
endif()
5345

5446
add_library(sqlite_mod SHARED
@@ -107,6 +99,10 @@ add_library(geohash_mod SHARED
10799
"deps/geohash.c"
108100
)
109101

102+
add_library(raylib_mod SHARED
103+
"raylib_mod.c"
104+
)
105+
110106
target_link_libraries(sqlite_mod ${STATIC_LIB_TARGET})
111107
target_link_libraries(curl_mod ${STATIC_LIB_TARGET})
112108
target_link_libraries(redis_mod ${STATIC_LIB_TARGET})
@@ -120,6 +116,7 @@ target_link_libraries(crypto_mod ${STATIC_LIB_TARGET})
120116
target_link_libraries(regex_mod ${STATIC_LIB_TARGET})
121117
target_link_libraries(uuid_mod ${STATIC_LIB_TARGET})
122118
target_link_libraries(geohash_mod ${STATIC_LIB_TARGET})
119+
target_link_libraries(raylib_mod ${STATIC_LIB_TARGET})
123120

124121
set_target_properties(sqlite_mod PROPERTIES PREFIX "")
125122
set_target_properties(curl_mod PROPERTIES PREFIX "")
@@ -134,6 +131,7 @@ set_target_properties(crypto_mod PROPERTIES PREFIX "")
134131
set_target_properties(regex_mod PROPERTIES PREFIX "")
135132
set_target_properties(uuid_mod PROPERTIES PREFIX "")
136133
set_target_properties(geohash_mod PROPERTIES PREFIX "")
134+
set_target_properties(raylib_mod PROPERTIES PREFIX "")
137135

138136
if(MSVC)
139137
target_link_libraries(sqlite_mod PRIVATE SQLite::SQLite3)
@@ -158,3 +156,4 @@ endif()
158156
target_link_libraries(redis_mod hiredis)
159157
target_link_libraries(fastcgi_mod fcgi)
160158
target_link_libraries(bigint_mod gmp)
159+
target_link_libraries(raylib_mod raylib)

0 commit comments

Comments
 (0)