Skip to content
Open
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
16 changes: 16 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "lldb",
"request": "launch",
"program": "${workspaceRoot}/<your program>",
"args": [],
"cwd": "${workspaceRoot}"
}
]
}
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this file added by accident?

2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.15)
project(fmi4c C)
set(CMAKE_C_STANDARD 99)
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this really needed? It might decrease compatibility with other project using an older C standard.

set(CMAKE_C_STANDARD 11)

include(CMakeDependentOption)
include(CMakePackageConfigHelpers)
Expand Down
9 changes: 7 additions & 2 deletions src/fmi4c.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@
#if defined(__x86_64__) || defined(_M_X64)
#define arch_str "x86_64"
#define bits_str "64"
#elif defined(__arm64__) || defined(__aarch64__)
#define arch_str "aarch64"
#define bits_str "64"
#else
#define arch_str "x86"
#define bits_str "32"
Expand All @@ -44,6 +47,10 @@
#define dllext_str ".dll"
#define fmi12_system_str "win"
#define fmi3_system_str "windows"
#elif defined(__APPLE__)
#define dllext_str ".dylib"
#define fmi12_system_str "darwin"
#define fmi3_system_str "darwin"
#else
#define dllext_str ".so"
#define fmi12_system_str "linux"
Expand Down Expand Up @@ -2323,8 +2330,6 @@ bool loadFunctionsFmi3(fmuHandle *fmu, fmi3Type fmuType)

fmu->dll = dll;

printf("Loading FMI version 3...\n");

//Load all common functions


Expand Down
26 changes: 24 additions & 2 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,19 @@ if (NOT MSVC)
set(libmath m)
endif()

if(APPLE)
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm64")
message(STATUS "Apple Silicon detected")
set(APPLE_ARCH aarch64)
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
message(STATUS "Intel Mac detected")
set(APPLE_ARCH x86_64)
endif()
endif()

# Set default debug postfix
set(CMAKE_DEBUG_POSTFIX "")

set(fmi4ctest_src fmi4c_test.c
fmi4c_test_fmi1.c
fmi4c_test_fmi2.c
Expand Down Expand Up @@ -33,10 +46,13 @@ set(sundials ${3rdparty}/sundials)
# Test FMU (FMI 1.0 for co-simulation)
if(WIN32 OR CYGWIN)
set(binfolder win64)
elseif(APPLE)
set(binfolder darwin64)
else()
set(binfolder linux64)
endif()


add_library(fmi1cs SHARED fmi1cs/fmi1cs.c)
set_target_properties(fmi1cs PROPERTIES PREFIX "")
set_target_properties(fmi1cs PROPERTIES DEBUG_POSTFIX "")
Expand Down Expand Up @@ -81,9 +97,15 @@ add_test(NAME fmi2me COMMAND $<TARGET_FILE_NAME:fmi4ctest> --mode me -o fmi2.out

# Test FMU (FMI 3.0 for co-simulation and model exchange)
if(WIN32 OR CYGWIN)
set(binfolder x86_64-windows)
set(binfolder "${CMAKE_HOST_SYSTEM_PROCESSOR}-windows")
elseif(APPLE)
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm64")
set(binfolder "aarch64-darwin")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
set(binfolder "x86_64-darwin")
endif()
else()
set(binfolder x86_64-linux)
set(binfolder "${CMAKE_HOST_SYSTEM_PROCESSOR}-linux")
endif()

add_library(fmi3 SHARED fmi3/fmi3.c)
Expand Down
3 changes: 1 addition & 2 deletions test/fmi4c_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,7 @@ void printUsage() {

void messageCallback(const char* msg)
{
printf(msg);
printf("\n");
printf("%s\n", msg);
}

int main(int argc, char *argv[])
Expand Down
Loading