Skip to content

Commit

Permalink
- update CMakeFiles
Browse files Browse the repository at this point in the history
- include inline.h in memory_pool.c
- bugfix for vs us sqrt(double)

git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@10368 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
Jens Frenkel committed Nov 9, 2011
1 parent 7f94d3c commit fd67fcc
Show file tree
Hide file tree
Showing 5 changed files with 73 additions and 27 deletions.
58 changes: 49 additions & 9 deletions c_runtime/CMakeLists.txt
Expand Up @@ -2,6 +2,14 @@
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/meta)

# OMDEV PATH
IF(NOT OMDEV)
SET(OMDEV $ENV{OMDEV})
ENDIF(NOT OMDEV)

INCLUDE_DIRECTORIES(${OMDEV}/lib/expat-win32-msvc)
link_directories(${OMDEV}/lib/expat-win32-msvc)

# OMC Compiler
SET(OMC_DEBUG ${OMCTRUNCHOME}/build/bin/omcd.exe)
MESSAGE(" omc is " ${OMC_DEBUG})
Expand Down Expand Up @@ -42,6 +50,14 @@ MACRO(BUILDMODEL model dir Flags CSRC)
INCLUDE_DIRECTORIES(${OMCTRUNCHOME}/c_runtime)
INCLUDE_DIRECTORIES(${OMCTRUNCHOME}/c_runtime/meta)

# OMDEV PATH
IF(NOT OMDEV)
SET(OMDEV $ENV{OMDEV})
ENDIF(NOT OMDEV)

INCLUDE_DIRECTORIES(${OMDEV}/lib/expat-win32-msvc)
link_directories(${OMDEV}/lib/expat-win32-msvc)

# Variablen fuer openmodelica2sarturis
SET(OMC_CODE ${CMAKE_CURRENT_BINARY_DIR}/${model}.c
${CMAKE_CURRENT_BINARY_DIR}/${model}_functions.c
Expand All @@ -61,7 +77,7 @@ MACRO(BUILDMODEL model dir Flags CSRC)
ADD_CUSTOM_TARGET(${model}codegen ALL DEPENDS ${OMC_OUTPUT})

ADD_EXECUTABLE(${model} ${OMC_OUTPUT} ${CSRC})
TARGET_LINK_LIBRARIES(${model} sim c_runtime f2c meta sendData ModelicaExternalC)
TARGET_LINK_LIBRARIES(${model} sim c_runtime f2c meta sendData ModelicaExternalC libexpat)

# Dependencies
ADD_DEPENDENCIES(${model} ${model}codegen)
Expand All @@ -79,6 +95,14 @@ MACRO(BUILDMODELMOS model mos Flags CSRC)
INCLUDE_DIRECTORIES(${OMCTRUNCHOME}/c_runtime)
INCLUDE_DIRECTORIES(${OMCTRUNCHOME}/c_runtime/meta)

# OMDEV PATH
IF(NOT OMDEV)
SET(OMDEV $ENV{OMDEV})
ENDIF(NOT OMDEV)

INCLUDE_DIRECTORIES(${OMDEV}/lib/expat-win32-msvc)
link_directories(${OMDEV}/lib/expat-win32-msvc)

SET(OMC_MODELNAME ${model})
# generate model.mos

Expand All @@ -101,7 +125,7 @@ MACRO(BUILDMODELMOS model mos Flags CSRC)

ADD_DEFINITIONS(/TP ${model}.c)
ADD_EXECUTABLE(${model} ${OMC_OUTPUT} ${CSRC})
TARGET_LINK_LIBRARIES(${model} sim c_runtime f2c meta sendData ModelicaExternalC)
TARGET_LINK_LIBRARIES(${model} sim c_runtime f2c meta sendData ModelicaExternalC libexpat)

# Dependencies
ADD_DEPENDENCIES(${model} ${model}codegen)
Expand All @@ -119,6 +143,14 @@ MACRO(BUILDMODELFMU model dir Flags CSRC)
INCLUDE_DIRECTORIES(${OMCTRUNCHOME}/c_runtime)
INCLUDE_DIRECTORIES(${OMCTRUNCHOME}/c_runtime/meta)

# OMDEV PATH
IF(NOT OMDEV)
SET(OMDEV $ENV{OMDEV})
ENDIF(NOT OMDEV)

INCLUDE_DIRECTORIES(${OMDEV}/lib/expat-win32-msvc)
link_directories(${OMDEV}/lib/expat-win32-msvc)

SET(OMC_MODELNAME ${model})
SET(OMC_MODELDIR ${dir})
# generate model.mos
Expand Down Expand Up @@ -147,7 +179,7 @@ MACRO(BUILDMODELFMU model dir Flags CSRC)
${OMCTRUNCHOME}/c_runtime/fmiModelTypes.h)

