diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 503f1fb..dcbf361 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,53 +15,53 @@ jobs: fail-fast: false matrix: config: - - name: Windows MSVC Release + - name: Windows MSVC os: windows os-version: 2022 environment: msvc shell: pwsh - - name: Windows MingGW Release + - name: Windows MingGW os: windows os-version: 2022 environment: mingw architecture: x86_64 shell: 'msys2 {0}' - - name: Windows UCRT Release + - name: Windows UCRT os: windows os-version: 2022 environment: ucrt architecture: ucrt-x86_64 shell: 'msys2 {0}' - - name: Linux Release + - name: Linux os: ubuntu os-version: 24.04 use-clang: false shell: bash - - name: Linux Clang Release (libstdc++) + - name: Linux Clang (libstdc++) os: ubuntu os-version: 24.04 use-clang: true use-clang_stdlib: false shell: bash - - name: Linux Clang Release (libc++) + - name: Linux Clang (libc++) os: ubuntu os-version: 24.04 use-clang: true use-clang_stdlib: true shell: bash - - name: MacOS Release + - name: MacOS os: macos os-version: 13 arm: false shell: bash - - name: MacOS Release (Arm64) + - name: MacOS (Arm64) os: macos os-version: 14 arm: true @@ -183,24 +183,13 @@ jobs: choco install pkgconfiglite echo "PKG_CONFIG_PATH=C:/lib/pkgconfig" | Out-File -FilePath $env:GITHUB_ENV -Append - - name: Configure OOPetris + - name: Build and Install OOPetris run: | cd oopetris - meson setup build -Dbuildtype=release -Ddefault_library=static -Dclang_libcpp=${{ ( ( matrix.config.os == 'ubuntu' && matrix.config.use-clang == true && matrix.config.use-clang_stdlib ) || matrix.config.os == 'macos' ) && 'enabled' || 'disabled' }} -Donly_build_libs=true ${{ matrix.config.os == 'windows' && '-Db_vscrt=from_buildtype' || '' }} ${{ (matrix.config.os == 'windows' && ( matrix.config.environment == 'mingw' || matrix.config.environment == 'ucrt' )) && '-Dprefix=$RUNNER_TEMP/msys64${MINGW_PREFIX}/' || ''}} - - - name: Build and install Libs - if: matrix.config.os != 'ubuntu' - run: | - cd oopetris - meson install -C build - - - name: Build and install Libs (Linux) - if: matrix.config.os == 'ubuntu' - run: | - cd oopetris - sudo meson install -C build + meson setup build -Dbuildtype=release -Ddefault_library=shared -Dclang_libcpp=${{ ( ( matrix.config.os == 'ubuntu' && matrix.config.use-clang == true && matrix.config.use-clang_stdlib ) || matrix.config.os == 'macos' ) && 'enabled' || 'disabled' }} -Donly_build_libs=true ${{ matrix.config.os == 'windows' && '-Db_vscrt=from_buildtype' || '' }} ${{ (matrix.config.os == 'windows' && ( matrix.config.environment == 'mingw' || matrix.config.environment == 'ucrt' )) && '-Dprefix=$RUNNER_TEMP/msys64${MINGW_PREFIX}/' || ''}} + ${{ matrix.config.os == 'ubuntu' && 'sudo' || '' }} meson install -C build - name: Build Wrapper run: | - meson setup -Dtests=false -Dexample=true build -Dbuildtype=release -Ddefault_library=static -Dclang_libcpp=${{ ( ( matrix.config.os == 'ubuntu' && matrix.config.use-clang == true && matrix.config.use-clang_stdlib ) || matrix.config.os == 'macos' ) && 'enabled' || 'disabled' }} ${{ matrix.config.os == 'windows' && '-Db_vscrt=from_buildtype' || '' }} + meson setup -Dtests=false -Dexample=true build -Dbuildtype=release -Ddefault_library=shared -Dclang_libcpp=${{ ( ( matrix.config.os == 'ubuntu' && matrix.config.use-clang == true && matrix.config.use-clang_stdlib ) || matrix.config.os == 'macos' ) && 'enabled' || 'disabled' }} ${{ matrix.config.os == 'windows' && '-Db_vscrt=from_buildtype' || '' }} meson compile -C build diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 791f23b..f6a9fe6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -43,20 +43,17 @@ jobs: sudo apt-get update sudo apt-get install ninja-build valgrind gcovr libcriterion-dev libreadline-dev -y --no-install-recommends - - name: Configure OOPetris - run: | - cd oopetris - meson setup build -Db_coverage=true -Dbuildtype=debugoptimized -Ddefault_library=shared -Dclang_libcpp=enabled -Donly_build_libs=true -Dprefix=/usr - - - name: Build and install Libs + - name: Build and Install OOPetris run: | cd oopetris + meson setup build -Db_coverage=true -Dbuildtype=debugoptimized -Ddefault_library=shared -Dclang_libcpp=enabled -Donly_build_libs=true sudo meson install -C build - name: Build Wrapper run: | - meson setup build -Db_coverage=true -Dbuildtype=debugoptimized -Ddefault_library=shared -Dclang_libcpp=enabled -Dtests=true -Dexample=true -Dprefix=/usr + meson setup build -Db_coverage=true -Dbuildtype=debugoptimized -Ddefault_library=shared -Dclang_libcpp=enabled -Dtests=true -Dexample=true meson compile -C build + sudo ldconfig - name: Test Wrapper run: | @@ -81,7 +78,7 @@ jobs: ./build/meson-logs/coverage.xml ./build/meson-logs/coveragereport/ - - name: Test for leaks with valgrind (Linux) + - name: Test for leaks with valgrind run: | valgrind --tool=memcheck --leak-check=full --error-exitcode=1 ./build/example/example r ./tests/files/correct.rec valgrind --tool=memcheck --leak-check=full --error-exitcode=1 cat ./tests/files/example.rec_text | ./build/example/example w ./test.rec diff --git a/example/main.c b/example/main.c index 264e6ef..bbf88a7 100644 --- a/example/main.c +++ b/example/main.c @@ -1,5 +1,5 @@ -#include "oopetris_wrapper.h" +#include #include #include diff --git a/meson.build b/meson.build index 36402a5..6d991fd 100644 --- a/meson.build +++ b/meson.build @@ -27,6 +27,7 @@ liboopetris_c_wrapper = library( 'oopetris_c_wrapper', src_files, dependencies: deps, + cpp_shared_args: ['-DOOPETRIS_LIBRARY_C_WRAPPER_EXPORT'], override_options: { 'warning_level': '3', 'werror': true, @@ -43,6 +44,14 @@ liboopetris_c_wrapper_dep = declare_dependency( ) meson.override_dependency('liboopetris-c-wrapper', liboopetris_c_wrapper_dep) +cpp = meson.get_compiler('cpp') + +pkg_cpp_compiler = cpp.get_id() +pkg_cpp_stdlib = 'unknown' +if cpp.get_id() == 'clang' + pkg_cpp_stdlib = build_with_libcpp ? 'libc++' : 'libstdc++' +endif + # generate pkgconfig files pkg = import('pkgconfig') pkg.generate( @@ -51,6 +60,7 @@ pkg.generate( name: 'oopetris-c-wrapper', filebase: 'oopetris-c-wrapper', subdirs: 'oopetris', + variables: ['compiler=' + pkg_cpp_compiler, 'cpp_stdlib=' + pkg_cpp_stdlib], ) if get_option('tests') diff --git a/src/c_wrapper/meson.build b/src/c_wrapper/meson.build new file mode 100644 index 0000000..f835ebc --- /dev/null +++ b/src/c_wrapper/meson.build @@ -0,0 +1,19 @@ +_header_files = files( + 'windows.h', + 'wrapper.h', +) + +src_files += files( + 'opaque_types.h', # not needed to be installed + 'wrapper.cpp', +) + +install_headers( + _header_files, + install_dir: c_wrapper_include_dir, + preserve_path: true, +) + +src_files += _header_files + +subdir('thirdparty') diff --git a/src/opaque_types.h b/src/c_wrapper/opaque_types.h similarity index 96% rename from src/opaque_types.h rename to src/c_wrapper/opaque_types.h index 07bc451..195e4f5 100644 --- a/src/opaque_types.h +++ b/src/c_wrapper/opaque_types.h @@ -2,7 +2,7 @@ #pragma once -#include "oopetris_wrapper.h" +#include "./wrapper.h" #ifdef __cplusplus extern "C" { diff --git a/src/c_wrapper/thirdparty/meson.build b/src/c_wrapper/thirdparty/meson.build new file mode 100644 index 0000000..a3cea8c --- /dev/null +++ b/src/c_wrapper/thirdparty/meson.build @@ -0,0 +1,11 @@ +_header_files = files( + 'stb_ds.h', +) + +install_headers( + _header_files, + install_dir: c_wrapper_include_dir / 'thirdparty', + preserve_path: true, +) + +src_files += _header_files diff --git a/src/thirdparty/stb_ds.h b/src/c_wrapper/thirdparty/stb_ds.h similarity index 100% rename from src/thirdparty/stb_ds.h rename to src/c_wrapper/thirdparty/stb_ds.h diff --git a/src/c_wrapper/windows.h b/src/c_wrapper/windows.h new file mode 100644 index 0000000..d40eb22 --- /dev/null +++ b/src/c_wrapper/windows.h @@ -0,0 +1,21 @@ +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + + +#if defined(_MSC_VER) +#if defined(OOPETRIS_LIBRARY_C_WRAPPER_EXPORT) +#define OOPETRIS_C_WRAPPER_EXPORTED __declspec(dllexport) +#else +#define OOPETRIS_C_WRAPPER_EXPORTED __declspec(dllimport) +#endif +#else +#define OOPETRIS_C_WRAPPER_EXPORTED +#endif + + +#ifdef __cplusplus +} +#endif diff --git a/src/wrapper.cpp b/src/c_wrapper/wrapper.cpp similarity index 99% rename from src/wrapper.cpp rename to src/c_wrapper/wrapper.cpp index ce6d111..711d28c 100644 --- a/src/wrapper.cpp +++ b/src/c_wrapper/wrapper.cpp @@ -1,12 +1,15 @@ -#include "core/game/mino_stack.hpp" -#include "core/game/tetromino_type.hpp" -#include "core/helper/input_event.hpp" -#include "oopetris_wrapper.h" -#include "opaque_types.h" -#include "recordings/utility/additional_information.hpp" -#include "recordings/utility/recording_writer.hpp" +#include +#include +#include +#include +#include +#include + +#include "./opaque_types.h" +#include "./wrapper.h" + #include #include #include @@ -32,7 +35,6 @@ #include #include #include -#include bool oopetris_is_recording_file(const char* file_path) { diff --git a/src/oopetris_wrapper.h b/src/c_wrapper/wrapper.h similarity index 52% rename from src/oopetris_wrapper.h rename to src/c_wrapper/wrapper.h index 71433e1..8e6fe27 100644 --- a/src/oopetris_wrapper.h +++ b/src/c_wrapper/wrapper.h @@ -30,6 +30,7 @@ #define OOPETRIS_MALLOC(s) OOPETRIS_REALLOC(NULL, s) #include "./thirdparty/stb_ds.h" +#include "./windows.h" #ifdef __cplusplus @@ -44,7 +45,7 @@ extern "C" { * @param file_path The FilePath of the potential recording file * @return bool */ -bool oopetris_is_recording_file(const char* file_path); +OOPETRIS_C_WRAPPER_EXPORTED bool oopetris_is_recording_file(const char* file_path); // opaque type typedef struct OOPetrisAdditionalInformationImpl OOPetrisAdditionalInformation; @@ -52,12 +53,14 @@ typedef struct OOPetrisAdditionalInformationImpl OOPetrisAdditionalInformation; // opaque type typedef struct OOPetrisAdditionalInformationFieldImpl OOPetrisAdditionalInformationField; -const char** oopetris_additional_information_get_keys(OOPetrisAdditionalInformation* information); +OOPETRIS_C_WRAPPER_EXPORTED const char** oopetris_additional_information_get_keys( + OOPetrisAdditionalInformation* information +); -void oopetris_additional_information_keys_free(const char** keys); +OOPETRIS_C_WRAPPER_EXPORTED void oopetris_additional_information_keys_free(const char** keys); -const OOPetrisAdditionalInformationField* +OOPETRIS_C_WRAPPER_EXPORTED const OOPetrisAdditionalInformationField* oopetris_additional_information_get_field(OOPetrisAdditionalInformation* information, const char* key); @@ -77,34 +80,46 @@ typedef enum { } OOPetrisAdditionalInformationType; -OOPetrisAdditionalInformationType oopetris_additional_information_field_get_type( +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationType +oopetris_additional_information_field_get_type(const OOPetrisAdditionalInformationField* const field); + +OOPETRIS_C_WRAPPER_EXPORTED const char* oopetris_additional_information_field_get_string( const OOPetrisAdditionalInformationField* const field ); -const char* oopetris_additional_information_field_get_string(const OOPetrisAdditionalInformationField* const field); - -float oopetris_additional_information_field_get_float(const OOPetrisAdditionalInformationField* const field); +OOPETRIS_C_WRAPPER_EXPORTED float oopetris_additional_information_field_get_float( + const OOPetrisAdditionalInformationField* const field +); -double oopetris_additional_information_field_get_double(const OOPetrisAdditionalInformationField* const field); +OOPETRIS_C_WRAPPER_EXPORTED double oopetris_additional_information_field_get_double( + const OOPetrisAdditionalInformationField* const field +); -bool oopetris_additional_information_field_get_bool(const OOPetrisAdditionalInformationField* const field); +OOPETRIS_C_WRAPPER_EXPORTED bool oopetris_additional_information_field_get_bool( + const OOPetrisAdditionalInformationField* const field +); -uint8_t oopetris_additional_information_field_get_u8(const OOPetrisAdditionalInformationField* const field); +OOPETRIS_C_WRAPPER_EXPORTED uint8_t +oopetris_additional_information_field_get_u8(const OOPetrisAdditionalInformationField* const field); -int8_t oopetris_additional_information_field_get_i8(const OOPetrisAdditionalInformationField* const field); +OOPETRIS_C_WRAPPER_EXPORTED int8_t +oopetris_additional_information_field_get_i8(const OOPetrisAdditionalInformationField* const field); -uint32_t oopetris_additional_information_field_get_u32(const OOPetrisAdditionalInformationField* const field); +OOPETRIS_C_WRAPPER_EXPORTED uint32_t +oopetris_additional_information_field_get_u32(const OOPetrisAdditionalInformationField* const field); -int32_t oopetris_additional_information_field_get_i32(const OOPetrisAdditionalInformationField* const field); +OOPETRIS_C_WRAPPER_EXPORTED int32_t +oopetris_additional_information_field_get_i32(const OOPetrisAdditionalInformationField* const field); -uint64_t oopetris_additional_information_field_get_u64(const OOPetrisAdditionalInformationField* const field); +OOPETRIS_C_WRAPPER_EXPORTED uint64_t +oopetris_additional_information_field_get_u64(const OOPetrisAdditionalInformationField* const field); -int64_t oopetris_additional_information_field_get_i64(const OOPetrisAdditionalInformationField* const field); +OOPETRIS_C_WRAPPER_EXPORTED int64_t +oopetris_additional_information_field_get_i64(const OOPetrisAdditionalInformationField* const field); -const OOPetrisAdditionalInformationField* const* oopetris_additional_information_field_get_vector( - const OOPetrisAdditionalInformationField* const field -); +OOPETRIS_C_WRAPPER_EXPORTED const OOPetrisAdditionalInformationField* const* +oopetris_additional_information_field_get_vector(const OOPetrisAdditionalInformationField* const field); //TODO(): once we only support C23 (which also the compiled lib has to support ), add underlying enum type uint8_t @@ -192,7 +207,7 @@ typedef struct OOPetrisRecordingReturnValueImpl OOPetrisRecordingReturnValue; * @param file_path The FilePath of the recording file * @return OOPetrisRecordingReturnValue* */ -OOPetrisRecordingReturnValue* oopetris_get_recording_information(const char* file_path); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisRecordingReturnValue* oopetris_get_recording_information(const char* file_path); /** * @brief Determine if the given OOPetrisRecordingReturnValue* is an error or not, after calling this you can call either oopetris_get_error or oopetris_get_information. This has to be freed later, but pay attention, which free function you use, read more in the description of oopetris_free_recording_value @@ -200,31 +215,31 @@ OOPetrisRecordingReturnValue* oopetris_get_recording_information(const char* fil * @param value The return value of oopetris_get_recording_information * @return bool */ -bool oopetris_is_error(OOPetrisRecordingReturnValue* value); +OOPETRIS_C_WRAPPER_EXPORTED bool oopetris_is_error(OOPetrisRecordingReturnValue* value); -const char* oopetris_get_error(OOPetrisRecordingReturnValue* value); +OOPETRIS_C_WRAPPER_EXPORTED const char* oopetris_get_error(OOPetrisRecordingReturnValue* value); -OOPetrisRecordingInformation* oopetris_get_information(OOPetrisRecordingReturnValue* value); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisRecordingInformation* oopetris_get_information(OOPetrisRecordingReturnValue* value); -void oopetris_free_recording_information(OOPetrisRecordingInformation* information); +OOPETRIS_C_WRAPPER_EXPORTED void oopetris_free_recording_information(OOPetrisRecordingInformation* information); -void oopetris_free_recording_value_only(OOPetrisRecordingReturnValue* information); +OOPETRIS_C_WRAPPER_EXPORTED void oopetris_free_recording_value_only(OOPetrisRecordingReturnValue* information); -void oopetris_free_recording_value_whole(OOPetrisRecordingReturnValue* information); +OOPETRIS_C_WRAPPER_EXPORTED void oopetris_free_recording_value_whole(OOPetrisRecordingReturnValue* information); -const char* oopetris_get_lib_version(void); +OOPETRIS_C_WRAPPER_EXPORTED const char* oopetris_get_lib_version(void); typedef struct { uint32_t height; uint32_t width; } OOPetrisGridProperties; -OOPetrisGridProperties* oopetris_get_grid_properties(void); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisGridProperties* oopetris_get_grid_properties(void); -void oopetris_free_grid_properties(OOPetrisGridProperties* properties); +OOPETRIS_C_WRAPPER_EXPORTED void oopetris_free_grid_properties(OOPetrisGridProperties* properties); -size_t oopetris_array_len(void* const array); +OOPETRIS_C_WRAPPER_EXPORTED size_t oopetris_array_len(void* const array); #define FREE_AND_SET_NULL(fn, obj) \ do { \ @@ -235,7 +250,7 @@ size_t oopetris_array_len(void* const array); // CREATION functions -OOPetrisRecordingInformation* oopetris_create_recording_information(void); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisRecordingInformation* oopetris_create_recording_information(void); void oopetris_add_information_field( OOPetrisAdditionalInformation* additional_information, @@ -244,42 +259,61 @@ void oopetris_add_information_field( ); -OOPetrisAdditionalInformationField* oopetris_additional_information_create_string(const char* value); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationField* oopetris_additional_information_create_string( + const char* value +); -OOPetrisAdditionalInformationField* oopetris_additional_information_create_float(float value); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationField* oopetris_additional_information_create_float(float value +); -OOPetrisAdditionalInformationField* oopetris_additional_information_create_double(double value); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationField* oopetris_additional_information_create_double( + double value +); -OOPetrisAdditionalInformationField* oopetris_additional_information_create_bool(bool value); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationField* oopetris_additional_information_create_bool(bool value); -OOPetrisAdditionalInformationField* oopetris_additional_information_create_u8(uint8_t value); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationField* oopetris_additional_information_create_u8(uint8_t value +); -OOPetrisAdditionalInformationField* oopetris_additional_information_create_i8(int8_t value); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationField* oopetris_additional_information_create_i8(int8_t value); -OOPetrisAdditionalInformationField* oopetris_additional_information_create_u32(uint32_t value); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationField* oopetris_additional_information_create_u32( + uint32_t value +); -OOPetrisAdditionalInformationField* oopetris_additional_information_create_i32(int32_t value); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationField* oopetris_additional_information_create_i32(int32_t value +); -OOPetrisAdditionalInformationField* oopetris_additional_information_create_u64(uint64_t value); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationField* oopetris_additional_information_create_u64( + uint64_t value +); -OOPetrisAdditionalInformationField* oopetris_additional_information_create_i64(int64_t value); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationField* oopetris_additional_information_create_i64(int64_t value +); -OOPetrisAdditionalInformationField** oopetris_additional_information_create_empty_vector(void); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationField** oopetris_additional_information_create_empty_vector( + void +); -OOPetrisAdditionalInformationField** oopetris_additional_information_create_vector_with_size(size_t size); +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationField** +oopetris_additional_information_create_vector_with_size(size_t size); -OOPetrisAdditionalInformationField* oopetris_additional_information_create_vector( +OOPETRIS_C_WRAPPER_EXPORTED OOPetrisAdditionalInformationField* oopetris_additional_information_create_vector( OOPetrisAdditionalInformationField** value ); -void oopetris_add_record(OOPetrisRecordingInformation* information, OOPetrisTetrionRecord record); +OOPETRIS_C_WRAPPER_EXPORTED void +oopetris_add_record(OOPetrisRecordingInformation* information, OOPetrisTetrionRecord record); -void oopetris_add_snapshot(OOPetrisRecordingInformation* information, OOPetrisTetrionSnapshot snapshot); +OOPETRIS_C_WRAPPER_EXPORTED void +oopetris_add_snapshot(OOPetrisRecordingInformation* information, OOPetrisTetrionSnapshot snapshot); -void oopetris_add_header(OOPetrisRecordingInformation* information, OOPetrisTetrionHeader tetrion_header); +OOPETRIS_C_WRAPPER_EXPORTED void +oopetris_add_header(OOPetrisRecordingInformation* information, OOPetrisTetrionHeader tetrion_header); -char* oopetris_write_to_file(OOPetrisRecordingInformation* information, const char* file_path, bool overwrite); +OOPETRIS_C_WRAPPER_EXPORTED char* +oopetris_write_to_file(OOPetrisRecordingInformation* information, const char* file_path, bool overwrite); #ifdef __cplusplus diff --git a/src/meson.build b/src/meson.build index c233325..58ae180 100644 --- a/src/meson.build +++ b/src/meson.build @@ -1,19 +1,4 @@ include_dir = get_option('prefix') / get_option('includedir') -c_wrapper_include_dir = include_dir / 'oopetris' +c_wrapper_include_dir = include_dir / 'oopetris' / 'c_wrapper' -install_headers( - files('oopetris_wrapper.h'), - install_dir: c_wrapper_include_dir, - preserve_path: true, -) - -install_headers( - files('thirdparty/stb_ds.h'), - install_dir: c_wrapper_include_dir / 'thirdparty', - preserve_path: true, -) - -src_files += files( - 'opaque_types.h', - 'wrapper.cpp', -) +subdir('c_wrapper') diff --git a/tests/get_recording_information.c b/tests/get_recording_information.c index 68584e3..0bc2105 100644 --- a/tests/get_recording_information.c +++ b/tests/get_recording_information.c @@ -1,7 +1,7 @@ #include #include -#include "oopetris_wrapper.h" +#include Test(GetRecordingInformation, NullptrAsArgument) { OOPetrisRecordingReturnValue* return_value = oopetris_get_recording_information(NULL); diff --git a/tests/information.c b/tests/information.c index 17b591c..7d4b6ea 100644 --- a/tests/information.c +++ b/tests/information.c @@ -2,7 +2,7 @@ #include #include -#include "oopetris_wrapper.h" +#include // this tests likely fail, if we update the lib, but this failure on version bump serves as remainder,to check, if other things need changing too, since wrapper may become outdated otherwise diff --git a/tests/is_recording_file.c b/tests/is_recording_file.c index 04de687..8503902 100644 --- a/tests/is_recording_file.c +++ b/tests/is_recording_file.c @@ -1,6 +1,6 @@ #include -#include "oopetris_wrapper.h" +#include Test(IsRecordingFile, NullptrAsArgument) { bool is_recordings_file = oopetris_is_recording_file(NULL); diff --git a/tests/malloc_tests.c b/tests/malloc_tests.c index 4682e6a..ec6f8c8 100644 --- a/tests/malloc_tests.c +++ b/tests/malloc_tests.c @@ -7,7 +7,7 @@ #define OOPETRIS_REALLOC(p, s) mock_realloc(p, s) #define OOPETRIS_FREE(p) mock_free(p) -#include "oopetris_wrapper.h" +#include // this tests likely fail, if we update the lib, but this failure on version bump serves as remainder,to check, if other things need changing too, since wrapper may become outdated otherwise diff --git a/tests/stb_ds.c b/tests/stb_ds.c index 37073e9..2fe8e23 100644 --- a/tests/stb_ds.c +++ b/tests/stb_ds.c @@ -21,8 +21,7 @@ void assert_impl(bool x) { #define STBDS_ASSERT(x) assert_impl(x); -#include "./thirdparty/stb_ds.h" - +#include #if defined(__GNUC__) #pragma GCC diagnostic pop diff --git a/tools/dependencies/meson.build b/tools/dependencies/meson.build index d822e78..a10430e 100644 --- a/tools/dependencies/meson.build +++ b/tools/dependencies/meson.build @@ -2,7 +2,7 @@ oopetris_recordings_dep = dependency('oopetris-recordings') dep_compiler = oopetris_recordings_dep.get_variable( pkgconfig: 'compiler', - internal: '__NOT_DEFINED__', + internal: 'pkg_cpp_compiler', default_value: cpp.get_id(), )