diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 8c0e4be..eb48fed 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -144,7 +144,7 @@ jobs: uses: PyO3/maturin-action@v1 with: command: sdist - args: --out dist --manifest-path crates/pymic2/Cargo.toml + args: --out dist --manifest-path crates/mic2-py/Cargo.toml - name: Upload sdist uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/rust.yaml b/.github/workflows/rust.yaml index 0547317..ae5c70c 100644 --- a/.github/workflows/rust.yaml +++ b/.github/workflows/rust.yaml @@ -1,4 +1,4 @@ -name: Rust +name: Rust & C on: push: @@ -97,15 +97,16 @@ jobs: --package mic2 -vv ${{ matrix.cargo }} test \ --target ${{ matrix.target }} \ - --package libmic2 -vv + --package mic2-c -vv shell: bash if: '!matrix.notest' + - name: Test python package (native only) if: matrix.cargo == 'cargo' run: > ${{ matrix.cargo }} test \ --target ${{ matrix.target }} \ - --package mic2_python + --package mic2-py fmt: name: formatting diff --git a/.gitignore b/.gitignore index f0a7cdf..996b50d 100644 --- a/.gitignore +++ b/.gitignore @@ -38,6 +38,7 @@ build_sfml/ *.a *.la *.lo +*.rlib # Shared objects (inc. Windows DLLs) *.dll @@ -130,6 +131,14 @@ share/python-wheels/ *.egg MANIFEST +# CMake files +CMakeFiles/ +CMakeCache.txt +CTestTestfile.cmake +.rustc_info.json +cmake_install.cmake +crates/mic2-c/release/ + # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. @@ -261,4 +270,4 @@ cython_debug/ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ \ No newline at end of file +#.idea/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 36b8c86..d061a8b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ project(libmic2 LANGUAGES C CXX) enable_testing() -add_subdirectory(crates/libmic2) +add_subdirectory(crates/mic2-c) option(BUILD_EXAMPLES "Build examples" OFF) diff --git a/Cargo.lock b/Cargo.lock index 15b5c4f..ecda869 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -327,17 +327,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "libmic2" -version = "0.1.0" -dependencies = [ - "cbindgen", - "cc", - "cmake", - "mic2", - "path-clean", -] - [[package]] name = "libudev" version = "0.3.0" @@ -445,7 +434,18 @@ dependencies = [ ] [[package]] -name = "mic2_python" +name = "mic2-c" +version = "0.1.0" +dependencies = [ + "cbindgen", + "cc", + "cmake", + "mic2", + "path-clean", +] + +[[package]] +name = "mic2-py" version = "0.1.0" dependencies = [ "chrono", diff --git a/Cargo.toml b/Cargo.toml index 8af869e..334e020 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,9 +1,9 @@ [workspace] resolver = "2" members = [ - "crates/mic2_rs", - "crates/pymic2", - "crates/libmic2", + "crates/mic2", + "crates/mic2-c", + "crates/mic2-py", ] exclude = [ "examples/rust/find", diff --git a/crates/libmic2/CMakeLists.txt b/crates/mic2-c/CMakeLists.txt similarity index 92% rename from crates/libmic2/CMakeLists.txt rename to crates/mic2-c/CMakeLists.txt index d1a4848..8131edb 100644 --- a/crates/libmic2/CMakeLists.txt +++ b/crates/mic2-c/CMakeLists.txt @@ -23,8 +23,8 @@ endif() set(LIBMIC2_LIB "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_DIR}/${LIBMIC2_LIB_NAME}") set(LIBMIC2_STATIC_LIB "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_DIR}/${LIBMIC2_STATIC_LIB_NAME}") set(LIBMIC2_HEADER_PATH "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_DIR}/mic2.h") -set(LIBMIC2_CXX_HEADER_PATH "${CMAKE_SOURCE_DIR}/crates/libmic2/src/mic2.hpp") -set(LIBMIC2_CXX_SRC_PATH "${CMAKE_SOURCE_DIR}/crates/libmic2/src/mic2.cpp") +set(LIBMIC2_CXX_HEADER_PATH "${CMAKE_SOURCE_DIR}/crates/mic2-c/src/mic2.hpp") +set(LIBMIC2_CXX_SRC_PATH "${CMAKE_SOURCE_DIR}/crates/mic2-c/src/mic2.cpp") # Build libmic2 diff --git a/crates/libmic2/Cargo.toml b/crates/mic2-c/Cargo.toml similarity index 73% rename from crates/libmic2/Cargo.toml rename to crates/mic2-c/Cargo.toml index 4079ec3..75191c1 100644 --- a/crates/libmic2/Cargo.toml +++ b/crates/mic2-c/Cargo.toml @@ -1,18 +1,19 @@ [package] -name = "libmic2" +name = "mic2-c" version = "0.1.0" edition = "2021" +publish = false [lib] name = "mic2" crate-type = ["cdylib", "staticlib"] doc = false +[dependencies] +mic2 = { path = "../mic2" } + [build-dependencies] cbindgen = "0.26.0" path-clean = "1.0.1" cc = "1.0.98" cmake = "0.1.50" - -[dependencies.mic2] -path = "../mic2_rs" diff --git a/crates/libmic2/build.rs b/crates/mic2-c/build.rs similarity index 100% rename from crates/libmic2/build.rs rename to crates/mic2-c/build.rs diff --git a/crates/libmic2/src/lib.rs b/crates/mic2-c/src/lib.rs similarity index 100% rename from crates/libmic2/src/lib.rs rename to crates/mic2-c/src/lib.rs diff --git a/crates/libmic2/src/mic2.cpp b/crates/mic2-c/src/mic2.cpp similarity index 100% rename from crates/libmic2/src/mic2.cpp rename to crates/mic2-c/src/mic2.cpp diff --git a/crates/libmic2/src/mic2.hpp b/crates/mic2-c/src/mic2.hpp similarity index 100% rename from crates/libmic2/src/mic2.hpp rename to crates/mic2-c/src/mic2.hpp diff --git a/crates/libmic2/tests/test_build/CMakeLists.txt b/crates/mic2-c/tests/test_build/CMakeLists.txt similarity index 100% rename from crates/libmic2/tests/test_build/CMakeLists.txt rename to crates/mic2-c/tests/test_build/CMakeLists.txt diff --git a/crates/libmic2/tests/test_build/test_build.cpp b/crates/mic2-c/tests/test_build/test_build.cpp similarity index 100% rename from crates/libmic2/tests/test_build/test_build.cpp rename to crates/mic2-c/tests/test_build/test_build.cpp diff --git a/crates/pymic2/.github/workflows/CI.yml b/crates/mic2-py/.github/workflows/CI.yml similarity index 100% rename from crates/pymic2/.github/workflows/CI.yml rename to crates/mic2-py/.github/workflows/CI.yml diff --git a/crates/pymic2/.gitignore b/crates/mic2-py/.gitignore similarity index 100% rename from crates/pymic2/.gitignore rename to crates/mic2-py/.gitignore diff --git a/crates/pymic2/Cargo.toml b/crates/mic2-py/Cargo.toml similarity index 55% rename from crates/pymic2/Cargo.toml rename to crates/mic2-py/Cargo.toml index e3b55fc..cac8592 100644 --- a/crates/pymic2/Cargo.toml +++ b/crates/mic2-py/Cargo.toml @@ -1,9 +1,9 @@ [package] -name = "mic2_python" +name = "mic2-py" version = "0.1.0" edition = "2021" +publish = false -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] name = "pymic2" crate-type = ["cdylib"] @@ -11,6 +11,4 @@ crate-type = ["cdylib"] [dependencies] chrono = "0.4.38" pyo3 = { version = "0.21.2", features = ["chrono", "extension-module"] } - -[dependencies.mic2] -path = "../mic2_rs" +mic2 = { path = "../mic2" } diff --git a/crates/pymic2/pyproject.toml b/crates/mic2-py/pyproject.toml similarity index 100% rename from crates/pymic2/pyproject.toml rename to crates/mic2-py/pyproject.toml diff --git a/crates/pymic2/src/gps.rs b/crates/mic2-py/src/gps.rs similarity index 100% rename from crates/pymic2/src/gps.rs rename to crates/mic2-py/src/gps.rs diff --git a/crates/pymic2/src/lib.rs b/crates/mic2-py/src/lib.rs similarity index 100% rename from crates/pymic2/src/lib.rs rename to crates/mic2-py/src/lib.rs diff --git a/crates/pymic2/src/usb.rs b/crates/mic2-py/src/usb.rs similarity index 100% rename from crates/pymic2/src/usb.rs rename to crates/mic2-py/src/usb.rs diff --git a/crates/pymic2/src/utils.rs b/crates/mic2-py/src/utils.rs similarity index 100% rename from crates/pymic2/src/utils.rs rename to crates/mic2-py/src/utils.rs diff --git a/crates/pymic2/tests/__init__.py b/crates/mic2-py/tests/__init__.py similarity index 100% rename from crates/pymic2/tests/__init__.py rename to crates/mic2-py/tests/__init__.py diff --git a/crates/pymic2/tests/test_neovimic.py b/crates/mic2-py/tests/test_neovimic.py similarity index 100% rename from crates/pymic2/tests/test_neovimic.py rename to crates/mic2-py/tests/test_neovimic.py diff --git a/crates/mic2_rs/Cargo.toml b/crates/mic2/Cargo.toml similarity index 92% rename from crates/mic2_rs/Cargo.toml rename to crates/mic2/Cargo.toml index 8268d7e..f4841c5 100644 --- a/crates/mic2_rs/Cargo.toml +++ b/crates/mic2/Cargo.toml @@ -9,9 +9,6 @@ readme = "README.md" description = "Rust API for neoVI MIC2" keywords = ["neoVI", "MIC2", "Intrepid", "ICS"] -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - - [features] default = ["gps", "io", "audio"] gps = ["dep:nmea-parser", "dep:serialport"] diff --git a/crates/mic2_rs/README.md b/crates/mic2/README.md similarity index 100% rename from crates/mic2_rs/README.md rename to crates/mic2/README.md diff --git a/crates/mic2_rs/src/audio.rs b/crates/mic2/src/audio.rs similarity index 100% rename from crates/mic2_rs/src/audio.rs rename to crates/mic2/src/audio.rs diff --git a/crates/mic2_rs/src/gps.rs b/crates/mic2/src/gps.rs similarity index 100% rename from crates/mic2_rs/src/gps.rs rename to crates/mic2/src/gps.rs diff --git a/crates/mic2_rs/src/io.rs b/crates/mic2/src/io.rs similarity index 100% rename from crates/mic2_rs/src/io.rs rename to crates/mic2/src/io.rs diff --git a/crates/mic2_rs/src/lib.rs b/crates/mic2/src/lib.rs similarity index 100% rename from crates/mic2_rs/src/lib.rs rename to crates/mic2/src/lib.rs diff --git a/crates/mic2_rs/src/mic.rs b/crates/mic2/src/mic.rs similarity index 100% rename from crates/mic2_rs/src/mic.rs rename to crates/mic2/src/mic.rs diff --git a/crates/mic2_rs/src/nmea/mod.rs b/crates/mic2/src/nmea/mod.rs similarity index 100% rename from crates/mic2_rs/src/nmea/mod.rs rename to crates/mic2/src/nmea/mod.rs diff --git a/crates/mic2_rs/src/nmea/sentence.rs b/crates/mic2/src/nmea/sentence.rs similarity index 100% rename from crates/mic2_rs/src/nmea/sentence.rs rename to crates/mic2/src/nmea/sentence.rs diff --git a/crates/mic2_rs/src/nmea/types.rs b/crates/mic2/src/nmea/types.rs similarity index 100% rename from crates/mic2_rs/src/nmea/types.rs rename to crates/mic2/src/nmea/types.rs diff --git a/crates/mic2_rs/src/types.rs b/crates/mic2/src/types.rs similarity index 100% rename from crates/mic2_rs/src/types.rs rename to crates/mic2/src/types.rs diff --git a/crates/mic2_rs/src/ubx.rs b/crates/mic2/src/ubx.rs similarity index 100% rename from crates/mic2_rs/src/ubx.rs rename to crates/mic2/src/ubx.rs diff --git a/examples/rust/find/Cargo.toml b/examples/rust/find/Cargo.toml index 6ff3797..f1aa52c 100644 --- a/examples/rust/find/Cargo.toml +++ b/examples/rust/find/Cargo.toml @@ -9,4 +9,4 @@ edition = "2021" [dependencies.mic2] -path = "../../../crates/mic2_rs" +path = "../../../crates/mic2"