ADD_LIBRARY(${model} SHARED ${OMC_OUTPUT} ${CSRC} ${OMC_FMU_CODE})
TARGET_LINK_LIBRARIES(${model} sim c_runtime f2c meta sendData ModelicaExternalC)
TARGET_LINK_LIBRARIES(${model} sim c_runtime f2c meta sendData ModelicaExternalC libexpat)

# Dependencies
ADD_DEPENDENCIES(${model} ${model}codegen)
Expand All @@ -164,6 +196,14 @@ MACRO(BUILDMODELFMUMOS model mos Flags CSRC)

INCLUDE_DIRECTORIES(${OMCTRUNCHOME}/c_runtime)
INCLUDE_DIRECTORIES(${OMCTRUNCHOME}/c_runtime/meta)

# OMDEV PATH
IF(NOT OMDEV)
SET(OMDEV $ENV{OMDEV})
ENDIF(NOT OMDEV)

INCLUDE_DIRECTORIES(${OMDEV}/lib/expat-win32-msvc)
link_directories(${OMDEV}/lib/expat-win32-msvc)

SET(OMC_MODELNAME ${model})
# generate model.mos
Expand Down Expand Up @@ -191,7 +231,7 @@ MACRO(BUILDMODELFMUMOS model mos Flags CSRC)

ADD_DEFINITIONS(/TP ${model}.c)
ADD_LIBRARY(${model} SHARED ${OMC_OUTPUT} ${CSRC} ${OMC_FMU_CODE})
TARGET_LINK_LIBRARIES(${model} sim c_runtime f2c meta sendData ModelicaExternalC)
TARGET_LINK_LIBRARIES(${model} sim c_runtime f2c meta sendData ModelicaExternalC libexpat)

# Dependencies
ADD_DEPENDENCIES(${model} ${model}codegen)
Expand Down Expand Up @@ -248,20 +288,20 @@ SET(c_runtime_headers blaswrap.h f2c.h integer_array.h memory_pool.h
java_interface.h jni.h division.h
jni_md.h jni_md_solaris.h jni_md_windows.h fortran_types.h
rtclock.h ModelicaUtilities.h simulation_varinfo.h read_matlab4.h read_csv.h
sendData/sendData.h)
sendData/sendData.h inline.h)

