Commit 254d4eac authored by Nicolas Docquier's avatar Nicolas Docquier

Merge branch 'All_compile' into 'dev'

All compile

MBsysC and the optionnal modules (interfaces, add-on) are generated from one CMakeLists located in MBsysC folder.  
See  Issue #62

See merge request !110
parents c7faf9ec 3b994a91
Pipeline #1509 failed with stage
in 0 seconds
......@@ -47,9 +47,38 @@ compilation_separate_realtimeON:
- make
- ./exe_PendulumSpringC
# --------------------------------------------------------------------------
# New compilation: Testing PendulumSpringC Example project -----------------
# --------------------------------------------------------------------------
NewCompilation_separate_realtimeOFF:
script:
- mkdir MBsysC/build
- cd MBsysC/build
- cmake -DFLAG_REAL_TIME=OFF ..
- make
- cd ../..
- mkdir ExampleProjects/PendulumSpringC/workR/build
- cd ExampleProjects/PendulumSpringC/workR/build
- cmake -DFLAG_SEPARATE_BUILD=ON ..
- make
- ./exe_PendulumSpringC
NewCompilation_separate_realtimeON:
script:
- mkdir MBsysC/build
- cd MBsysC/build
- cmake -DFLAG_REAL_TIME=ON ..
- make
- cd ../..
- mkdir ExampleProjects/PendulumSpringC/workR/build
- cd ExampleProjects/PendulumSpringC/workR/build
- cmake -DFLAG_SEPARATE_BUILD=ON ..
- make
- ./exe_PendulumSpringC
# --------------------------------------------------------------------------
# Testing all tutorials and compare results --------------------------------
# New compilation: Testing all tutorials and compare results ---------------
# --------------------------------------------------------------------------
tutorial_1_monolithic:
......@@ -69,7 +98,7 @@ tutorial_1_separate:
script:
- mkdir MBsysC/build
- cd MBsysC/build
- cmake -DFLAG_REAL_TIME=OFF ../mbs_common/
- cmake -DFLAG_REAL_TIME=OFF ..
- make
- cd ../..
- mkdir ExampleProjects/TutorialProjects/1_Bodies_and_Joints/workR/build
......@@ -101,7 +130,7 @@ tutorial_2_separate:
script:
- mkdir MBsysC/build
- cd MBsysC/build
- cmake -DFLAG_REAL_TIME=OFF ../mbs_common/
- cmake -DFLAG_REAL_TIME=OFF ..
- make
- cd ../..
- mkdir ExampleProjects/TutorialProjects/2_Links/workR/build
......@@ -134,7 +163,7 @@ tutorial_3_separate:
script:
- mkdir MBsysC/build
- cd MBsysC/build
- cmake -DFLAG_REAL_TIME=OFF ../mbs_common/
- cmake -DFLAG_REAL_TIME=OFF ..
- make
- cd ../..
- mkdir ExampleProjects/TutorialProjects/3_Cuts/workR/build
......@@ -168,7 +197,7 @@ tutorial_4_separate:
script:
- mkdir MBsysC/build
- cd MBsysC/build
- cmake -DFLAG_REAL_TIME=OFF ../mbs_common/
- cmake -DFLAG_REAL_TIME=OFF ..
- make
- cd ../..
- mkdir ExampleProjects/TutorialProjects/4_Driven_variable/workR/build
......@@ -203,7 +232,7 @@ tutorial_5_separate:
script:
- mkdir MBsysC/build
- cd MBsysC/build
- cmake -DFLAG_REAL_TIME=OFF ../mbs_common/
- cmake -DFLAG_REAL_TIME=OFF ..
- make
- cd ../..
- mkdir ExampleProjects/TutorialProjects/5_Sensors/workR/build
......@@ -238,7 +267,7 @@ tutorial_6_separate:
script:
- mkdir MBsysC/build
- cd MBsysC/build
- cmake -DFLAG_REAL_TIME=OFF ../mbs_common/
- cmake -DFLAG_REAL_TIME=OFF ..
- make
- cd ../..
- mkdir ExampleProjects/TutorialProjects/6_External_Force/workR/build
......@@ -273,7 +302,7 @@ tutorial_7_separate:
script:
- mkdir MBsysC/build
- cd MBsysC/build
- cmake -DFLAG_REAL_TIME=OFF ../mbs_common/
- cmake -DFLAG_REAL_TIME=OFF ..
- make
- cd ../..
- mkdir ExampleProjects/TutorialProjects/7_User_constraints/workR/build
......@@ -310,7 +339,7 @@ tutorial_8_separate:
script:
- mkdir MBsysC/build
- cd MBsysC/build
- cmake -DFLAG_REAL_TIME=OFF ../mbs_common/
- cmake -DFLAG_REAL_TIME=OFF ..
- make
- cd ../..
- mkdir ExampleProjects/TutorialProjects/8_User_derivatives/workR/build
......@@ -348,7 +377,7 @@ tutorial_9_separate:
script:
- mkdir MBsysC/build
- cd MBsysC/build
- cmake -DFLAG_REAL_TIME=OFF ../mbs_common/
- cmake -DFLAG_REAL_TIME=OFF ..
- make
- cd ../..
- mkdir ExampleProjects/TutorialProjects/9_Tips/workR/build
......@@ -367,7 +396,7 @@ tutorial_9_separate:
# --------------------------------------------------------------------------
# Testing Cython interface -------------------------------------------------
# New compilation: Testing Cython interface --------------------------------
# --------------------------------------------------------------------------
image: robotran/ubuntu-robotran-cython:v0
......@@ -376,11 +405,7 @@ Python_interface_realtimeOFF:
script:
- mkdir MBsysC/build
- cd MBsysC/build
- cmake -DFLAG_REAL_TIME=OFF ../mbs_common/
- make
- mkdir ../build_interface
- cd ../build_interface
- cmake ../mbs_interface/mbs_python/
- cmake -DFLAG_REAL_TIME=OFF -DFLAG_INTERFACE_PYTHON=ON ..
- make
- cd ../..
- mkdir ExampleProjects/PendulumSpringC/workR/build
......
## Changes for next release
* All modules (MBsysC, interfaces, add-ons) are compiled from the same CMakeLists. The optionnal modules are activated with corresponding FLAG (`FLAG_INTERFACE_SIMULINK`, `FLAG_INTERFACE_PYTHON`, `FLAG_IPY_WITH_MBS_LMGC` and `FLAG_ADDON_MBSLMGC`).
* user\_equil.c: is required for equilibrium module. Either update userfctR\CMakeLists for backward compatibility or copy/paste the user\_equil.c from the template.
* User specific output: the name of the file now have the resfilename as prefix.
* User model generation: the generation of the user_model files for mbs without defined user model is now compatible with Visual studio (structure is no more empty)
* M_PI is accessible on windows for all files that include math.h in the template.
* user\_all\_id.h: the id of cuts are generated.
## Robotran v1.9.4
* Add a python interface for driving the simulation via a python script (see MBsysC/readme_aux/interface_python.md and MBsysC/mbs_interface/mbs_python)
......
......@@ -9,7 +9,7 @@
# Firstly: include the path to your MBsysC-Python interface library
import sys
sys.path.insert(1, "../../../MBsysC/build_interface/lib")
sys.path.insert(1, "../../../MBsysC/build/mbs_interface/mbs_python/lib")
# Secondly: load the interfacing modules
from mbs_data_py import *
from mbs_part_py import *
......
#
# Universite catholique de Louvain
# CEREM : Centre for research in mechatronics
# http://www.robotran.be
# Contact : info@robotran.be
#
#
# CMake for compiling MBsysC, MBsysC interfaces and MBsysC Addons
#
if (UNIX)
cmake_minimum_required(VERSION 2.8.7)
else()
cmake_minimum_required(VERSION 3.4)
endif ()
project(MBsysC_ALL)
# Getting Flags and related functions
add_subdirectory (${CMAKE_SOURCE_DIR}/cmake_aux/flags/)
mbsysc_specific_flags()
optionnal_modules_flags()
# MBsysC modules
add_subdirectory( mbs_common/ ${CMAKE_BINARY_DIR}/mbs_common/ )
# Interfaces
if (FLAG_INTERFACE_SIMULINK) # Simulink
add_subdirectory( mbs_interface/mbs_simulink/ ${CMAKE_BINARY_DIR}/mbs_interface/mbs_simulink/ )
endif( )
if (FLAG_INTERFACE_PYTHON) # Python
add_subdirectory( mbs_interface/mbs_python/ ${CMAKE_BINARY_DIR}/mbs_interface/mbs_python/ )
endif( )
# Addons
if (FLAG_ADDON_MBSLMGC) # Mbs-Lmgc interactions
add_subdirectory( mbs_common/mbs_add_on/mbs_lmgc/ ${CMAKE_BINARY_DIR}/mbs_add_on/mbs_lmgc/ )
endif( )
......@@ -15,6 +15,22 @@
option (FLAG_RELEASE
"Release" ON)
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
# FLAGS FOR AUXILIARY MODULES (ADDONS-INTERFACE...)
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
function(optionnal_modules_flags)
## -- Simulink interface -- ##
option (FLAG_INTERFACE_SIMULINK "interfacing MBsysC with Simulink" OFF)
## -- Python interface -- ##
option (FLAG_INTERFACE_PYTHON "interfacing MBsysC with Python" OFF)
option (FLAG_IPY_WITH_MBS_LMGC "Compile python interface to MBS-LMGC module" OFF )
## -- Addons --##
# MBS-LMGC interaction
option (FLAG_ADDON_MBSLMGC "Including MBS-LMGC Addon" OFF)
endfunction()
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
# MBSYSC SPECIFIC FLAGS
......@@ -75,6 +91,12 @@ function(flags_check)
if (NOT FLAG_SEPARATE_BUILD)
set( FLAG_SEPARATE_SYMBOLIC OFF )
set( FLAG_SEPARATE_USER_FCT OFF )
# Interfaces
set( FLAG_INTERFACE_SIMULINK OFF )
set( FLAG_INTERFACE_PYTHON OFF )
# Addons
set( FLAG_IPY_WITH_MBS_LMGC OFF )
set( FLAG_ADDON_MBSLMGC OFF )
endif( )
if ((FLAG_SEPARATE_BUILD) OR (NOT DEFINED FLAG_SEPARATE_BUILD))
......@@ -85,6 +107,16 @@ function(flags_check)
set ( FLAG_PRJ_FCT_PTR OFF )
endif ( )
# Interfaces
if (NOT FLAG_INTERFACE_PYTHON) # Python
set( FLAG_IPY_WITH_MBS_LMGC OFF )
endif( )
# Addons
if (NOT FLAG_ADDON_MBSLMGC) # MBS-LMGC
set( FLAG_IPY_WITH_MBS_LMGC OFF )
endif( )
# parent scope
set( FLAG_RELEASE ${FLAG_RELEASE} PARENT_SCOPE )
set( FLAG_REAL_TIME ${FLAG_REAL_TIME} PARENT_SCOPE )
......@@ -95,6 +127,10 @@ function(flags_check)
set( FLAG_SEPARATE_SYMBOLIC ${FLAG_SEPARATE_SYMBOLIC} PARENT_SCOPE )
set( FLAG_SEPARATE_USER_FCT ${FLAG_SEPARATE_USER_FCT} PARENT_SCOPE )
set( FLAG_PRJ_FCT_PTR ${FLAG_PRJ_FCT_PTR} PARENT_SCOPE )
set( FLAG_INTERFACE_SIMULINK ${FLAG_INTERFACE_SIMULINK} PARENT_SCOPE )
set( FLAG_INTERFACE_PYTHON ${FLAG_INTERFACE_PYTHON} PARENT_SCOPE )
set( FLAG_IPY_WITH_MBS_LMGC ${FLAG_IPY_WITH_MBS_LMGC} PARENT_SCOPE )
set( FLAG_ADDON_MBSLMGC ${FLAG_ADDON_MBSLMGC} PARENT_SCOPE )
endfunction()
......
......@@ -89,7 +89,7 @@ SET(LIB_MBSYSC_INCLUDE_DIRS "${ROBOTRAN_SOURCE_DIR}/mbs_common/mbs_struct"
"${ROBOTRAN_SOURCE_DIR}/mbs_common/mbs_realtime/sdl/auto_plot"
)
configure_file(LibRobotranCConfig.cmake.in "${PROJECT_BINARY_DIR}/LibRobotranCConfig.cmake" @ONLY)
configure_file(LibRobotranCConfig.cmake.in "${CMAKE_BINARY_DIR}/LibRobotranCConfig.cmake" @ONLY)
if(hasParent) #compiled by standalone project
SET(LIB_MBSYSC_INCLUDE_DIRS ${LIB_MBSYSC_INCLUDE_DIRS} PARENT_SCOPE )
......
cmake_minimum_required(VERSION 2.8.7)
project(MBsysC_mbs_lmgc)
set(CMAKE_AUX "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake_aux")
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../conf/")
set(ROBOTRAN_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../")
set(ROBOTRAN_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/conf/")
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/lib)
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
......@@ -20,19 +17,20 @@ message(STATUS "Building the mbs_lmgc90 binding.")
# Compilation for LMGC90
set(ROBOTRAN_LMGC90_LIB_NAME "Robotran_Lmgc90")
set(libMbsFullPath "${PROJECT_BINARY_DIR}/lib${ROBOTRAN_LMGC90_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}")
#target_link_libraries( ${libMbsFullPath} MBsysC_loadXML MBsysC_module )
set(libMbsFullPath "${LIBRARY_OUTPUT_PATH}/${ROBOTRAN_LMGC90_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}")
set(project_libraries m ${libMbsFullPath} ${LIBXML2_LIBRARIES} ${GSL_LIBRARIES} )
# generate library for lmgc90
add_library (${ROBOTRAN_LMGC90_LIB_NAME} SHARED ${SOURCE_FILES} "${ROBOTRAN_SOURCE_DIR}/mbs_common/mbs_add_on/mbs_lmgc/mbs_lmgc.c")
add_library (${ROBOTRAN_LMGC90_LIB_NAME} SHARED ${SOURCE_FILES} "${CMAKE_CURRENT_SOURCE_DIR}/mbs_lmgc.c")
set_target_properties (${ROBOTRAN_LMGC90_LIB_NAME} PROPERTIES PREFIX "" SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}")
# get the path where MBsysC modules were compiled
find_path(LibRobotranC_DIR LibRobotranCConfig.cmake "${ROBOTRAN_SOURCE_DIR}/build")
find_path(LibRobotranC_DIR LibRobotranCConfig.cmake "${ROBOTRAN_SOURCE_DIR}")
# get the MBsysC modules libraries
find_package( LibRobotranC REQUIRED )
target_link_libraries( ${ROBOTRAN_LMGC90_LIB_NAME} ${LIB_MBSYSC_MODULES} ${LIB_MBSYSC_LOAD} ${LIB_MBSYSC_UTILITIES} )
target_link_libraries( ${ROBOTRAN_LMGC90_LIB_NAME} MBsysC_module MBsysC_loadXML MBsysC_utilities )
add_definitions(${LIB_MBSYSC_DEFINITIONS})
# include header from MBsysC modules
......@@ -41,14 +39,7 @@ include_directories(${ROBOTRAN_SOURCE_DIR}/mbs_common/mbs_numerics)
# write the configuration file for linking LMGC90 to this mbs_lmgc interface
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Robotran_Lmgc90.cfg.in
${CMAKE_BINARY_DIR}/Robotran_Lmgc90.cfg)
# copy the lilb from the current build directory to the main build dir (usefull only if this CMakeLists is called from another one)
add_custom_command(TARGET ${ROBOTRAN_LMGC90_LIB_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_BINARY_DIR}/lib${ROBOTRAN_LMGC90_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
${CMAKE_BINARY_DIR}/lib${ROBOTRAN_LMGC90_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
)
${CMAKE_CURRENT_BINARY_DIR}/Robotran_Lmgc90.cfg)
message(STATUS "Building the mbs_lmgc90 binding. --> DONE")
......@@ -75,13 +66,7 @@ add_custom_command(OUTPUT py_mbs_lmgc.c COMMAND ${CYTHON_EXECUTABLE} ${CMAKE_CUR
# add a library for compiling the py_mbs_lmgc.c
add_library(py_mbs_lmgc SHARED ${SOURCE_FILES} ${CMAKE_CURRENT_BINARY_DIR}/py_mbs_lmgc.c)
target_link_libraries( py_mbs_lmgc ${ROBOTRAN_LMGC90_LIB_NAME} )
# copy the generated library to main build dir and adapt the name for enabling module import from python
add_custom_command(TARGET py_mbs_lmgc POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_BINARY_DIR}/libpy_mbs_lmgc${CMAKE_SHARED_LIBRARY_SUFFIX}
${CMAKE_BINARY_DIR}/py_mbs_lmgc.so
)
set_target_properties (py_mbs_lmgc PROPERTIES PREFIX "" SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}")
message(STATUS "Building the cython interca to the mbs_lmgc90 binding. --> DONE")
......@@ -93,9 +93,9 @@ void mbs_lmgc_set_filename(int iMbs, char** filenamePtr, char* filename){
void mbs_lmgc_set_mbsdata(int iMbs, MbsData* mbs_data){
#ifdef DEBUG_PRINT
printf("set_mbs_data(%d, %s)\n", iMbs, mbs_data->mbs_filename);
printf("mbs_lmgc_set_mbsdata(%d, %s)\n", iMbs, mbs_data->mbs_filename);
#endif // DEBUG_PRINT
mbs_lmgc_checkMbsIndex(iMbs);
MbsLmgcData* mld;
mbs_lmgc_set_filename(iMbs, &(globalSystem->mbs_lmgc_s[iMbs].mbsFile) ,mbs_data->mbs_filename);
......
cmake_minimum_required(VERSION 2.8.0)
project("Python Interface for MBsysC")
message("Starting the ${PROJECT_NAME}")
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../conf)
set(CMAKE_C_FLAGS "-fPIC")
set(CMAKE_C_FLAGS_RELEASE "-O3" )
......@@ -12,14 +13,12 @@ find_package(Python REQUIRED)
#==============================================================================
# Defining useful variable
#==============================================================================
# FLAG to activate the interface with MBS-LMGC Module
option(IPY_WITH_MBS_LMGC "Compile interface to MBS-LMGC module" NO )
# PATH to the root of MBsysC
set(ROBOTRAN_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../")
# PATH to the root of mbs_common
set(MBS_SOURCE_DIR "${ROBOTRAN_SOURCE_DIR}/mbs_common")
set(MBS_SOURCE_DIR "${ROBOTRAN_SOURCE_DIR}mbs_common")
# PATH to the build folder of MBsysC
set(MBS_BUILD_DIR "${ROBOTRAN_SOURCE_DIR}/build")
set(MBS_BUILD_DIR "${ROBOTRAN_SOURCE_DIR}build")
# Find MBsysC Libraries
find_path(LibRobotranC_DIR LibRobotranCConfig.cmake "${MBS_BUILD_DIR}")
find_package( LibRobotranC REQUIRED )
......@@ -67,7 +66,7 @@ add_custom_command(OUTPUT mbs_data_py.c
add_library(mbs_data_py SHARED ${CMAKE_CURRENT_BINARY_DIR}/mbs_data_py.c)
set_target_properties(mbs_data_py PROPERTIES PREFIX "" )
set_target_properties(mbs_data_py PROPERTIES SUFFIX "${IPY_LIB_EXT}" )
target_link_libraries(mbs_data_py ${LIB_MBSYSC_MODULES} ${LIB_MBSYSC_LOAD} ${LIB_MBSYSC_UTILITIES})
target_link_libraries(mbs_data_py MBsysC_module MBsysC_loadXML MBsysC_utilities)
#==============================================================================
# 2. MBS_DIRDYN
......@@ -79,7 +78,7 @@ add_custom_command(OUTPUT mbs_dirdyn_py.c
add_library(mbs_dirdyn_py SHARED ${CMAKE_CURRENT_BINARY_DIR}/mbs_dirdyn_py.c)
set_target_properties(mbs_dirdyn_py PROPERTIES PREFIX "" )
set_target_properties(mbs_dirdyn_py PROPERTIES SUFFIX "${IPY_LIB_EXT}" )
target_link_libraries(mbs_dirdyn_py ${LIB_MBSYSC_MODULES} ${LIB_MBSYSC_LOAD} ${LIB_MBSYSC_UTILITIES} mbs_data_py)
target_link_libraries(mbs_dirdyn_py MBsysC_module MBsysC_loadXML MBsysC_utilities mbs_data_py)
#==============================================================================
# 3. MBS_PART
......@@ -91,17 +90,15 @@ add_custom_command(OUTPUT mbs_part_py.c
add_library(mbs_part_py SHARED ${CMAKE_CURRENT_BINARY_DIR}/mbs_part_py.c)
set_target_properties(mbs_part_py PROPERTIES PREFIX "" )
set_target_properties(mbs_part_py PROPERTIES SUFFIX "${IPY_LIB_EXT}" )
target_link_libraries(mbs_part_py ${LIB_MBSYSC_MODULES} ${LIB_MBSYSC_LOAD} ${LIB_MBSYSC_UTILITIES} mbs_data_py)
target_link_libraries(mbs_part_py MBsysC_module MBsysC_loadXML MBsysC_utilities mbs_data_py)
#==============================================================================
# 4. MBS_LMGC
#==============================================================================
IF(IPY_WITH_MBS_LMGC)
# Find library of the mbs-lmgc add-on
set(MBS_lMGC_ADD_ON "${MBS_SOURCE_DIR}/mbs_add_on/mbs_lmgc/build/libRobotran_Lmgc90.so")
IF(FLAG_IPY_WITH_MBS_LMGC)
# Folder containing the mbs-lmgc add-on
link_directories (${MBS_BUILD_DIR}/mbs_add_on/mbs_lmgc/build)
# Header of teh mbs-LMGC add-on
link_directories (${MBS_BUILD_DIR}/mbs_add_on/mbs_lmgc/lib)
# Header of the mbs-LMGC add-on
include_directories(${MBS_SOURCE_DIR}/mbs_add_on/mbs_lmgc)
# Building interface
add_custom_command(OUTPUT mbs_lmgc_py.c
......@@ -111,5 +108,5 @@ IF(IPY_WITH_MBS_LMGC)
add_library(mbs_lmgc_py SHARED ${CMAKE_CURRENT_BINARY_DIR}/mbs_lmgc_py.c)
set_target_properties(mbs_lmgc_py PROPERTIES PREFIX "" )
set_target_properties(mbs_lmgc_py PROPERTIES SUFFIX "${IPY_LIB_EXT}" )
target_link_libraries(mbs_lmgc_py ${LIB_MBSYSC_MODULES} ${LIB_MBSYSC_LOAD} ${LIB_MBSYSC_UTILITIES} mbs_data_py ${MBS_lMGC_ADD_ON})
ENDIF(IPY_WITH_MBS_LMGC)
target_link_libraries(mbs_lmgc_py MBsysC_module MBsysC_loadXML MBsysC_utilities mbs_data_py Robotran_Lmgc90)
ENDIF(FLAG_IPY_WITH_MBS_LMGC)
......@@ -130,7 +130,7 @@ TARGET_COMPILE_DEFINITIONS(simulinkLib PRIVATE -DMBS_SIMULINK)
find_path(LibRobotranC_DIR LibRobotranCConfig.cmake "${ROBOTRAN_SOURCE_DIR}/build")
find_package( LibRobotranC REQUIRED )
target_link_libraries( simulinkLib ${LIB_MBSYSC_MODULES} ${LIB_MBSYSC_LOAD} ${LIB_MBSYSC_UTILITIES} )
target_link_libraries( simulinkLib MBsysC_module MBsysC_loadXML ${LIB_MBSYSC_UTILITIES} )
add_definitions(${LIB_MBSYSC_DEFINITIONS})
include_directories(${LIB_MBSYSC_INCLUDE_DIRS})
......@@ -157,6 +157,6 @@ set_target_properties(simulinkLib PROPERTIES SUFFIX ".${Matlab_MEX_EXTENSION}")
add_custom_command(TARGET simulinkLib POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
"${CMAKE_BINARY_DIR}/${SFUNCTION_NAME}.${Matlab_MEX_EXTENSION}" "${PROJECT_SOURCE_DIR}/${SFUNCTION_NAME}.${Matlab_MEX_EXTENSION}")
"${CMAKE_CURRENT_BINARY_DIR}/${SFUNCTION_NAME}.${Matlab_MEX_EXTENSION}" "${PROJECT_SOURCE_DIR}/${SFUNCTION_NAME}.${Matlab_MEX_EXTENSION}")
......@@ -5,11 +5,14 @@
<folder name="dataR"/>
<folder name="resultsR"/>
<folder name="symbolicR"/>
<file src="C/CMakeLists_symbolicR.txt" dest="CMakeLists.txt"/>
<folder name="userfctR">
<file src="C/CMakeLists_userfctR.txt" dest="CMakeLists.txt"/>
<file src="C/user_cons_hJ.c" dest="user_cons_hJ.c"/>
<file src="C/user_cons_jdqd.c" dest="user_cons_jdqd.c"/>
<file src="C/user_Derivative.c" dest="user_Derivative.c"/>
<file src="C/user_dirdyn.c" dest="user_dirdyn.c"/>
<file src="C/user_equil.c" dest="user_equil.c"/>
<file src="C/user_DrivenJoints.c" dest="user_DrivenJoints.c"/>
<file src="C/user_ExtForces.c" dest="user_ExtForces.c"/>
<file src="C/user_IO.c" dest="user_IO.c"/>
......@@ -26,17 +29,17 @@
<file src="C/user_realtime_visu.c" dest="user_realtime_visu.c"/>
</folder>
</folder>
<folder name="workR">
<file src="C/CMakeLists_NSCD.txt" dest="CMakeLists.txt"/>
<folder name="workR">
<file src="C/CMakeLists_NSCD.txt" dest="CMakeLists.txt"/>
<file src="C/Robotran_Lmgc90.cfg.in" dest="Robotran_Lmgc90.cfg.in"/>
<folder name="src">
<file src="C/_simple_main.c" dest="main.c"/>
</folder>
<folder name="lmgc90">
<file src="C/command_LMGC_MBS.py" dest="command_LMGC_MBS.py"/>
<folder name="DATBOX"/>
<folder name="DISPLAY"/>
<folder name="OUTBOX"/>
<folder name="lmgc90">
<file src="C/command_LMGC_MBS.py" dest="command_LMGC_MBS.py"/>
<folder name="DATBOX"/>
<folder name="DISPLAY"/>
<folder name="OUTBOX"/>
<folder name="POSTPRO"/>
</folder>
</folder>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment