Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ jobs:
-DCMAKE_CXX_COMPILER=g++
-DCMAKE_C_COMPILER=gcc
-DCMAKE_BUILD_TYPE=Release
-DBUILD_SIMD=OFF
-S ${{ github.workspace }}

- name: Build
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/build
tests/setsimdata
simd/build

.cache
9 changes: 6 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.9)
cmake_minimum_required(VERSION 3.15)
project(simapi VERSION 1.0.1 DESCRIPTION "Telemetry Mapping Library for Racing Sims")
include(GNUInstallDirs)
add_library(simapi SHARED simapi/simmapper.c simapi/getpid.c simapi/mapping/acmapper.c simapi/mapping/pcars2mapper.c simapi/mapping/rf2mapper.c simapi/mapping/scs2mapper.c simapi/mapping/outgaugemapper.c)
Expand All @@ -14,11 +14,14 @@ set_target_properties(simapi PROPERTIES
PUBLIC_HEADER "${SIMAPI_PUBLIC_HEADERS}")

configure_file(simapi.pc.in simapi.pc @ONLY)
target_include_directories(simapi PRIVATE include simapi)
target_include_directories(simapi PUBLIC include simapi)
install(TARGETS simapi
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(FILES ${CMAKE_BINARY_DIR}/simapi.pc
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig)

add_subdirectory(simd)
option(BUILD_SIMD "Build the simd tool" ON)
if(BUILD_SIMD)
add_subdirectory(simd)
endif()
6 changes: 3 additions & 3 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 9 additions & 3 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
self.submodules = true;
};

outputs = { nixpkgs, ... }:
Expand All @@ -14,9 +13,13 @@

src = ./.;

buildInputs = [
nativeBuildInputs = [
pkgs.cmake
];

cmakeFlags = [
"-DBUILD_SIMD=OFF"
];
};

simd = pkgs.stdenv.mkDerivation {
Expand All @@ -29,10 +32,13 @@
cd simd
'';

nativeBuildInputs = [
pkgs.cmake
];

buildInputs = [
simapi

pkgs.cmake
pkgs.libuv
pkgs.yder
pkgs.libconfig
Expand Down
6 changes: 4 additions & 2 deletions simd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,15 @@ find_library(ARGTABLE3_LIBRARY argtable3)
if (ARGTABLE3_INCLUDE_DIR AND ARGTABLE3_LIBRARY)
add_compile_definitions(HAVE_ARGTABLE3)
set(ARGTABLE_LIBS ${ARGTABLE3_LIBRARY})
set(ARGTABLE_INCLUDE_DIR ${ARGTABLE3_INCLUDE_DIR})
else()
find_path(ARGTABLE2_INCLUDE_DIR argtable2.h)
find_library(ARGTABLE2_LIBRARY argtable2)

if (ARGTABLE2_INCLUDE_DIR AND ARGTABLE2_LIBRARY)
add_compile_definitions(HAVE_ARGTABLE2)
set(ARGTABLE_LIBS ${ARGTABLE2_LIBRARY})
set(ARGTABLE_INCLUDE_DIR ${ARGTABLE2_INCLUDE_DIR})
else()
message(FATAL_ERROR "Neither argtable3 nor argtable2 found")
endif()
Expand All @@ -30,7 +32,7 @@ endif()
add_executable(simd simd.c parameters.c confighelper.c dirhelper.c poke.c ../simmap/mapsimdata.c)
target_link_libraries(simd m uv yder ${ARGTABLE_LIBS} config simapi)

target_include_directories(simd PUBLIC)
target_include_directories(simd PRIVATE ${ARGTABLE_INCLUDE_DIR})

# used for enabling additional compiler options if supported
include(CheckCXXCompilerFlag)
Expand Down Expand Up @@ -63,7 +65,7 @@ else() # GCC/Clang warning option

if(analyze)
message("-- Analyzer is on")
target_compile_options(monocoque PRIVATE -fanalyzer -Wno-analyzer-possible-null-argument -Wno-analyzer-possible-null-dereference)
target_compile_options(simd PRIVATE -fanalyzer -Wno-analyzer-possible-null-argument -Wno-analyzer-possible-null-dereference)
endif()

enable_cxx_compiler_flag_if_supported("-Wall")
Expand Down