SET(sim_sources simulation_runtime.cpp simulation_init.cpp simulation_input.cpp
SET(sim_sources simulation_runtime.cpp simulation_init.cpp simulation_input_xml.cpp
simulation_events.cpp linearize.cpp solver_main.cpp
simulation_result_plt.cpp simulation_result_csv.cpp
simulation_result_mat.cpp simulation_delay.cpp tables.cpp options.cpp
dgesv_aux.c simulation_modelinfo.c)

SET(sim_headers simulation_runtime.h simulation_init.h simulation_input.h
SET(sim_headers simulation_runtime.h simulation_init.h simulation_input_xml.h
simulation_events.h linearize.h solver_main.h
simulation_result.h simulation_result_plt.h simulation_result_mat.h
simulation_result_empty.h simulation_result_csv.h
simulation_delay.h tables.h options.h
simulation_inline_solver.h simulation_modelinfo.h )
simulation_inline_solver.h simulation_modelinfo.h)


# Library c_runtime
Expand All @@ -277,7 +317,7 @@ if(WIN32)
#add_definitions(/MT)
endif(WIN32)
ADD_LIBRARY(sim ${sim_sources} ${sim_headers})
TARGET_LINK_LIBRARIES(sim c_runtime f2c ModelicaExternalC)
TARGET_LINK_LIBRARIES(sim c_runtime f2c ModelicaExternalC libexpat)

# Install
INSTALL(TARGETS c_runtime sim
Expand Down
4 changes: 3 additions & 1 deletion c_runtime/ModelicaExternalC/CMakeLists.txt
@@ -1,5 +1,7 @@
# Sources and Headers
set(ModelicaExternalC_sources ModelicaInternal.c ModelicaStrings.c ModelicaTablesImpl.c)
set(ModelicaExternalC_sources ModelicaInternal.c
ModelicaStrings.c
ModelicaTablesImpl.c)

SET(ModelicaExternalC_headers ModelicaTables.h)

Expand Down
1 change: 1 addition & 0 deletions c_runtime/memory_pool.c
Expand Up @@ -31,6 +31,7 @@


#include "memory_pool.h"
#include "inline.h"
#include <assert.h>
#include <stdio.h>

Expand Down
31 changes: 17 additions & 14 deletions c_runtime/meta/CMakeLists.txt
@@ -1,38 +1,41 @@
# Sources and Headers
SET(META_SRC meta_modelica.c
meta_modelica_builtin.cpp
meta_modelica_real.cpp
meta_modelica_string_lit.c
meta_modelica_builtin.c
meta_modelica_catch.c
meta_modelica_gc.c
meta_modelica_gc_list.c
meta_modelica_gc_stack.c
meta_modelica_gc_roots.c
meta_modelica_gc_pages.c
meta_modelica_gc_roots.c
meta_modelica_gc_settings.c
meta_modelica_gc_stack.c
meta_modelica_gc_stats.c
meta_modelica_gc_settings.c)
meta_modelica_string_lit.c)

SET(META_HFILES rml_compatibility.h
SET(META_SRC_CPP meta_modelica_real.cpp)

SET(META_HFILES meta_modelica.h
meta_modelica_builtin.h
meta_modelica_builtin_boxptr.h
meta_modelica_gc.h
meta_modelica_real.h
meta_modelica_string_lit.h
meta_modelica.h
meta_modelica_gc_stack.h
meta_modelica_gc_list.h
meta_modelica_gc_roots.h
meta_modelica_gc_pages.h
meta_modelica_gc_roots.h
meta_modelica_gc_settings.h
meta_modelica_gc_stack.h
meta_modelica_gc_stats.h
meta_modelica_gc_settings.h)
meta_modelica_string_lit.h
meta_modelica_real.h
rml_compatibility.h)


# Library meta
add_library(meta_cpp ${META_SRC_CPP} ${META_HFILES})
add_library(meta ${META_SRC} ${META_HFILES})
TARGET_LINK_LIBRARIES(meta meta_cpp)
#set_property(TARGET f2c PROPERTY PREFIX lib)

# Install
INSTALL(TARGETS meta
INSTALL(TARGETS meta meta_cpp
ARCHIVE DESTINATION meta)
INSTALL(FILES ${META_HFILES} DESTINATION include/meta)

6 changes: 3 additions & 3 deletions c_runtime/solver_main.cpp
Expand Up @@ -764,8 +764,8 @@ init_stepsize(int(*f)()) {
d1[i] = globalData->statesDerivatives[i];
}

d0norm = euklidnorm(d0) / sqrt(globalData->nStates);
d1norm = euklidnorm(d1) / sqrt(globalData->nStates);
d0norm = euklidnorm(d0) / sqrt((double)globalData->nStates);
d1norm = euklidnorm(d1) / sqrt((double)globalData->nStates);

delete[] d0;
delete[] d1;
Expand All @@ -786,7 +786,7 @@ init_stepsize(int(*f)()) {
temp[i] = globalData->statesDerivatives[i] - y[i];
}

d2norm = (euklidnorm(temp) / sqrt(globalData->nStates)) / h0;
d2norm = (euklidnorm(temp) / sqrt((double)globalData->nStates)) / h0;

d = max(d1norm, d2norm);

Expand Down

0 comments on commit fd67fcc

Please sign in to comment.