This commit is contained in:
Penn, John M 047828115 2019-11-19 14:35:53 -06:00
commit f157b2a8ee
181 changed files with 3235 additions and 775 deletions

View File

@ -0,0 +1,31 @@
name: Test Docker Hub Images
on: [push]
jobs:
centos7:
runs-on: ubuntu-18.04
container: docker://nasatrick/trick_centos7:latest
steps:
- name: run tests
run: |
cd /trick*
make test
centos8:
runs-on: ubuntu-18.04
container: docker://nasatrick/trick_centos8:latest
steps:
- name: run tests
run: |
cd /trick*
make test
ubuntu1804:
runs-on: ubuntu-18.04
container: docker://nasatrick/trick_ubuntu1804:latest
steps:
- name: run tests
run: |
cd /trick*
make test

View File

@ -0,0 +1,171 @@
name: Trick CI
on: [push]
jobs:
ubuntu-1604:
runs-on: ubuntu-18.04
container: docker://ubuntu:16.04
steps:
- name: Checkout repository
uses: actions/checkout@master
- name: update apt
run: apt-get update
- name: Install dependencies
run: >
apt-get install -y git bison curl flex g++ libx11-dev libxml2-dev libxt-dev
libmotif-common libmotif-dev make openjdk-8-jdk python2.7-dev swig
zlib1g-dev llvm llvm-dev clang libclang-dev libudunits2-dev
libgtest-dev cmake
- name: Build gtest
run: cd /usr/src/gtest && cmake . && make && cp libgtest* /usr/lib/
- name: Build Trick
run: |
export MAKEFLAGS=-j4
./configure
make
- name: Run tests
run: make test
ubuntu-1804:
runs-on: ubuntu-18.04
container: docker://ubuntu:18.04
steps:
- name: Checkout repository
uses: actions/checkout@master
- name: update apt
run: apt-get update
- name: Install dependencies
run: >
apt-get install -y git bison curl flex g++ libx11-dev libxml2-dev libxt-dev
libmotif-common libmotif-dev make openjdk-8-jdk python2.7-dev swig
zlib1g-dev llvm llvm-dev clang libclang-dev libudunits2-dev
libgtest-dev cmake
- name: Build gtest
run: cd /usr/src/gtest && cmake . && make && cp libgtest* /usr/lib/
- name: Build Trick
run: |
export MAKEFLAGS=-j4
./configure
make
- name: Run tests
run: make test
ubuntu-1904:
runs-on: ubuntu-18.04
container: docker://ubuntu:19.04
steps:
- name: Checkout repository
uses: actions/checkout@master
- name: update apt
run: apt-get update
- name: Install dependencies
run: >
apt-get install -y git bison curl flex g++ libx11-dev libxml2-dev libxt-dev
libmotif-common libmotif-dev make openjdk-8-jdk python2.7-dev swig
zlib1g-dev llvm llvm-dev clang libclang-dev libudunits2-dev
libgtest-dev cmake
- name: Build gtest
run: cd /usr/src/gtest && cmake . && make && cp libgtest* /usr/lib/
- name: Build Trick
run: |
export MAKEFLAGS=-j4
./configure
make
- name: Run tests
run: make test
macOS:
runs-on: macOS-latest
steps:
- name: Checkout repository
uses: actions/checkout@master
- name: Install gtest
run: |
wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz
tar xzvf release-1.8.0.tar.gz
cd googletest-release-1.8.0/googletest
cmake .
make
make install
- name: Install dependencies
run: |
# sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.15.pkg -target /
brew cask install xquartz
brew install llvm swig udunits openmotif
- name: Build Trick
run: |
export MAKEFLAGS=-j4
./configure
make
- name: Run tests
run: |
export MAKEFLAGS=-j4
make test
centos-7:
runs-on: ubuntu-18.04
container: docker://centos:7
steps:
- name: Checkout repository
uses: actions/checkout@master
- name: Install the epel repository and update yum
run: yum -y install epel-release && yum -y update
- name: Install dependencies
run: >
yum install -y git bison flex gcc gcc-c++ make which clang clang-devel
llvm llvm-devel llvm-static libxml2-devel libX11-devel libXt-devel
ncurses-devel openmotif openmotif-devel perl perl-Digest-MD5
python-devel swig zlib-devel udunits2 udunits2-devel
java-1.8.0-openjdk-devel gtest-devel
- name: Build Trick
run: |
export MAKEFLAGS=-j4
./configure
make
- name: Run tests
run: make test
fedora-30:
runs-on: ubuntu-18.04
container: docker://fedora:30
steps:
- name: Checkout repository
uses: actions/checkout@master
- name: Install dependencies
run: >
dnf install -y git bison flex gcc gcc-c++ libxml2-devel make openmotif
openmotif-devel python-devel perl swig zlib-devel llvm llvm-devel llvm-static
clang clang-devel perl-Text-Balanced perl-Digest-MD5 udunits2 udunits2-devel
java-1.8.0-openjdk-devel ncurses-devel which
- name: Install gtest
run: dnf install -y gtest-devel
- name: Build Trick
run: |
export MAKEFLAGS=-j4
./configure
make
- name: Run tests
run: make test

4
.gitignore vendored
View File

@ -9,8 +9,8 @@ lib64
lib_Linux_*
lib_Darwin_*
*.lex.c
*.tab.c
*.tab.h
*.tab.cpp
*.tab.hpp
*.swp
*.dox
*.pyc

389
CMakeLists.txt Normal file
View File

