diff --git a/api/sixtyfps-cpp/CMakeLists.txt b/api/sixtyfps-cpp/CMakeLists.txt index 6fbb8cb29..61eae4327 100644 --- a/api/sixtyfps-cpp/CMakeLists.txt +++ b/api/sixtyfps-cpp/CMakeLists.txt @@ -24,6 +24,13 @@ add_library(SixtyFPS INTERFACE) add_library(SixtyFPS::SixtyFPS ALIAS SixtyFPS) target_link_libraries(SixtyFPS INTERFACE sixtyfps-cpp) target_compile_features(SixtyFPS INTERFACE cxx_std_17) +if (CMAKE_SIZEOF_VOID_P EQUAL 8) + target_compile_definitions(SixtyFPS INTERFACE SIXTYFPS_TARGET_64) +elseif (CMAKE_SIZEOF_VOID_P EQUAL 4) + target_compile_definitions(SixtyFPS INTERFACE SIXTYFPS_TARGET_32) +else() + message(FATAL_ERROR "Unsupported CPU target architecture where the pointer size is neiter 4 nor 8") +endif() file(GLOB api_headers RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/include/" "${CMAKE_CURRENT_SOURCE_DIR}/include/*.h") diff --git a/xtask/src/cbindgen.rs b/xtask/src/cbindgen.rs index a932d290f..caae25d30 100644 --- a/xtask/src/cbindgen.rs +++ b/xtask/src/cbindgen.rs @@ -33,6 +33,13 @@ fn default_config() -> cbindgen::Config { .collect(), ..Default::default() }, + defines: [ + ("target_pointer_width = 64".into(), "SIXTYFPS_TARGET_64".into()), + ("target_pointer_width = 32".into(), "SIXTYFPS_TARGET_32".into()), + ] + .iter() + .cloned() + .collect(), ..Default::default() } }