Skip to content

Commit b8b1acb

Browse files
committed
All in on CMake.
1 parent 48adfcf commit b8b1acb

File tree

2 files changed

+23
-12
lines changed

2 files changed

+23
-12
lines changed

ext/CMakeLists.txt

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,33 @@ cmake_minimum_required (VERSION 3.26)
33
set(CMAKE_CXX_STANDARD 17)
44
set(CMAKE_CXX_STANDARD_REQUIRED ON)
55

6-
# The Ruby extension is a shared library
6+
# Setup ruby extension
77
project(BitmapPlusPlus LANGUAGES CXX)
88
add_library (${CMAKE_PROJECT_NAME} SHARED)
99

10+
# Link to Rice git repo
11+
include(FetchContent)
12+
FetchContent_Declare(
13+
rice
14+
GIT_REPOSITORY https://github.com/ruby-rice/rice.git
15+
GIT_TAG dev
16+
)
17+
FetchContent_MakeAvailable(rice)
18+
19+
# Use FindRuby.cmake from Rice repo for now while upstream is being updated to support
20+
# the new Ruby targets
21+
list(PREPEND CMAKE_MODULE_PATH "${rice_SOURCE_DIR}")
22+
1023
# Find Ruby
11-
#find_package(Ruby REQUIRED)
12-
include("../../rice/FindRuby.cmake")
13-
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE ${Ruby_INCLUDE_DIR} ${Ruby_CONFIG_INCLUDE_DIR})
14-
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE ${Ruby_LIBRARY})
24+
find_package(Ruby REQUIRED)
25+
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE
26+
Ruby::Module
27+
)
1528

1629
# Rice headers
17-
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE "../../rice")
30+
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE
31+
rice::rice
32+
)
1833

1934
# BitmapPlusPlus.hpp headers
2035
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE .)
@@ -23,7 +38,7 @@ target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE .)
2338
get_target_property(RUBY_EXT_SUFFIX Ruby::Ruby INTERFACE_RUBY_EXTENSION_SUFFIX)
2439
set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES
2540
PREFIX ""
26-
SUFFIX "${RUBY_EXT_SUFFIX}"
41+
#SUFFIX "${RUBY_EXT_SUFFIX}"
2742
OUTPUT_NAME "bitmap_plus_plus_ruby"
2843
CXX_VISIBILITY_PRESET hidden
2944
VISIBILITY_INLINES_HIDDEN ON
@@ -34,4 +49,4 @@ set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES
3449
# Source code
3550
target_sources(${CMAKE_PROJECT_NAME} PRIVATE
3651
"${CMAKE_PROJECT_NAME}-rb.hpp"
37-
"${CMAKE_PROJECT_NAME}-rb.cpp")
52+
"${CMAKE_PROJECT_NAME}-rb.cpp")

ext/extconf.rb

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)