@ -0,0 +1,389 @@
cmake_minimum_required(VERSION 2.8)
project(trick)
set(TRICK_MAJOR 19)
set(TRICK_MINOR 1)
set(TRICK_TINY dev)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(TRICK_FORCE_32BIT OFF CACHE BOOL "Set Trick to compile in 32bit mode")
#set(USE_JAVA ON CACHE BOOL "Use java")
set(USE_ER7_UTILS ON CACHE BOOL "Use er7_utils")
set(UDUNITS2_ROOT "" CACHE STRING "UDUNITS home directory")
#message("UDUNITS2_ROOT = ${UDUNITS2_ROOT}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
if(EXISTS "/etc/redhat-release")
if(TRICK_FORCE_32BIT)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
else()
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib64)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib64)
endif()
else()
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
endif()
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules)
include(UseJava)
find_package(Java REQUIRED)
find_package(BISON REQUIRED)
find_package(FLEX REQUIRED)
find_package(LLVM 3.4 REQUIRED)
find_package(Perl REQUIRED)
find_package(PythonInterp REQUIRED)
find_package(PythonLibs REQUIRED)
find_package(SWIG REQUIRED)
find_package(Tee REQUIRED)
find_package(Threads REQUIRED)
find_package(UDUNITS2 REQUIRED)
find_package(LibXml2 REQUIRED)
find_package(HDF5)
find_package(GSL)
find_package(X11)
find_package(Motif)
add_definitions( -DTRICK_VER=${TRICK_MAJOR} )
if(USE_ER7_UTILS)
add_definitions( -DUSE_ER7_UTILS_INTEGRATORS)
endif()
if(GSL_FOUND)
add_definitions( -D_HAVE_GSL)
endif()
include_directories( ${CMAKE_BINARY_DIR}/include)
include_directories( ${CMAKE_BINARY_DIR}/include/trick/compat)
file(COPY bin DESTINATION ${CMAKE_BINARY_DIR})
file(COPY include DESTINATION ${CMAKE_BINARY_DIR})
file(COPY libexec DESTINATION ${CMAKE_BINARY_DIR})
file(COPY share DESTINATION ${CMAKE_BINARY_DIR})
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/include/mongoose)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/temp_src/io_src)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/temp_src/lex_yacc)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/temp_src/mongoose)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/temp_src/swig)
# copy er7_util header files to build directory
file(GLOB_RECURSE ER7_UTIL_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/trick_source/er7_utils ${CMAKE_CURRENT_SOURCE_DIR}/trick_source/er7_utils/*.hh)
foreach ( infile ${ER7_UTIL_HEADERS} )
get_filename_component(dir ${infile} DIRECTORY)
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/trick_source/er7_utils/${infile} DESTINATION "${CMAKE_BINARY_DIR}/include/er7_utils/${dir}")
endforeach(infile)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/share/trick/makefiles/config_user_cmake.mk.in ${CMAKE_BINARY_DIR}/share/trick/makefiles/config_user.mk)
###############################################################
# mongoose lib
###############################################################
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/include/mongoose/mongoose.h
COMMAND curl --retry 4 -O https://raw.githubusercontent.com/cesanta/mongoose/6.16/mongoose.h
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/include/mongoose
)
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/temp_src/mongoose/mongoose.c
COMMAND curl --retry 4 -O https://raw.githubusercontent.com/cesanta/mongoose/6.16/mongoose.c
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/temp_src/mongoose
DEPENDS ${CMAKE_BINARY_DIR}/include/mongoose/mongoose.h
)
add_library(mongoose STATIC ${CMAKE_BINARY_DIR}/temp_src/mongoose/mongoose.c)
target_include_directories( mongoose PUBLIC ${CMAKE_BINARY_DIR}/include/mongoose )
###############################################################
# io_src files
###############################################################
set( IO_SRC
${CMAKE_BINARY_DIR}/temp_src/io_src/class_map.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_ABM_Integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_AttributesMap.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_BC635Clock.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_CheckPointAgent.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_CheckPointRestart.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Clock.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_CommandLineArguments.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_DMTCP.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_DRAscii.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_DRBinary.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_DRHDF5.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_DataRecordDispatcher.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_DataRecordGroup.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_DebugPause.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_EchoJobs.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_EnumAttributesMap.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Environment.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Euler_Cromer_Integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Euler_Integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Event.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_EventInstrument.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_EventManager.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_EventProcessor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Executive.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_ExecutiveException.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_ExternalApplication.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Flag.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_FrameDataRecordGroup.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_FrameLog.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_GetTimeOfDayClock.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_IPPython.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_IPPythonEvent.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_ITimer.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_InputProcessor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_InstrumentBase.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_IntegLoopManager.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_IntegLoopScheduler.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_IntegLoopSimObject.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_JITEvent.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_JITInputFile.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_JSONVariableServer.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_JSONVariableServerThread.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_JobData.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MM4_Integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MSConnect.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MSSharedMem.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MSSocket.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MTV.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MalfunctionsTrickView.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Master.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MemoryManager.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MessageCout.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MessageFile.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MessageLCout.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MessagePublisher.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MessageSubscriber.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MessageTCDevice.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MessageThreadedCout.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MonteCarlo.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MonteMonitor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_MonteVar.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_NL2_Integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_PlaybackFile.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_RK2_Integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_RK4_Integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_RKF45_Integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_RKF78_Integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_RKG4_Integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_RealtimeSync.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_RemoteShell.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_RtiEvent.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_RtiExec.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_RtiList.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_RtiStager.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_STLInterface.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_ScheduledJobQueue.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Scheduler.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Sie.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_SimControlPanel.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_SimObject.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_SimTime.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Slave.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_StripChart.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_TPROCTEClock.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_ThreadBase.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_ThreadTrigger.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Threads.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Timer.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_TrickView.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_UCFn.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_UdUnits.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Unit.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_UnitTest.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_UnitsMap.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_VariableServer.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_VariableServerListenThread.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_VariableServerReference.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_VariableServerThread.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_WebServer.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_WebSocketSession.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_Zeroconf.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_attributes.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_dllist.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_io_alloc.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_lqueue.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_lstack.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_message_type.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_mm_error.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_ms_sim_mode.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_n_choose_m.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_parameter_types.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rand_generator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_reference.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_reference_frame.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_regula_falsi.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_sim_mode.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_tc.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_time_offset.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_trick_error_hndlr.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_tsm.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_units_conv.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_value.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_var.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_variable_server_sync_types.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_wave_form.cpp
)
set( ER7_UTILS_IO_SRC
${CMAKE_BINARY_DIR}/temp_src/io_src/io_abm4_first_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_abm4_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_abm4_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_base_integration_group.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_beeman_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_beeman_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_bogus_integration_controls.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_deletable.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_euler_first_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_euler_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_euler_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_first_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_generalized_position_derivative.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_integrable_object.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_integration_controls.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_integration_messages.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_integration_technique.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_integrator_constructor_factory.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_integrator_interface.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_integrator_result.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_integrator_result_merger.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_integrator_result_merger_container.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_left_quaternion_functions.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_mm4_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_mm4_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_nl2_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_nl2_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_position_verlet_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_position_verlet_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_priming_first_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_priming_integration_controls.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_priming_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_priming_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_ratio128.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rk2_heun_first_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rk2_heun_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rk2_heun_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rk2_midpoint_first_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rk2_midpoint_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rk2_midpoint_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rk4_first_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rk4_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rk4_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rk4_second_order_ode_integrator_base.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rkf45_first_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rkf45_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rkf45_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rkf78_first_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rkf78_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rkf78_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rkg4_first_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rkg4_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_rkg4_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_single_cycle_integration_controls.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_standard_integration_controls.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_state_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_symplectic_euler_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_symplectic_euler_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_time_interface.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_trick_first_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_trick_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_trick_second_order_ode_integrator.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_uint128.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_velocity_verlet_integrator_constructor.cpp
${CMAKE_BINARY_DIR}/temp_src/io_src/io_velocity_verlet_second_order_ode_integrator.cpp
)
set(ENV{TRICK_ICG_EXCLUDE} ${CMAKE_BINARY_DIR}/include/mongoose)
set(ICG_FLAGS -I${CMAKE_BINARY_DIR}/include -I${CMAKE_BINARY_DIR}/include/trick/compat -I${UDUNITS2_INCLUDES} -DTRICK_VER=${TRICK_MAJOR} -DUSE_ER7_UTILS_INTEGRATORS)
add_custom_command(OUTPUT ${IO_SRC} ${ER7_UTILS_IO_SRC}
COMMAND TRICK_ICG_EXCLUDE=${CMAKE_BINARY_DIR}/include/mongoose ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/trick-ICG -force -sim_services -m -n -o ${CMAKE_BINARY_DIR}/temp_src/io_src ${ICG_FLAGS} ${CMAKE_BINARY_DIR}/include/trick/files_to_ICG.hh
DEPENDS trick-ICG
)
add_library( trick STATIC $<TARGET_OBJECTS:sim_services_objs> $<TARGET_OBJECTS:trick_utils_objs> ${IO_SRC})
target_include_directories( trick PUBLIC ${UDUNITS2_INCLUDES} )
add_library( er7_utils STATIC $<TARGET_OBJECTS:er7_utils_objs> ${ER7_UTILS_IO_SRC})
# fake dependency to avoid double ICG
add_dependencies(er7_utils trick)
###############################################################
# libtrick_pyip.a
###############################################################
set( TRICK_SWIG_SRC
trick_source/trick_swig/PrimitiveAttributesMap
trick_source/trick_swig/swig_convert_units
trick_source/trick_swig/swig_global_vars
)
# Generated SWIG files
set( SWIG_SRC
${CMAKE_BINARY_DIR}/temp_src/swig/sim_services_wrap
${CMAKE_BINARY_DIR}/temp_src/swig/swig_double_wrap
${CMAKE_BINARY_DIR}/temp_src/swig/swig_int_wrap
${CMAKE_BINARY_DIR}/temp_src/swig//swig_ref_wrap
)
set( SWIG_SRC_BASENAME
sim_services
swig_double
swig_int
swig_ref
)
set(SWIG_FLAGS -DUSE_ER7_UTILS_INTEGRATORS)
if(GSL_FOUND)
list( APPEND SWIG_FLAGS -D_HAVE_GSL )
endif()
foreach ( infile ${SWIG_SRC_BASENAME} )
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/temp_src/swig/${infile}_wrap.cpp
COMMAND ${SWIG_EXECUTABLE} ${SWIG_FLAGS} -I${CMAKE_CURRENT_SOURCE_DIR}/trick_source -I${CMAKE_CURRENT_SOURCE_DIR}/include -I${CMAKE_CURRENT_SOURCE_DIR} -c++ -python -includeall -ignoremissing -w201,362,389,451 -o $@ -outdir ${CMAKE_BINARY_DIR}/share/trick/swig ${CMAKE_CURRENT_SOURCE_DIR}/trick_source/trick_swig/${infile}.i
)
endforeach(infile)
add_library( trick_pyip STATIC $<TARGET_OBJECTS:input_processor_objs> ${TRICK_SWIG_SRC} ${SWIG_SRC})
target_include_directories( trick_pyip PUBLIC ${PYTHON_INCLUDE_DIRS} )
target_include_directories( trick_pyip PUBLIC ${UDUNITS2_INCLUDES} )
if(GSL_FOUND)
target_include_directories( trick_pyip PUBLIC ${GSL_INCLUDE_DIRS} )
endif()
target_include_directories( trick_pyip PUBLIC trick_source )
###############################################################
# libtrickHTTP.a
###############################################################
set( TRICKHTTP_SRC
trick_source/web/HttpServer/src/VariableServerSession
trick_source/web/HttpServer/src/VariableServerVariable
trick_source/web/HttpServer/src/WebServer
trick_source/web/HttpServer/src/http_GET_handlers
trick_source/web/HttpServer/src/simpleJSON
)
add_library( trickHTTP STATIC ${TRICKHTTP_SRC})
add_dependencies( trickHTTP mongoose)
###############################################################
# Other Trick libraries
###############################################################
add_subdirectory(trick_source/codegen/Interface_Code_Gen)
add_subdirectory(trick_source/er7_utils)
add_subdirectory(trick_source/sim_services)
add_subdirectory(trick_source/trick_utils)
add_subdirectory(trick_source/java/src)
add_subdirectory(trick_source/data_products)

193
CMakeModules/FindLLVM.cmake Normal file
View File

@ -0,0 +1,193 @@
# - Find LLVM headers and libraries.
# This module locates LLVM and adapts the llvm-config output for use with
# CMake.
#
# A given list of COMPONENTS is passed to llvm-config.
#
# The following variables are defined:
# LLVM_FOUND - true if LLVM was found
# LLVM_CXXFLAGS - C++ compiler flags for files that include LLVM headers.
# LLVM_HOST_TARGET - Target triple used to configure LLVM.
# LLVM_INCLUDE_DIRS - Directory containing LLVM include files.
# LLVM_LDFLAGS - Linker flags to add when linking against LLVM
# (includes -LLLVM_LIBRARY_DIRS).
# LLVM_LIBRARIES - Full paths to the library files to link against.
# LLVM_LIBRARY_DIRS - Directory containing LLVM libraries.
# LLVM_NATIVE_ARCH - Backend corresponding to LLVM_HOST_TARGET, e.g.,
# X86 for x86_64 and i686 hosts.
# LLVM_ROOT_DIR - The root directory of the LLVM installation.
# llvm-config is searched for in ${LLVM_ROOT_DIR}/bin.
# LLVM_VERSION_MAJOR - Major version of LLVM.
# LLVM_VERSION_MINOR - Minor version of LLVM.
# LLVM_VERSION_STRING - Full LLVM version string (e.g. 6.0.0svn).
# LLVM_VERSION_BASE_STRING - Base LLVM version string without git/svn suffix (e.g. 6.0.0).
#
# Note: The variable names were chosen in conformance with the offical CMake
# guidelines, see ${CMAKE_ROOT}/Modules/readme.txt.
# Try suffixed versions to pick up the newest LLVM install available on Debian
# derivatives.
# We also want an user-specified LLVM_ROOT_DIR to take precedence over the
# system default locations such as /usr/local/bin. Executing find_program()
# multiples times is the approach recommended in the docs.
set(llvm_config_names llvm-config-9.0 llvm-config90
llvm-config-8.0 llvm-config80
llvm-config-7.0 llvm-config70
llvm-config-6.0 llvm-config60
llvm-config-5.0 llvm-config50
llvm-config-4.0 llvm-config40
llvm-config-3.9 llvm-config39
llvm-config)
find_program(LLVM_CONFIG
NAMES ${llvm_config_names}
PATHS ${LLVM_ROOT_DIR}/bin /usr/local/opt/llvm/bin NO_DEFAULT_PATH
DOC "Path to llvm-config tool.")
find_program(LLVM_CONFIG NAMES ${llvm_config_names})
# Prints a warning/failure message depending on the required/quiet flags. Copied
# from FindPackageHandleStandardArgs.cmake because it doesn't seem to be exposed.
macro(_LLVM_FAIL _msg)
if(LLVM_FIND_REQUIRED)
message(FATAL_ERROR "${_msg}")
else()
if(NOT LLVM_FIND_QUIETLY)
message(STATUS "${_msg}")
endif()
endif()
endmacro()
if(NOT LLVM_CONFIG)
if(NOT LLVM_FIND_QUIETLY)
message(WARNING "Could not find llvm-config (LLVM >= ${LLVM_FIND_VERSION}). Try manually setting LLVM_CONFIG to the llvm-config executable of the installation to use.")
endif()
else()
macro(llvm_set var flag)
if(LLVM_FIND_QUIETLY)
set(_quiet_arg ERROR_QUIET)
endif()
set(result_code)
execute_process(
COMMAND ${LLVM_CONFIG} --${flag}
RESULT_VARIABLE result_code
OUTPUT_VARIABLE LLVM_${var}
OUTPUT_STRIP_TRAILING_WHITESPACE
${_quiet_arg}
)
if(result_code)
_LLVM_FAIL("Failed to execute llvm-config ('${LLVM_CONFIG}', result code: '${result_code})'")
else()
if(${ARGV2})
file(TO_CMAKE_PATH "${LLVM_${var}}" LLVM_${var})
endif()
endif()
endmacro()
macro(llvm_set_libs var flag components)
if(LLVM_FIND_QUIETLY)
set(_quiet_arg ERROR_QUIET)
endif()
set(result_code)
execute_process(
COMMAND ${LLVM_CONFIG} --${flag} ${components}
RESULT_VARIABLE result_code
OUTPUT_VARIABLE tmplibs
OUTPUT_STRIP_TRAILING_WHITESPACE
${_quiet_arg}
)
if(result_code)
_LLVM_FAIL("Failed to execute llvm-config ('${LLVM_CONFIG}', result code: '${result_code})'")
else()
file(TO_CMAKE_PATH "${tmplibs}" tmplibs)
string(REGEX MATCHALL "${pattern}[^ ]+" LLVM_${var} ${tmplibs})
endif()
endmacro()
llvm_set(VERSION_STRING version)
llvm_set(CXXFLAGS cxxflags)
llvm_set(HOST_TARGET host-target)
llvm_set(INCLUDE_DIRS includedir true)
llvm_set(ROOT_DIR prefix true)
llvm_set(ENABLE_ASSERTIONS assertion-mode)
# The LLVM version string _may_ contain a git/svn suffix, so match only the x.y.z part
string(REGEX MATCH "^[0-9]+[.][0-9]+[.][0-9]+" LLVM_VERSION_BASE_STRING "${LLVM_VERSION_STRING}")
# Versions below 4.0 do not support components debuginfomsf and demangle
if(${LLVM_VERSION_STRING} MATCHES "^3\\..*")
list(REMOVE_ITEM LLVM_FIND_COMPONENTS "debuginfomsf" index)
list(REMOVE_ITEM LLVM_FIND_COMPONENTS "demangle" index)
endif()
# Versions below 6.0 do not support component windowsmanifest
if(${LLVM_VERSION_STRING} MATCHES "^[3-5]\\..*")
list(REMOVE_ITEM LLVM_FIND_COMPONENTS "windowsmanifest" index)
endif()
llvm_set(LDFLAGS ldflags)
# In LLVM 3.5+, the system library dependencies (e.g. "-lz") are accessed
# using the separate "--system-libs" flag.
llvm_set(SYSTEM_LIBS system-libs)
string(REPLACE "\n" " " LLVM_LDFLAGS "${LLVM_LDFLAGS} ${LLVM_SYSTEM_LIBS}")
string(STRIP ${LLVM_LDFLAGS} LLVM_LDFLAGS)
llvm_set(LIBRARY_DIRS libdir true)
llvm_set_libs(LIBRARIES libs "${LLVM_FIND_COMPONENTS}")
# LLVM bug: llvm-config --libs tablegen returns -lLLVM-3.8.0
# but code for it is not in shared library
if("${LLVM_FIND_COMPONENTS}" MATCHES "tablegen")
if (NOT "${LLVM_LIBRARIES}" MATCHES "LLVMTableGen")
set(LLVM_LIBRARIES "${LLVM_LIBRARIES};-lLLVMTableGen")
endif()
endif()
# Versions below 4.0 do not support llvm-config --cmakedir
if(${LLVM_VERSION_STRING} MATCHES "^3\\..*")
set(LLVM_CMAKEDIR ${LLVM_LIBRARY_DIRS}/cmake/llvm)
else()
llvm_set(CMAKEDIR cmakedir)
endif()
llvm_set(TARGETS_TO_BUILD targets-built)
string(REGEX MATCHALL "${pattern}[^ ]+" LLVM_TARGETS_TO_BUILD ${LLVM_TARGETS_TO_BUILD})
# Parse LLVM_NATIVE_ARCH manually from LLVMConfig.cmake; including it leads to issues like
# https://github.com/ldc-developers/ldc/issues/3079.
file(STRINGS "${LLVM_CMAKEDIR}/LLVMConfig.cmake" LLVM_NATIVE_ARCH LIMIT_COUNT 1 REGEX "^set\\(LLVM_NATIVE_ARCH (.+)\\)$")
string(REGEX MATCH "set\\(LLVM_NATIVE_ARCH (.+)\\)" LLVM_NATIVE_ARCH "${LLVM_NATIVE_ARCH}")
set(LLVM_NATIVE_ARCH ${CMAKE_MATCH_1})
message(STATUS "LLVM_NATIVE_ARCH: ${LLVM_NATIVE_ARCH}")
endif()
# On CMake builds of LLVM, the output of llvm-config --cxxflags does not
# include -fno-rtti, leading to linker errors. Be sure to add it.
if(NOT MSVC AND (CMAKE_COMPILER_IS_GNUCXX OR (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")))
if(NOT ${LLVM_CXXFLAGS} MATCHES "-fno-rtti")
set(LLVM_CXXFLAGS "${LLVM_CXXFLAGS} -fno-rtti")
endif()
endif()
# Remove some clang-specific flags for gcc.
if(CMAKE_COMPILER_IS_GNUCXX)
string(REPLACE "-Wcovered-switch-default " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
string(REPLACE "-Wstring-conversion " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
string(REPLACE "-fcolor-diagnostics " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
# this requires more recent gcc versions (not supported by 4.9)
string(REPLACE "-Werror=unguarded-availability-new " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
endif()
# Remove gcc-specific flags for clang.
if(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
string(REPLACE "-Wno-maybe-uninitialized " "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS})
endif()
string(REGEX REPLACE "([0-9]+).*" "\\1" LLVM_VERSION_MAJOR "${LLVM_VERSION_STRING}" )
string(REGEX REPLACE "[0-9]+\\.([0-9]+).*[A-Za-z]*" "\\1" LLVM_VERSION_MINOR "${LLVM_VERSION_STRING}" )
if (${LLVM_VERSION_STRING} VERSION_LESS ${LLVM_FIND_VERSION})
message(FATAL_ERROR "Unsupported LLVM version found ${LLVM_VERSION_STRING}. At least version ${LLVM_FIND_VERSION} is required.")
endif()
# Use the default CMake facilities for handling QUIET/REQUIRED.
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LLVM
REQUIRED_VARS LLVM_ROOT_DIR LLVM_HOST_TARGET
VERSION_VAR LLVM_VERSION_STRING)

View File

@ -0,0 +1,19 @@
# FindTee
# --------
#
# Find tee
#
# This module looks for tee. This module defines the following values:
#
# ::
#
# TEE_EXECUTABLE: the full path to the tee tool.
# TEE_FOUND: True if tee has been found.
find_program(TEE_EXECUTABLE tee)
mark_as_advanced( TEE_EXECUTABLE )
include (FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TEE REQUIRED_VARS TEE_EXECUTABLE)

View File

@ -0,0 +1,92 @@
# - Find UDUNITS2
# Find the native UDUNITS2 includes and library
#
# UDUNITS2_INCLUDES - where to find udunits2.h
# UDUNITS2_LIBRARIES - libraries to link with
# UDUNITS2_FOUND - True if UDUNITS2 was found.
message(STATUS "UDUNITS2_ROOT = ${UDUNITS2_ROOT}")
if (UDUNITS2_INCLUDES)
# Already in cache, be silent
set (UDUNITS2_FIND_QUIETLY TRUE)
endif (UDUNITS2_INCLUDES)
find_path (UDUNITS2_INCLUDES udunits2.h
HINTS "${UDUNITS2_ROOT}/include" "$ENV{UDUNITS2_ROOT}/include"
PATH_SUFFIXES "udunits2"
DOC "Path to udunits2.h")
# UDUNITS2 headers might be in .../include or .../include/udunits2.
# We try both.
if (${UDUNITS2_INCLUDES} MATCHES "udunits2/?$")
string(REGEX REPLACE "/include/udunits2/?$" "/lib"
UDUNITS2_LIB_HINT ${UDUNITS2_INCLUDES})
else()
string(REGEX REPLACE "/include/?$" "/lib"
UDUNITS2_LIB_HINT ${UDUNITS2_INCLUDES})
endif()
find_library (UDUNITS2_LIBRARIES
NAMES udunits2
HINTS ${UDUNITS2_LIB_HINT})
set(UDUNITS2_TEST_SRC "
#include <udunits2.h>
int main(int argc, char **argv) {
ut_system *s = ut_read_xml(NULL);
ut_free_system(s);
return 0;
}
")
if ((NOT UDUNITS2_LIBRARIES) OR (NOT UDUNITS2_INCLUDES))
message(STATUS "Trying to find UDUNITS-2 using LD_LIBRARY_PATH (we're desperate)...")
file(TO_CMAKE_PATH "$ENV{LD_LIBRARY_PATH}" LD_LIBRARY_PATH)
find_library(UDUNITS2_LIBRARIES
NAMES udunits2
HINTS ${LD_LIBRARY_PATH})
if (UDUNITS2_LIBRARIES)
get_filename_component(UDUNITS2_LIB_DIR ${UDUNITS2_LIBRARIES} PATH)
string(REGEX REPLACE "/lib/?$" "/include"
UDUNITS2_H_HINT ${UDUNITS2_LIB_DIR})
find_path (UDUNITS2_INCLUDES udunits2.h
HINTS ${UDUNITS2_H_HINT}
PATH_SUFFIXES "udunits2"
DOC "Path to udunits2.h")
endif()
endif()
include (CheckCSourceRuns)
set(CMAKE_REQUIRED_INCLUDES ${UDUNITS2_INCLUDES})
set(CMAKE_REQUIRED_LIBRARIES ${UDUNITS2_LIBRARIES})
check_c_source_runs("${UDUNITS2_TEST_SRC}" UDUNITS2_WORKS_WITHOUT_EXPAT)
if(${UDUNITS2_WORKS_WITHOUT_EXPAT})
#message(STATUS "UDUNITS-2 does not require expat")
else()
find_package(EXPAT REQUIRED)
set(CMAKE_REQUIRED_INCLUDES ${UDUNITS2_INCLUDES} ${EXPAT_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES ${UDUNITS2_LIBRARIES} ${EXPAT_LIBRARIES})
check_c_source_runs("${UDUNITS2_TEST_SRC}" UDUNITS2_WORKS_WITH_EXPAT)
if(NOT ${UDUNITS2_WORKS_WITH_EXPAT})
message(FATAL_ERROR "UDUNITS-2 does not seem to work with or without expat")
endif()
#message(STATUS "UDUNITS-2 requires EXPAT")
set (UDUNITS2_LIBRARIES "${UDUNITS2_LIBRARIES};${EXPAT_LIBRARIES}" CACHE STRING "" FORCE)
endif()
# handle the QUIETLY and REQUIRED arguments and set UDUNITS2_FOUND to TRUE if
# all listed variables are TRUE
include (FindPackageHandleStandardArgs)
find_package_handle_standard_args (UDUNITS2 DEFAULT_MSG UDUNITS2_LIBRARIES UDUNITS2_INCLUDES)
mark_as_advanced (UDUNITS2_LIBRARIES UDUNITS2_INCLUDES)

View File

@ -14,7 +14,7 @@ Programmers:
#ifdef USE_ER7_UTILS_INTEGRATORS
#include "er7_utils/integration/abm4/include/abm4_integrator_constructor.hh"
#include "er7_utils/trick/integration/include/first_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_first_order_ode_integrator.hh"
namespace Trick {

View File

@ -16,7 +16,7 @@ Programmers:
#include <cstring>
#include "er7_utils/integration/symplectic_euler/include/symplectic_euler_integrator_constructor.hh"
#include "er7_utils/trick/integration/include/second_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_second_order_ode_integrator.hh"
namespace Trick {

View File

@ -14,7 +14,7 @@ Programmers:
#ifdef USE_ER7_UTILS_INTEGRATORS
#include "er7_utils/integration/euler/include/euler_integrator_constructor.hh"
#include "er7_utils/trick/integration/include/first_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_first_order_ode_integrator.hh"
namespace Trick {

View File

@ -14,7 +14,7 @@ Programmers:
#ifdef USE_ER7_UTILS_INTEGRATORS
#include "er7_utils/integration/mm4/include/mm4_integrator_constructor.hh"
#include "er7_utils/trick/integration/include/second_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_second_order_ode_integrator.hh"
namespace Trick {

View File

@ -14,7 +14,7 @@ Programmers:
#ifdef USE_ER7_UTILS_INTEGRATORS
#include "er7_utils/integration/nl2/include/nl2_integrator_constructor.hh"
#include "er7_utils/trick/integration/include/second_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_second_order_ode_integrator.hh"
namespace Trick {

View File

@ -14,7 +14,7 @@ Programmers:
#ifdef USE_ER7_UTILS_INTEGRATORS
#include "er7_utils/integration/rk2_heun/include/rk2_heun_integrator_constructor.hh"
#include "er7_utils/trick/integration/include/first_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_first_order_ode_integrator.hh"
namespace Trick {

View File

@ -14,7 +14,7 @@ Programmers:
#ifdef USE_ER7_UTILS_INTEGRATORS
#include "er7_utils/integration/rk4/include/rk4_integrator_constructor.hh"
#include "er7_utils/trick/integration/include/first_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_first_order_ode_integrator.hh"
namespace Trick {

View File

@ -14,7 +14,7 @@ Programmers:
#ifdef USE_ER7_UTILS_INTEGRATORS
#include "er7_utils/integration/rkf45/include/rkf45_integrator_constructor.hh"
#include "er7_utils/trick/integration/include/first_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_first_order_ode_integrator.hh"
namespace Trick {

View File

@ -14,7 +14,7 @@ Programmers:
#ifdef USE_ER7_UTILS_INTEGRATORS
#include "er7_utils/integration/rkf78/include/rkf78_integrator_constructor.hh"
#include "er7_utils/trick/integration/include/first_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_first_order_ode_integrator.hh"
namespace Trick {

View File

@ -14,7 +14,7 @@ Programmers:
#ifdef USE_ER7_UTILS_INTEGRATORS
#include "er7_utils/integration/rkg4/include/rkg4_integrator_constructor.hh"
#include "er7_utils/trick/integration/include/first_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_first_order_ode_integrator.hh"
namespace Trick {

View File

@ -147,6 +147,9 @@ ifeq (\$(IS_CC_CLANG), 1)
TRICK_SYSTEM_SWIG_CFLAGS += -Wno-self-assign -Wno-sometimes-uninitialized -Wno-deprecated-register
else
TRICK_SYSTEM_SWIG_CFLAGS += -Wno-unused-but-set-variable
ifeq (\$(shell test \$(GCC_MAJOR) -ge 8; echo \$\$?), 0)
TRICK_SYSTEM_SWIG_CFLAGS += -Wno-cast-function-type
endif
endif
ifndef TRICK_VERBOSE_BUILD

View File

@ -70,7 +70,7 @@ sub gte (@) {
if ( $system_type eq "Linux" ) {
$def{"TRICK_HOST_CPU"} = $system_type . "_" . $gcc_version ;
$machine_hardware = `uname -m` ;
if ( (! exists $ENV{"TRICK_FORCE_32BIT"} or $ENV{"TRICK_FORCE_32BIT"} == 0) and $machine_hardware eq "x86_64\n") {
if ( (! exists $ENV{"TRICK_FORCE_32BIT"} or $ENV{"TRICK_FORCE_32BIT"} == 0 or $ENV{"TRICK_FORCE_32BIT"} == "OFF" ) and $machine_hardware eq "x86_64\n") {
$def{"TRICK_HOST_CPU"} .= "_x86_64" ;
}
}
@ -86,7 +86,7 @@ sub gte (@) {
$def{"TRICK_DEBUG"} = "0" ;
$def{"TRICK_EDITOR"} = "" ;
$def{"TRICK_EXEC_LINK_LIBS"} = "" ;
$def{"TRICK_FORCE_32BIT"} = "0" ;
$def{"TRICK_FORCE_32BIT"} = "OFF" ;
$def{"TRICK_GTE_EXT"} = "" ;
$def{"TRICK_HOME"} = "$trick_home" ;
$def{"TRICK_HOST_CPU_USER_SUFFIX"} = "" ;

View File

@ -101,6 +101,16 @@ ifeq ($(HAVE_ZEROCONF),1)
TRICK_SYSTEM_CXXFLAGS += -DHAVE_ZEROCONF
endif
ifeq ($(USE_ER7_UTILS),ON)
ER7_UTILS_HOME := $(TRICK_HOME)/trick_source/er7_utils
TRICK_SYSTEM_CXXFLAGS += -DUSE_ER7_UTILS_INTEGRATORS
TRICK_LIBS += -ler7_utils
ifneq ($(wildcard ${ER7_UTILS_HOME}/CheckpointHelper),)
USE_ER7_UTILS_CHECKPOINTHELPER = 1
TRICK_SYSTEM_CXXFLAGS += -DUSE_ER7_UTILS_CHECKPOINTHELPER
endif
endif
# older test, remove when cmake is only build system
ifeq ($(USE_ER7_UTILS), 1)
ER7_UTILS_HOME := $(TRICK_HOME)/trick_source/er7_utils
TRICK_SYSTEM_CXXFLAGS += -DUSE_ER7_UTILS_INTEGRATORS
@ -111,6 +121,13 @@ ifeq ($(USE_ER7_UTILS), 1)
endif
endif
ifeq ($(TRICK_FORCE_32BIT),ON)
TRICK_ICGFLAGS += -m32
TRICK_SYSTEM_CXXFLAGS += -m32
TRICK_SYSTEM_LDFLAGS += -m32
LD_PARTIAL += -melf_i386
endif
# older test, remove when cmake is only build system
ifeq ($(TRICK_FORCE_32BIT), 1)
TRICK_ICGFLAGS += -m32
TRICK_SYSTEM_CXXFLAGS += -m32

View File

@ -30,9 +30,9 @@ L_C_PREMADE = $(subst .l,.lex.c_premade,$(L_SRC))
L_OBJS = $(addprefix $(OBJ_DIR)/,$(notdir $(subst .l,.lex.o,$(L_SRC))))
Y_SRC = $(wildcard $(SRC_DIR)*.y)
Y_C = $(subst .y,.tab.c,$(Y_SRC))
Y_C = $(subst .y,.tab.cpp,$(Y_SRC))
Y_C_PREMADE = $(subst .y,.tab.c_premade,$(Y_SRC))
Y_H = $(subst .y,.tab.h,$(Y_SRC))
Y_H = $(subst .y,.tab.hpp,$(Y_SRC))
Y_OBJS = $(addprefix $(OBJ_DIR)/,$(notdir $(subst .y,.tab.o,$(Y_SRC))))
C_SRC = $(filter-out $(Y_C) $(L_C), $(wildcard $(SRC_DIR)*.c))
@ -146,18 +146,18 @@ $(L_C) : $(SRC_DIR)%.lex.c : $(SRC_DIR)%.l
$(L_C_PREMADE) : $(SRC_DIR)%.lex.c_premade : $(SRC_DIR)%.l
$(LEX) -o $@ $<
$(Y_H) : $(SRC_DIR)%.tab.h : $(SRC_DIR)%.tab.c
$(Y_H) : $(SRC_DIR)%.tab.hpp : $(SRC_DIR)%.tab.cpp
$(Y_C) : $(SRC_DIR)%.tab.c : $(SRC_DIR)%.y
$(Y_C) : $(SRC_DIR)%.tab.cpp : $(SRC_DIR)%.y
$(YACC) -d -o $@ $< || ( $(CD_CMD) ln -s ${@F}_premade ${@F} ; ln -s ${@F:.c=.h}_premade ${@F:.c=.h})
$(Y_C_PREMADE) : $(SRC_DIR)%.tab.c_premade : $(SRC_DIR)%.y
$(YACC) -d -o $@ $<
$(L_OBJS) : $(OBJ_DIR)/%.lex.o : $(SRC_DIR)%.lex.c $(SRC_DIR)%.tab.h | $(OBJ_DIR)
$(L_OBJS) : $(OBJ_DIR)/%.lex.o : $(SRC_DIR)%.lex.c $(SRC_DIR)%.tab.hpp | $(OBJ_DIR)
$(CD_CMD) $(TRICK_CXX) $(TRICK_CXXFLAGS) $(TRICK_SYSTEM_CXXFLAGS) -c ${<F} -o $(UP_DIR)$@
$(Y_OBJS) : $(OBJ_DIR)/%.tab.o : $(SRC_DIR)%.tab.c | $(OBJ_DIR)
$(Y_OBJS) : $(OBJ_DIR)/%.tab.o : $(SRC_DIR)%.tab.cpp | $(OBJ_DIR)
$(CD_CMD) $(TRICK_CXX) $(TRICK_CXXFLAGS) $(TRICK_SYSTEM_CXXFLAGS) -c ${<F} -o $(UP_DIR)$@

View File

@ -0,0 +1,49 @@
TRICK_FORCE_32BIT = @TRICK_FORCE_32BIT@
CC = @CMAKE_C_COMPILER@
CXX = @CMAKE_CXX_COMPILER@
LD = @CMAKE_LINKER@
PERL = @PERL_EXECUTABLE@
LEX = @FLEX_EXECUTABLE@
YACC = @BISON_EXECUTABLE@
SWIG = @SWIG_EXECUTABLE@
PYTHON = @PYTHON_EXECUTABLE@
CLANG = @CLANG_EXECUTABLE@
TEE = @TEE_EXECUTABLE@
USE_JAVA = @USE_JAVA@
JAVAC = @Java_JAVAC_EXECUTABLE@
USE_X_WINDOWS = @USE_X_WINDOWS@
LLVM_HOME = @LLVM_ROOT_DIR@
PYTHON_INCLUDES = -I@PYTHON_INCLUDE_DIRS@
PYTHON_LIB = @PYTHON_LIBRARIES@
UDUNITS_INCLUDES = -I@UDUNITS2_INCLUDES@
UDUNITS_LDFLAGS = @UDUNITS2_LIBRARIES@
TRICK_EXCLUDE += :@UDUNITS_EXCLUDE@
LIBXML_INCLUDES = -I@LIBXML2_INCLUDE_DIR@
LIBXML = @LIBXML2_LIBRARIES@
PTHREAD_LIBS = @CMAKE_THREAD_LIBS_INIT@
GSL_HOME = @GSL_ROOT_DIR@
HDF5 = @HDF5_HOME@
GTEST_HOME = @GTEST_HOME@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
X_LIB_DIR = @X_LIB_DIR@
MOTIF_HOME = @MOTIF_HOME@
DMTCP = @DMTCP_HOME@
TPROCTE = @TPRO_HOME@
BC635 = @BC635_HOME@
USE_ER7_UTILS = @USE_ER7_UTILS@
PREFIX ?= @prefix@
CONFIG_MK = 1

1
test/.gitignore vendored
View File

@ -23,3 +23,4 @@ T_main_*
trick
jitlib
build
S_sie.json

View File

@ -1,5 +1,5 @@
execfile("RUN_test/input.py")
exec(open("RUN_test/input.py").read())
# Disable real-time (if applicable)
trick.real_time_disable()

View File

@ -1,4 +1,4 @@
execfile("RUN_test/input.py")
exec(open("RUN_test/input.py").read())
# Disable real-time (if applicable)
trick.real_time_disable()

View File

@ -37,7 +37,7 @@ result.append(0)
# TEST 1: cyclic event, fire every second
event1 = trick.new_event("event1")
event1.condition(0, "ev.cond_var_true==True")
event1.action(0, "print \"event1\"; result[1] += 1");
event1.action(0, "print (\"event1\"); result[1] += 1");
event1.action(1, "event1.activate()")
event1.set_cycle(1.0)
event1.activate()
@ -48,7 +48,7 @@ result.append(0)
# TEST 2: cyclic event, condition variable, added to 0.5 sched job so fire twice a second
event2 = trick.new_event("event2")
event2.condition_var(0, "ev.cond_var_true")
event2.action(0, "print \"event2\"; result[2] += 1");
event2.action(0, "print (\"event2\"); result[2] += 1");
event2.action(1, "event2.activate()")
event2.activate()
trick.add_event_after(event2, "ev.sched")
@ -58,14 +58,14 @@ result.append(0)
# TEST 3: cyclic event, condition variable, change condition and change action
event3 = trick.new_event("event3")
event3.condition_var(0, "ev.cond_var_true")
event3.action(0, "print \"event3\"; result[3] += 1");
event3.action(0, "print (\"event3\"); result[3] += 1");
event3.action(1, "event3.activate()")
event3.set_cycle(1.0)
event3.activate()
trick.add_event(event3)
#condition will be false during sim time 2.0 and 3.0
trick.add_read(2.0, """event3.condition(0, "False")""")
trick.add_read(2.0, """event3.action(0, \"print \\\"event3_changed\\\"; result[3] += 5\")""")
trick.add_read(2.0, """event3.action(0, \"print (\\\"event3_changed\\\"); result[3] += 5\")""")
trick.add_read(4.0, """event3.condition_var(0, "ev.cond_var_true")""")
expected.append(2+((stop_time-3)*5))
result.append(0)
@ -73,7 +73,7 @@ result.append(0)
# TEST 4: cyclic event, condition variable, delete event and add again with new cycle time
event4 = trick.new_event("event4")
event4.condition_var(0, "ev.cond_var_true")
event4.action(0, "print \"event4\"; result[4] += 1");
event4.action(0, "print (\"event4\"); result[4] += 1");
event4.action(1, "event4.activate()")
event4.set_cycle(1.0)
event4.activate()
@ -98,7 +98,7 @@ result.append(0)
event5 = trick.new_event("event5")
event5.condition(0, "trick.exec_get_sim_time()==1.0")
event5.condition_hold_on(0)
event5.action(0, "print \"event5\"; result[5] += 1");
event5.action(0, "print (\"event5\"); result[5] += 1");
event5.action(1, "event5.activate()")
event5.set_cycle(1.0)
event5.activate()
@ -110,7 +110,7 @@ result.append(0)
# TEST 6: cyclic event, condition job, then action_disable so it is not reactivated
event6 = trick.new_event("event6")
event6.condition_job(0, "ev.cond_job_true")
event6.action(0, "print \"event6\"; result[6] += 1");
event6.action(0, "print (\"event6\"); result[6] += 1");
event6.action(1, "event6.activate()")
event6.set_cycle(1.0)
event6.activate()
@ -124,7 +124,7 @@ event7 = trick.new_event("event7")
event7.condition_var(0, "ev.cond_var_true")
event7.condition_var(1, "ev.cond_var_false")
event7.condition_all()
event7.action(0, "print \"event7\"; result[7] += 1");
event7.action(0, "print (\"event7\"); result[7] += 1");
event7.action(1, "event7.activate()")
event7.set_cycle(1.0)
event7.activate()
@ -138,7 +138,7 @@ event8 = trick.new_event("event8")
event8.condition(0, "trick.exec_get_sim_time()==2.0")
event8.condition(1, "trick.exec_get_sim_time()==4.0")
event8.condition_any()
event8.action(0, "print \"event8\"; result[8] = ev.count");
event8.action(0, "print (\"event8\"); result[8] = ev.count");
event8.action(1, "event8.activate()")
event8.action_job_off(2, "ev.sched_count")
event8.set_cycle(1.0)
@ -154,7 +154,7 @@ event9.action_job(0, "ev.sched_count")
event9.action_job(1, "ev.sched_count")
event9.action_job(2, "ev.sched_count")
event9.action_job(3, "ev.sched_count")
event9.action(4, "print \"event9\"; result[9] = ev.count");
event9.action(4, "print (\"event9\"); result[9] = ev.count");
event9.action(5, "event9.activate()")
event9.set_cycle(1.0)
event9.activate()
@ -165,7 +165,7 @@ result.append(0)
# TEST 10: manual_on event fires every cycle
manual10 = trick.new_event("manual10")
manual10.condition(0, "False")
manual10.action(0, "print \"manual10\"; result[10] += 1");
manual10.action(0, "print (\"manual10\"); result[10] += 1");
# you don't have to reactivate a manual mode event
manual10.set_cycle(1.0)
manual10.activate()
@ -177,7 +177,7 @@ result.append(0)
# TEST 11: manual_off event does not fire, manual_done will make condition be used (cyclic)
manual11 = trick.new_event("manual11")
manual11.condition(0, "True")
manual11.action(0, "print \"manual11\"; result[11] += 1");
manual11.action(0, "print (\"manual11\"); result[11] += 1");
manual11.action(1, "manual11.activate()")
manual11.set_cycle(1.0)
manual11.activate()
@ -189,7 +189,7 @@ result.append(0)
# TEST 12: manual_fire at a certain time and see if it fires at that time
manual12 = trick.new_event("manual12")
manual12.action(0, "print \"manual12\"; result[12] = trick.exec_get_sim_time()");
manual12.action(0, "print (\"manual12\"); result[12] = trick.exec_get_sim_time()");
manual12.action(1, "manual12.activate()")
manual12.set_cycle(1.0)
manual12.activate()
@ -203,7 +203,7 @@ result.append(0)
result_event = trick.new_event("result_event")
result_event.condition(0, "True")
result_event.action(0, """
print \"RESULTS...\"
print (\"RESULTS...\")
TRICK_EXPECT_EQ(result[0], expected[0], test_suite, "event0")
TRICK_EXPECT_EQ(result[1], expected[1], test_suite, "event1")
TRICK_EXPECT_EQ(result[2], expected[2], test_suite, "event2")

View File

@ -409,7 +409,7 @@ def main():
trick.rti_fire()
trick_inject.rtis.GetRtiExecutor(0).Exec()
print os.uname()[4]
print(os.uname()[4])
# The raspberry pi has a bug and returns bitfields in unsigned format.
if os.uname()[4] == 'armv6l':
TRICK_EXPECT_EQ( test_so.obj.cbit_0 , 3 , test_suite , "char bitfield" )

View File

@ -1,5 +1,5 @@
execfile("Modified_data/group1.dr")
execfile("Modified_data/group2.dr")
execfile("Modified_data/group3.dr")
execfile("Modified_data/group4.dr")
exec(open("Modified_data/group1.dr").read())
exec(open("Modified_data/group2.dr").read())
exec(open("Modified_data/group3.dr").read())
exec(open("Modified_data/group4.dr").read())

View File

@ -1,5 +1,5 @@
execfile("Modified_data/data_record.py")
exec(open("Modified_data/data_record.py").read())
trick.sim_services.exec_set_terminate_time(10.0)

View File

@ -1,5 +1,5 @@
execfile("RUN_test/input.py")
exec(open("RUN_test/input.py").read())
# Disable real-time (if applicable)
trick.real_time_disable()

View File

@ -1,7 +1,7 @@
execfile("Modified_data/dr_typesASCII.dr")
execfile("Modified_data/dr_typesBINARY.dr")
execfile("Modified_data/dr_bitfASCII.dr")
execfile("Modified_data/dr_bitfBINARY.dr")
exec(open("Modified_data/dr_typesASCII.dr").read())
exec(open("Modified_data/dr_typesBINARY.dr").read())
exec(open("Modified_data/dr_bitfASCII.dr").read())
exec(open("Modified_data/dr_bitfBINARY.dr").read())
trick_utest.unit_tests.enable() ;
trick_utest.unit_tests.set_file_name( os.getenv("TRICK_HOME") + "/trick_test/SIM_test_dr.xml" ) ;

View File

@ -26,7 +26,7 @@ def main():
trick.var_set("test_io.dp", trick.get_address("test_io.d13"))
TRICK_EXPECT_EQ( str(test_io.dp) , "[113]", test_suite , "var set address" )
print test_io
print(test_io)
if __name__ == "__main__":
main()

View File

@ -1,2 +1,2 @@
execfile("Modified_data/next_level.py")
exec(open("Modified_data/next_level.py").read())

View File

@ -1,6 +1,6 @@
#execfile("Modified_data/data_record.dr")
#execfile("Modified_data/realtime.py")
#exec(open("Modified_data/data_record.dr").read())
#exec(open("Modified_data/realtime.py").read())
my_integ_loop.getIntegrator(trick.Runge_Kutta_4, 2)
trick.sim_services.exec_set_terminate_time(300.0)

View File

@ -6,8 +6,8 @@ def main():
tso.tobj.TTT_var.aa = 1000
tso.tobj.TTT_var.bb = 2000
print "tso.tobj.TTT_var.aa =" , tso.tobj.TTT_var.aa
print "tso.tobj.TTT_var.bb =" , tso.tobj.TTT_var.bb
print ("tso.tobj.TTT_var.aa =") , tso.tobj.TTT_var.aa
print ("tso.tobj.TTT_var.bb =") , tso.tobj.TTT_var.bb
trick.checkpoint_end(True)

View File

@ -1,7 +1,7 @@
execfile("RUN_test/input.py")
exec(open("RUN_test/input.py").read())
print '\nFinding number of CPUs...'
print('\nFinding number of CPUs...')
os.system('cat /proc/cpuinfo | grep processor')
os.system('cat /proc/cpuinfo | grep processor | wc -l')

View File

@ -1,5 +1,5 @@
execfile("RUN_test/overrun.py")
exec(open("RUN_test/overrun.py").read())
# Disable real-time (if applicable)
trick.real_time_disable()

View File

@ -1,7 +1,7 @@
# This one of several ways to include files from the input file
execfile("Modified_data/auto_test.dr")
execfile("Modified_data/data_record.dr")
exec(open("Modified_data/auto_test.dr").read())
exec(open("Modified_data/data_record.dr").read())
#my_integ_loop.integ_sched.integ_ptr = trick.getIntegrator( trick.Runge_Kutta_2, 4, 1.0);
my_integ_loop.getIntegrator(trick.Runge_Kutta_2, 4)

View File

@ -1,5 +1,5 @@
execfile("RUN_test/input.py")
exec(open("RUN_test/input.py").read())
# Disable real-time (if applicable)
trick.real_time_disable()

View File

@ -1,5 +1,5 @@
execfile("Modified_data/data_record.dr")
exec(open("Modified_data/data_record.dr").read())
trick.sim_services.exec_set_terminate_time(300.0)

View File

@ -1,7 +1,7 @@
execfile("Modified_data/data_record.dr")
execfile("Modified_data/realtime.py")
execfile("Modified_data/graphics.py")
exec(open("Modified_data/data_record.dr").read())
exec(open("Modified_data/realtime.py").read())
exec(open("Modified_data/graphics.py").read())
trick.sim_services.exec_set_terminate_time(300.0)

View File

@ -1,5 +1,5 @@
execfile("Modified_data/data_record.dr")
exec(open("Modified_data/data_record.dr").read())
trick.sim_services.exec_set_terminate_time(300.0)

View File

@ -1,5 +1,5 @@
execfile("RUN_test/input.py")
exec(open("RUN_test/input.py").read())
# Disable real-time (if applicable)
trick.real_time_disable()

View File

@ -1,5 +1,5 @@
execfile("Modified_data/data_record.dr")
exec(open("Modified_data/data_record.dr").read())
ball2.state.input.mass = trick.sim_services.attach_units("kg" , 10.0)

View File

@ -1,5 +1,5 @@
execfile("Modified_data/data_record.dr")
execfile("Modified_data/realtime.py")
execfile("Modified_data/graphics.py")
exec(open("Modified_data/data_record.dr").read())
exec(open("Modified_data/realtime.py").read())
exec(open("Modified_data/graphics.py").read())

View File

@ -1,6 +1,6 @@
execfile("Modified_data/data_record.dr")
execfile("Modified_data/auto_test.dr")
exec(open("Modified_data/data_record.dr").read())
exec(open("Modified_data/auto_test.dr").read())
ball.altimeter.input.add_noise = False
ball2.altimeter.input.add_noise = False

View File

@ -1,4 +1,4 @@
execfile("RUN_test/input.py")
exec(open("RUN_test/input.py").read())
# Disable real-time (if applicable)
trick.real_time_disable()

View File

@ -1,6 +1,6 @@
execfile("Modified_data/cannon_aero.dr")
execfile("Modified_data/amoeba.py")
exec(open("Modified_data/cannon_aero.dr").read())
exec(open("Modified_data/amoeba.py").read())
trick.mc_set_enabled(1)
trick.mc_set_num_runs(70)

View File

@ -6,7 +6,7 @@ if trick.mc_get_slave_id() == 0:
trick_utest.unit_tests.enable();
trick_utest.unit_tests.set_file_name( os.getenv("TRICK_HOME") + "/trick_test/SIM_amoeba.xml" )
execfile("Modified_data/amoeba.py")
exec(open("Modified_data/amoeba.py").read())
trick.mc_set_enabled(1)
#trick.mc_set_dry_run(1)

View File

@ -1,4 +1,4 @@
execfile("Modified_data/cannon_aero.dr")
exec(open("Modified_data/cannon_aero.dr").read())
dyn.baseball.pos[0] = 16.0
dyn.baseball.pos[1] = 0.1

View File

@ -1,4 +1,4 @@
execfile("Modified_data/cannon_aero.dr")
exec(open("Modified_data/cannon_aero.dr").read())
dyn.baseball.pos[0] = 16.0
dyn.baseball.pos[1] = 0.1

View File

@ -1,4 +1,4 @@
execfile("Modified_data/realtime.py")
exec(open("Modified_data/realtime.py").read())
#==========================================
# Start the display VarServer Client

View File

@ -1,5 +1,5 @@
execfile("Modified_data/cannon.dr")
execfile("Modified_data/realtime.py")
exec(open("Modified_data/cannon.dr").read())
exec(open("Modified_data/realtime.py").read())
trick.exec_set_terminate_time(5.2)

View File

@ -1,5 +1,5 @@
execfile("Modified_data/cannon.dr")
exec(open("Modified_data/cannon.dr").read())
dyn_integloop.getIntegrator(trick.Euler_Cromer, 4)
dyn_integloop.integ_sched.set_verbosity( 1)
trick.exec_set_terminate_time(5.2)

View File

@ -1,5 +1,5 @@
execfile("Modified_data/cannon.dr")
exec(open("Modified_data/cannon.dr").read())
dyn_integloop.getIntegrator(trick.Euler_Cromer, 4)
#dyn.my_integ.set_verbosity( 1)
trick.exec_set_terminate_time(5.2)

View File

@ -1,4 +1,4 @@
execfile("Modified_data/cannon_aero.dr")
exec(open("Modified_data/cannon_aero.dr").read())
dyn.baseball.pos[0] = 16.0
dyn.baseball.pos[1] = 0.1

View File

@ -1,4 +1,4 @@
execfile("Modified_data/cannon_aero.dr")
exec(open("Modified_data/cannon_aero.dr").read())
dyn.baseball.pos[0] = 16.0
dyn.baseball.pos[1] = 0.1

View File

@ -1,4 +1,4 @@
execfile("Modified_data/cannon_aero.dr")
exec(open("Modified_data/cannon_aero.dr").read())
dyn.baseball.pos[0] = 16.0
dyn.baseball.pos[1] = 0.1

View File

@ -1,4 +1,4 @@
execfile("Modified_data/realtime.py")
exec(open("Modified_data/realtime.py").read())
#==========================================
# Start the Cannonball Graphics Client

View File

@ -1,2 +1,2 @@
execfile("Modified_data/realtime.py")
execfile("Modified_data/cannon.dr")
exec(open("Modified_data/realtime.py").read())
exec(open("Modified_data/cannon.dr").read())

View File

@ -1,5 +1,5 @@
execfile("Modified_data/cannon_aero.dr")
exec(open("Modified_data/cannon_aero.dr").read())
dyn_integloop.getIntegrator(trick.Runge_Kutta_4, 6)

View File

@ -1,5 +1,5 @@
execfile("Modified_data/cannon_aero.dr")
exec(open("Modified_data/cannon_aero.dr").read())
trick.mc_set_enabled(1)
#trick.mc_set_dry_run(1)

View File

@ -1,5 +1,5 @@
dyn_integloop.getIntegrator(trick.Runge_Kutta_4, 4)
execfile("Modified_data/realtime.py")
exec(open("Modified_data/realtime.py").read())
dyn.msd.b = 2*(2**(0.5))

View File

@ -1,5 +1,5 @@
dyn_integloop.getIntegrator(trick.Runge_Kutta_4, 4)
execfile("Modified_data/realtime.py")
exec(open("Modified_data/realtime.py").read())
dyn.msd.b = 0

View File

@ -1,5 +1,5 @@
dyn_integloop.getIntegrator(trick.Runge_Kutta_4, 4)
execfile("Modified_data/realtime.py")
exec(open("Modified_data/realtime.py").read())
dyn.msd.b = 4*(2**(0.5)) - 1/2

View File

@ -1,6 +1,6 @@
dyn_integloop.getIntegrator(trick.Runge_Kutta_4, 4)
trick.var_debug(3)
execfile("Modified_data/realtime.py")
exec(open("Modified_data/realtime.py").read())
#==========================================
# Start the display VarServer Client

View File

@ -1,5 +1,5 @@
dyn_integloop.getIntegrator(trick.Runge_Kutta_4, 4)
execfile("Modified_data/realtime.py")
exec(open("Modified_data/realtime.py").read())
dyn.msd.b = 0.5

View File

@ -1,5 +1,5 @@
execfile("Modified_data/parachutist.dr")
exec(open("Modified_data/parachutist.dr").read())
trick.TMM_reduced_checkpoint(0)
dyn_integloop.getIntegrator(trick.Runge_Kutta_4, 2)

View File

@ -1,4 +1,4 @@
execfile("Modified_data/Rocket.dr")
#execfile("Modified_data/realtime.py")
exec(open("Modified_data/Rocket.dr").read())
#exec(open("Modified_data/realtime.py").read())
trick.exec_set_terminate_time(20.0)

View File

@ -1,5 +1,5 @@
execfile("Modified_data/realtime.py")
execfile("Modified_data/satellite.dr")
exec(open("Modified_data/realtime.py").read())
exec(open("Modified_data/satellite.dr").read())
dyn_integloop.getIntegrator(trick.Runge_Kutta_4, 6)

View File

@ -1,7 +1,7 @@
import os
execfile("Modified_data/realtime.py")
#execfile("Modified_data/Satellite.dr")
exec(open("Modified_data/realtime.py").read())
#exec(open("Modified_data/Satellite.dr").read())
dyn_integloop.getIntegrator(trick.Runge_Kutta_4, 18)

View File

@ -6,15 +6,15 @@ trick.add_external_application(simControlPanel)
RECORD_DATA = True
if RECORD_DATA:
execfile("Modified_data/helios.dr")
exec(open("Modified_data/helios.dr").read())
REALTIME = False
if REALTIME:
execfile("Modified_data/realtime.py")
exec(open("Modified_data/realtime.py").read())
JAPANESE = False
if JAPANESE:
execfile("Modified_data/Japanese_labels_alt.py")
exec(open("Modified_data/Japanese_labels_alt.py").read())
STRIPCHART = False
if STRIPCHART:

View File

@ -6,15 +6,15 @@ trick.add_external_application(simControlPanel)
RECORD_DATA = True
if RECORD_DATA:
execfile("Modified_data/helios.dr")
exec(open("Modified_data/helios.dr").read())
REALTIME = False
if REALTIME:
execfile("Modified_data/realtime.py")
exec(open("Modified_data/realtime.py").read())
JAPANESE = False
if JAPANESE:
execfile("Modified_data/Japanese_labels_alt.py")
exec(open("Modified_data/Japanese_labels_alt.py").read())
STRIPCHART = False
if STRIPCHART:

View File

@ -7,15 +7,15 @@ trick.add_external_application(simControlPanel)
RECORD_DATA = True
if RECORD_DATA:
execfile("Modified_data/helios.dr")
exec(open("Modified_data/helios.dr").read())
REALTIME = True
if REALTIME:
execfile("Modified_data/realtime.py")
exec(open("Modified_data/realtime.py").read())
JAPANESE = False
if JAPANESE:
execfile("Modified_data/Japanese_labels_alt.py")
exec(open("Modified_data/Japanese_labels_alt.py").read())
STRIPCHART = False
if STRIPCHART:

View File

@ -1,4 +1,4 @@
execfile("RUN_test/input.py")
exec(open("RUN_test/input.py").read())
# Disable real-time (if applicable)
trick.real_time_disable()

View File

@ -1,5 +1,5 @@
execfile("Modified_data/realtime.py")
execfile("Modified_data/vehicleState.dr")
exec(open("Modified_data/realtime.py").read())
exec(open("Modified_data/vehicleState.dr").read())
trick.TMM_reduced_checkpoint(0)

View File

@ -0,0 +1,49 @@
set ( ICG_SRC
ClassTemplateVisitor
ClassValues
ClassVisitor
CommentSaver
ConstructValues
EnumValues
EnumVisitor
FieldDescription
FieldVisitor
FindTrickICG
HeaderSearchDirs
ICGASTConsumer
PrintAttributes
PrintFileContents10
PrintFileContentsBase
TranslationUnitVisitor
TypedefVisitor
Utilities
VariableVisitor
main
../../sim_services/UdUnits/map_trick_units_to_udunits
)
add_executable( trick-ICG ${ICG_SRC} )
target_compile_options( trick-ICG PUBLIC -g -DTRICK_VERSION="${TRICK_MAJOR}.${TRICK_MINOR}.${TRICK_TINY}" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS)
target_compile_options( trick-ICG PUBLIC -DLIBCLANG_MAJOR=${LLVM_VERSION_MAJOR} -DLIBCLANG_MINOR=${LLVM_VERSION_MINOR})
target_compile_options( trick-ICG PUBLIC -DEXTERNAL_BUILD)
target_include_directories( trick-ICG PUBLIC ${UDUNITS2_INCLUDES} )
target_include_directories( trick-ICG PUBLIC ${LLVM_INCLUDE_DIRS} )
set_property(SOURCE trick-ICG APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_BINARY_DIR}/include/mongoose/mongoose.h)
target_link_libraries( trick-ICG
${LLVM_LDFLAGS}
${LLVM_LIBRARIES}
-lclangFrontend
-lclangDriver
-lclangSerialization
-lclangParse
-lclangSema
-lclangAnalysis
-lclangEdit
-lclangAST
-lclangLex
-lclangBasic
${UDUNITS2_LIBRARIES}
)

View File

@ -36,6 +36,7 @@ void HeaderSearchDirs::AddCompilerBuiltInSearchDirs () {
// Add clang specific include directory first. Only required on linux systems. :(
// This is so that ICG will find clang friendly headers first. gcc headers cause
// all kinds of problems. On macs all headers are clang friendly.
#ifndef EXTERNAL_BUILD
#if __linux
std::stringstream icg_dir ;
icg_dir << LLVM_HOME << "/lib/clang/" ;
@ -48,6 +49,7 @@ void HeaderSearchDirs::AddCompilerBuiltInSearchDirs () {
if ( resolved_path != NULL ) {
hso.AddPath(resolved_path , clang::frontend::System, IsFramework, IsSysRootRelative);
}
#endif
#endif
fp = popen("${TRICK_HOME}/bin/trick-gte TRICK_CXX" , "r") ;

View File

@ -274,7 +274,11 @@ void PrintAttributes::createMapFiles() {
std::string enum_map_function_name ;
if ( sim_services_flag ) {
#ifdef EXTERNAL_BUILD
map_dir = output_dir ;
#else
map_dir = "trick_source/sim_services/include/io_src" ;
#endif
class_map_function_name = "populate_sim_services_class_map" ;
enum_map_function_name = "populate_sim_services_enum_map" ;
} else {

View File

@ -0,0 +1,11 @@
add_subdirectory(Var)
add_subdirectory(Log)
add_subdirectory(EQParse)
add_subdirectory(units)
if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/fermi-ware/CMakeLists.txt )
add_subdirectory(fermi-ware)
endif()
add_subdirectory(DPX)

View File

@ -0,0 +1,23 @@
set( FXPLOT_SRC
curve_view_node
fermi_view
fxplot
page_view_node
parse_format
plot_view_node
post_dialog
product_view_node
table_view_node
)
add_executable( trick-fxplot ${FXPLOT_SRC})
target_include_directories( trick-fxplot PUBLIC ${X11_X11_INCLUDE_PATH} )
target_include_directories( trick-fxplot PUBLIC ${LIBXML2_INCLUDE_DIR} )
target_include_directories( trick-fxplot PUBLIC ../.. )
target_include_directories( trick-fxplot PUBLIC ../../../fermi-ware )
target_link_libraries( trick-fxplot DPC DPM dp_log dp_var dpv_utils fermiware dp_eqparse dp_units
-ldl
${X11_Xt_LIB} ${X11_X11_LIB} ${MOTIF_LIBRARIES}
${UDUNITS2_LIBRARIES} ${LIBXML2_LIBRARIES})

View File

@ -0,0 +1,22 @@
set( GXPLOT_SRC
gp_colors
gp_utilities
gp_version
gp_view
gp_view_curve_node
gp_view_page_node
gp_view_plot_node
gp_view_product_node
gxplot
)
add_executable( trick-gxplot ${GXPLOT_SRC})
target_include_directories( trick-gxplot PUBLIC ${X11_X11_INCLUDE_PATH} )
target_include_directories( trick-gxplot PUBLIC ${LIBXML2_INCLUDE_DIR} )
target_include_directories( trick-gxplot PUBLIC ../.. )
target_link_libraries( trick-gxplot DPC DPM dp_log dp_var dpv_utils dp_eqparse dp_units
-ldl
${X11_Xt_LIB} ${X11_X11_LIB}
${UDUNITS2_LIBRARIES} ${LIBXML2_LIBRARIES})

View File

@ -0,0 +1,8 @@
add_subdirectory(DPM)
add_subdirectory(DPC)
add_subdirectory(DPV/UTILS)
add_subdirectory(APPS/GXPLOT)
if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../fermi-ware/CMakeLists.txt )
add_subdirectory(APPS/FXPLOT)
endif()

View File

@ -0,0 +1,20 @@
set( DPC_SRC
DPC_TimeCstrDataStream
DPC_UnitConvDataStream
DPC_datastream_supplier
DPC_delta_curve
DPC_delta_plot
DPC_page
DPC_plot
DPC_product
DPC_standard_plot
DPC_std_curve
DPC_table
)
add_library( DPC STATIC ${DPC_SRC})
target_include_directories( DPC PUBLIC ${LIBXML2_INCLUDE_DIR} )
target_include_directories( DPC PUBLIC ${UDUNITS2_INCLUDES} )
target_include_directories( DPC PUBLIC .. )

View File

@ -0,0 +1,27 @@
set( DPM_SRC
DPM_attribute
DPM_axis
DPM_column
DPM_component
DPM_curve
DPM_extfn
DPM_inputs
DPM_measurement
DPM_outputs
DPM_page
DPM_parse_tree
DPM_product
DPM_relation
DPM_run
DPM_session
DPM_table
DPM_time_constraints
DPM_var
)
add_library( DPM STATIC ${DPM_SRC})
target_include_directories( DPM PUBLIC ${LIBXML2_INCLUDE_DIR} )
target_include_directories( DPM PUBLIC ${UDUNITS2_INCLUDES} )
target_include_directories( DPM PUBLIC .. )

View File

@ -0,0 +1,7 @@
set( DPV_UTILS_SRC
DPV_textbuffer
)
add_library( dpv_utils STATIC ${DPV_UTILS_SRC})

View File

@ -0,0 +1,19 @@
set ( DP_EQPARSE_SRC
eqparse
eqparse_chkvalid
eqparse_error
eqparse_evaluate
eqparse_fillno
eqparse_funcsub
eqparse_math
eqparse_negcheck
eqparse_operatorcheck
eqparse_postfix
eqparse_stack
eqparse_takeinput
eqparse_test
)
add_library( dp_eqparse STATIC ${DP_EQPARSE_SRC})

View File

@ -0,0 +1,24 @@
# need to add TrickHDF5 if HDF5 found
set ( DP_LOG_SRC
Csv
DataStream
DataStreamFactory
DataStreamGroup
Delta
ExternalProgram
MatLab
MatLab4
TrickBinary
log
multiLog
parseLogHeader
trick_byteswap
)
# TrickHDF5
add_library( dp_log STATIC ${DP_LOG_SRC})
target_include_directories( dp_log PUBLIC .. )
target_include_directories( dp_log PUBLIC ${UDUNITS2_INCLUDES} )

View File

@ -0,0 +1 @@
add_library( dp_var STATIC var )

View File

@ -0,0 +1,10 @@
set ( DP_UNITS_SRC
init_units_system
map_trick_units_to_udunits
units_conv
)
add_library( dp_units STATIC ${DP_UNITS_SRC})
target_include_directories( dp_units PUBLIC ${UDUNITS2_INCLUDES} )

View File

@ -0,0 +1,72 @@
set( ER7_UTILS_SRC
integration/abm4/src/abm4_first_order_ode_integrator
integration/abm4/src/abm4_integrator_constructor
integration/abm4/src/abm4_second_order_ode_integrator
integration/beeman/src/beeman_integrator_constructor
integration/beeman/src/beeman_second_order_ode_integrator
integration/core/src/base_integration_group
integration/core/src/bogus_integration_controls
integration/core/src/first_order_ode_integrator
integration/core/src/integration_controls
integration/core/src/integration_messages
integration/core/src/integrator_constructor
integration/core/src/integrator_constructor_factory
integration/core/src/integrator_result_merger
integration/core/src/integrator_result_merger_container
integration/core/src/left_quaternion_functions
integration/core/src/priming_first_order_ode_integrator
integration/core/src/priming_integration_controls
integration/core/src/priming_integrator_constructor
integration/core/src/priming_second_order_ode_integrator
integration/core/src/second_order_ode_integrator
integration/core/src/single_cycle_integration_controls
integration/core/src/standard_integration_controls
integration/euler/src/euler_first_order_ode_integrator
integration/euler/src/euler_integrator_constructor
integration/euler/src/euler_second_order_ode_integrator
integration/mm4/src/mm4_integrator_constructor
integration/mm4/src/mm4_second_order_ode_integrator
integration/nl2/src/nl2_integrator_constructor
integration/nl2/src/nl2_second_order_ode_integrator
integration/position_verlet/src/position_verlet_integrator_constructor
integration/position_verlet/src/position_verlet_second_order_ode_integrator
integration/rk2_heun/src/rk2_heun_first_order_ode_integrator
integration/rk2_heun/src/rk2_heun_integrator_constructor
integration/rk2_heun/src/rk2_heun_second_order_ode_integrator
integration/rk2_midpoint/src/rk2_midpoint_first_order_ode_integrator
integration/rk2_midpoint/src/rk2_midpoint_integrator_constructor
integration/rk2_midpoint/src/rk2_midpoint_second_order_ode_integrator
integration/rk4/src/rk4_first_order_ode_integrator
integration/rk4/src/rk4_integrator_constructor
integration/rk4/src/rk4_second_order_ode_integrator
integration/rk4/src/rk4_second_order_ode_integrator_base
integration/rkf45/src/rkf45_butcher_tableau
integration/rkf45/src/rkf45_first_order_ode_integrator
integration/rkf45/src/rkf45_integrator_constructor
integration/rkf45/src/rkf45_second_order_ode_integrator
integration/rkf78/src/rkf78_butcher_tableau
integration/rkf78/src/rkf78_first_order_ode_integrator
integration/rkf78/src/rkf78_integrator_constructor
integration/rkf78/src/rkf78_second_order_ode_integrator
integration/rkg4/src/rkg4_butcher_tableau
integration/rkg4/src/rkg4_first_order_ode_integrator
integration/rkg4/src/rkg4_integrator_constructor
integration/rkg4/src/rkg4_second_order_ode_integrator
integration/rkn4/src/rkn4_integrator_constructor
integration/rkn4/src/rkn4_second_order_ode_integrator
integration/symplectic_euler/src/symplectic_euler_integrator_constructor
integration/symplectic_euler/src/symplectic_euler_second_order_ode_integrator
integration/velocity_verlet/src/velocity_verlet_integrator_constructor
integration/velocity_verlet/src/velocity_verlet_second_order_ode_integrator
interface/src/alloc
interface/src/deletable
interface/src/message_handler
math/src/n_choose_m
math/src/ratio128
math/src/uint128
trick/integration/src/trick_integrator
)
add_library( er7_utils_objs OBJECT ${ER7_UTILS_SRC} )

View File

@ -2,8 +2,8 @@
# $Id: input.py 1973 2011-10-11 15:11:16Z lin $
# This one of several ways to include files from the input file
execfile("Modified_data/auto_test.dr")
execfile("Modified_data/data_record.dr")
exec(open("Modified_data/auto_test.dr").read())
exec(open("Modified_data/data_record.dr").read())
# Set the freeze frame rate
trick.exec_set_freeze_frame(0.10)

View File

@ -2,8 +2,8 @@
# $Id: input.py 1973 2011-10-11 15:11:16Z lin $
# This one of several ways to include files from the input file
execfile("Modified_data/auto_test.dr")
execfile("Modified_data/data_record.dr")
exec(open("Modified_data/auto_test.dr").read())
exec(open("Modified_data/data_record.dr").read())
# Set the freeze frame rate
trick.exec_set_freeze_frame(0.10)

View File

@ -2,8 +2,8 @@
# $Id: input.py 1973 2011-10-11 15:11:16Z lin $
# This one of several ways to include files from the input file
execfile("Modified_data/auto_test.dr")
execfile("Modified_data/data_record.dr")
exec(open("Modified_data/auto_test.dr").read())
exec(open("Modified_data/data_record.dr").read())
# Set the freeze frame rate
trick.exec_set_freeze_frame(0.10)

View File

@ -2,8 +2,8 @@
# $Id: input.py 1973 2011-10-11 15:11:16Z lin $
# This one of several ways to include files from the input file
execfile("Modified_data/auto_test.dr")
execfile("Modified_data/data_record.dr")
exec(open("Modified_data/auto_test.dr").read())
exec(open("Modified_data/data_record.dr").read())
# Set the freeze frame rate
trick.exec_set_freeze_frame(0.10)

View File

@ -2,8 +2,8 @@
# $Id: input.py 1973 2011-10-11 15:11:16Z lin $
# This one of several ways to include files from the input file
execfile("Modified_data/auto_test.dr")
execfile("Modified_data/data_record.dr")
exec(open("Modified_data/auto_test.dr").read())
exec(open("Modified_data/data_record.dr").read())
# Set the freeze frame rate
trick.exec_set_freeze_frame(0.10)

View File

@ -2,8 +2,8 @@
# $Id: input.py 1973 2011-10-11 15:11:16Z lin $
# This one of several ways to include files from the input file
execfile("Modified_data/auto_test.dr")
execfile("Modified_data/data_record.dr")
exec(open("Modified_data/auto_test.dr").read())
exec(open("Modified_data/data_record.dr").read())
# Set the freeze frame rate
trick.exec_set_freeze_frame(0.10)

View File

@ -2,8 +2,8 @@
# $Id: input.py 1973 2011-10-11 15:11:16Z lin $
# This one of several ways to include files from the input file
execfile("Modified_data/auto_test.dr")
execfile("Modified_data/data_record.dr")
exec(open("Modified_data/auto_test.dr").read())
exec(open("Modified_data/data_record.dr").read())
# Set the freeze frame rate
trick.exec_set_freeze_frame(0.10)

View File

@ -2,8 +2,8 @@
# $Id: input.py 1973 2011-10-11 15:11:16Z lin $
# This one of several ways to include files from the input file
execfile("Modified_data/auto_test.dr")
execfile("Modified_data/data_record.dr")
exec(open("Modified_data/auto_test.dr").read())
exec(open("Modified_data/data_record.dr").read())
# Set the freeze frame rate
trick.exec_set_freeze_frame(0.10)

Some files were not shown because too many files have changed in this diff Show More