Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev #237

Merged
merged 33 commits into from
Jan 13, 2025
Merged

Dev #237

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
595f338
Add API TypeRegistry#getType to retrieve information about a previous…
cfis Jan 2, 2025
33b048a
Formatting.
cfis Jan 2, 2025
5736806
Add ability to define classes using a Identifier - this allows creati…
cfis Jan 2, 2025
0e76ffd
Rewrite auto generation of STL classes (vector, map, unorderedmap) to…
cfis Jan 2, 2025
95eba69
Revamp Convertible so it does a better job selecting which overloaded…
cfis Jan 6, 2025
cc75f01
Make clang happy.
cfis Jan 7, 2025
83b4eb1
Map std::length_error and std::out_of_range to Ruby IndexError which …
cfis Jan 8, 2025
d7021b6
Remove duplicate headers.
cfis Jan 8, 2025
a57ea13
Add API to take a slice of a std::vector like can be done for a Ruby …
cfis Jan 8, 2025
b0b9a69
Change logic of From_Ruby when dealing with pointers. Previously the …
cfis Jan 9, 2025
f902f4d
Make const placement consistent with rest of code base and change var…
cfis Jan 9, 2025
f5ddce2
Improve To_Ruby<char*> handling.
cfis Jan 9, 2025
1ea6b29
Support volatile ints.
cfis Jan 11, 2025
74b2c6c
Add support for std::type_index and complete std::type_info
cfis Jan 11, 2025
2c2ce0e
Remove unused headers
cfis Jan 11, 2025
17c15b1
Add test for trying to take ownership of a non-copyable object.
cfis Jan 11, 2025
28208b6
No point in testing on Ruby 3.4 until bugs are fixed.
cfis Jan 11, 2025
21aaa76
Get build working, remove BOMs, dos2nix all files, remove some duplic…
cfis Jan 11, 2025
bd15c80
Get compilation working again, fix duplicate symbols issue.
cfis Jan 11, 2025
1b8a5cf
Updated headers
cfis Jan 11, 2025
20f8058
Be consistent on std module variable name.
cfis Jan 12, 2025
7e89dc6
Set output to utf8 on windows.
cfis Jan 12, 2025
b31db86
Fix test failures.
cfis Jan 12, 2025
962005e
Change test order to be consistent.
cfis Jan 12, 2025
0a677df
Fixing tests on Linux
cfisoi Jan 12, 2025
3e20da9
Fix tests on MSVC and do and deal with converting x_x to camelCase
cfis Jan 12, 2025
5739e5a
Remove windows specific code.
cfis Jan 12, 2025
994bd44
Update include headers
cfisoi Jan 12, 2025
70f8074
Formatting
cfisoi Jan 12, 2025
5980f7f
Fix spelling mistake
cfisoi Jan 12, 2025
28a6af3
Get MacOS compiling again
cfisoi Jan 12, 2025
1d0139c
Fix tests on MacOS
cfis Jan 12, 2025
cb17ea3
Fix failing mingw64 tests.
cfis Jan 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
ruby: ['3.1', '3.2', '3.3', '3.4']
ruby: ['3.1', '3.2', '3.3']
exclude:
# There's something wrong with this setup in GHA such that
# it gets weird linking errors, however I'm unable to reproduce
Expand Down
16 changes: 9 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,15 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
# For older versions of CMake can use include("./FindRuby.cmake")
find_package("Ruby")

if (MSVC)
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<IF:$<AND:$<C_COMPILER_ID:MSVC>,$<CXX_COMPILER_ID:MSVC>>,$<$<CONFIG:Debug,RelWithDebInfo>:EditAndContinue>,$<$<CONFIG:Debug,RelWithDebInfo>:ProgramDatabase>>")
add_compile_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
add_compile_options(/bigobj)
add_compile_options(/bigobj /utf-8)
# The default of /EHsc crashes Ruby when calling longjmp with optimizations on (/O2)
string(REGEX REPLACE "/EHsc" "/EHs" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
else (GCC)
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
add_compile_definitions(-D_CRT_SECURE_NO_WARNINGS)
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
add_compile_options(-ftemplate-backtrace-limit=0)
# https://github.com/doxygen/doxygen/issues/9269#issuecomment-1094975328
#add_compile_options(unittest PRIVATE -Wa,-mbig-obj)
Expand All @@ -23,7 +25,7 @@ endif ()

# Include sub-projects.
add_subdirectory ("test")
add_subdirectory ("sample/callbacks")
add_subdirectory ("sample/enum")
add_subdirectory ("sample/inheritance")
add_subdirectory ("sample/map")
#add_subdirectory ("sample/callbacks")
#add_subdirectory ("sample/enum")
#add_subdirectory ("sample/inheritance")
#add_subdirectory ("sample/map")
17 changes: 16 additions & 1 deletion CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
},
{
"name": "x64-debug",
"displayName": "x64 Debug",
"displayName": "MSVC++ Debug",
"inherits": "windows-base",
"architecture": {
"value": "x64",
Expand Down Expand Up @@ -55,6 +55,21 @@
"sourceDir": "$env{HOME}/.vs/$ms{projectDirName}"
}
}
},
{
"name": "x64_debug_clang",
"displayName": "Clang Debug",
"description": "Target Windows (64-bit) with the Visual Studio development environment. (Debug)",
"inherits": "windows-base",
"architecture": {
"value": "x64",
"strategy": "external"
},
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_C_COMPILER": "clang.exe",
"CMAKE_CXX_COMPILER": "clang.exe"
}
}
]
}
Loading
Loading