Cmake merge (#901)

* Merging changes from cmake branch to master

* Fixing includes for renamed header files

* still need build rule

* Adding warning for swig code for gcc8+

* Adding CMakeLists.txt for data products

* Cmake merge #901

Making adjustments to get cmake working on the Mac (Mojave)

* Cmake merge #901

Changing string append to list append
This commit is contained in:
Alex Lin 2019-11-19 09:01:16 -06:00 committed by GitHub
parent d658116afe
commit ce0cdc9636
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
54 changed files with 2019 additions and 50 deletions

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

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,12 +36,14 @@ 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/" ;
icg_dir << LIBCLANG_MAJOR << "." << LIBCLANG_MINOR ;
#ifdef LIBCLANG_PATCHLEVEL
icg_dir << "." << LIBCLANG_PATCHLEVEL ;
#endif
#endif
icg_dir << "/include" ;
char * resolved_path = realpath(icg_dir.str().c_str(), NULL ) ;

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 )
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 )
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

@ -9,7 +9,7 @@
#include "er7_utils/math/include/n_choose_m.hh"
#include "er7_utils/math/include/ratio128.hh"
#include "er7_utils/math/include/uint128.hh"
#include "er7_utils/trick/integration/include/first_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/second_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_first_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_second_order_ode_integrator.hh"
#endif

View File

@ -0,0 +1,408 @@
###############################################################
# External Java libraries
###############################################################
set( JAVA_LIBS
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/bsaf-1.9.2.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jcommon-1.0.23.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jfreechart-1.0.19.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jfreesvg-2.1.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jopt-simple-4.8.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/junit-4.12.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/swingx-1.6.1.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/hamcrest-core-1.3.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/pdfbox-2.0.11.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/fontbox-2.0.11.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/commons-logging-1.2.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jaxb-runtime-2.4.0-b180830.0438.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jaxb-xjc-2.4.0-b180830.0438.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jaxb-jxc-2.4.0-b180830.0438.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jaxb-impl-2.4.0-b180830.0438.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jaxb-api-2.4.0-b180725.0427.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jaxb-core-2.3.0.1.jar
${CMAKE_BINARY_DIR}/libexec/trick/java/lib/javax.activation-1.2.0.jar
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/bsaf-1.9.2.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/org/jdesktop/bsaf/bsaf/1.9.2/bsaf-1.9.2.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jcommon-1.0.23.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/org/jfree/jcommon/1.0.23/jcommon-1.0.23.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jfreechart-1.0.19.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/org/jfree/jfreechart/1.0.19/jfreechart-1.0.19.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jfreesvg-2.1.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/org/jfree/jfreesvg/2.1/jfreesvg-2.1.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jopt-simple-4.8.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/4.8/jopt-simple-4.8.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/junit-4.12.jar
COMMAND curl --retry 4 -O -s -S http://repo1.maven.org/maven2/junit/junit/4.12/junit-4.12.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/swingx-1.6.1.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/org/swinglabs/swingx/1.6.1/swingx-1.6.1.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/hamcrest-core-1.3.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/pdfbox-2.0.11.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/org/apache/pdfbox/pdfbox/2.0.11/pdfbox-2.0.11.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/fontbox-2.0.11.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/org/apache/pdfbox/fontbox/2.0.11/fontbox-2.0.11.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/commons-logging-1.2.jar
COMMAND curl --retry 4 -O -s -S https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jaxb-runtime-2.4.0-b180830.0438.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.4.0-b180830.0438/jaxb-runtime-2.4.0-b180830.0438.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jaxb-xjc-2.4.0-b180830.0438.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-xjc/2.4.0-b180830.0438/jaxb-xjc-2.4.0-b180830.0438.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jaxb-jxc-2.4.0-b180830.0438.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-jxc/2.4.0-b180830.0438/jaxb-jxc-2.4.0-b180830.0438.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jaxb-impl-2.4.0-b180830.0438.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-impl/2.4.0-b180830.0438/jaxb-impl-2.4.0-b180830.0438.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jaxb-api-2.4.0-b180725.0427.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-core/2.3.0.1/jaxb-core-2.3.0.1.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/jaxb-core-2.3.0.1.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/javax/xml/bind/jaxb-api/2.4.0-b180725.0427/jaxb-api-2.4.0-b180725.0427.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/trick/java/lib/javax.activation-1.2.0.jar
COMMAND curl --retry 4 -O -s -S http://repo.maven.apache.org/maven2/com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libexec/trick/java/lib
)
###############################################################
# Trick Java libraries
###############################################################
set( JAVA_SRC
trick/common/ui/components/CommonTreeNode.java
trick/common/ui/components/DoubleJSlider.java
trick/common/ui/components/NumberTextField.java
trick/common/ui/components/FontChooser.java
trick/common/ui/panels/AnimationPlayer.java
trick/common/ui/panels/ConnectionStatusBar.java
trick/common/ui/panels/DataPanel.java
trick/common/ui/panels/DynamicTree.java
trick/common/ui/panels/FindBar.java
trick/common/ui/panels/ListPanel.java
trick/common/ui/panels/SmallTrickIconLabel.java
trick/common/ui/TrickFileFilter.java
trick/common/ui/UIUtils.java
trick/common/utils/vs/VSBoolean.java
trick/common/utils/vs/VSByte.java
trick/common/utils/vs/VSDouble.java
trick/common/utils/vs/VSFloat.java
trick/common/utils/vs/VSInteger.java
trick/common/utils/vs/VSLong.java
trick/common/utils/vs/VSShort.java
trick/common/utils/vs/VSString.java
trick/common/utils/vs/VSValue.java
trick/common/utils/vs/Variable.java
trick/common/utils/vs/VariableListener.java
trick/common/utils/vs/VariableServerFluent.java
trick/common/utils/vs/VariableTracker.java
trick/common/utils/BinaryDataReader.java
trick/common/utils/CSVDataReader.java
trick/common/utils/ErrorChecker.java
trick/common/utils/LogHeaderReader.java
trick/common/utils/LogVar.java
trick/common/utils/SortedListModel.java
trick/common/utils/TrickColors.java
trick/common/utils/UnitInfixExpression.java
trick/common/utils/UnitType.java
trick/common/utils/VariableServerConnection.java
trick/common/utils/XMLCreator.java
trick/common/utils/DataReader.java
trick/common/RunTimeTrickApplication.java
trick/common/TrickApplication.java
trick/dataproducts/plot/utils/editor/DefaultLogAxisEditor.java
trick/dataproducts/plot/utils/editor/TrickAxisEditor.java
trick/dataproducts/plot/utils/editor/TrickChartEditor.java
trick/dataproducts/plot/utils/editor/TrickChartEditorFactory.java
trick/dataproducts/plot/utils/editor/TrickChartEditorManager.java
trick/dataproducts/plot/utils/editor/TrickNumberAxisEditor.java
trick/dataproducts/plot/utils/editor/TrickPlotEditor.java
trick/dataproducts/plot/utils/editor/TrickPolarPlotEditor.java
trick/dataproducts/plot/utils/editor/TrickTitleEditor.java
trick/dataproducts/plot/utils/editor/TrickValueAxisEditor.java
trick/dataproducts/plot/utils/PlotUtils.java
trick/dataproducts/plot/utils/TrickChart.java
trick/dataproducts/plot/utils/TrickChartControlPanel.java
trick/dataproducts/plot/utils/TrickChartPanel.java
trick/dataproducts/plot/utils/TrickChartTheme.java
trick/dataproducts/plot/utils/TrickFrame.java
trick/dataproducts/plot/utils/TrickTableFrame.java
trick/dataproducts/plot/utils/TrickXYLineAndShapeRenderer.java
trick/dataproducts/plot/utils/TrickXYSeries.java
trick/dataproducts/plot/utils/TrickChartFrame.java
trick/dataproducts/plot/utils/TrickXYPlot.java
trick/dataproducts/plot/JXPlotApplication.java
trick/dataproducts/trickdp/utils/DPRemoteCallInterface.java
trick/dataproducts/trickdp/utils/DPRemoteCallInterfaceImpl.java
trick/dataproducts/trickdp/utils/PDFBooklet.java
trick/dataproducts/trickdp/utils/TrickDPActionController.java
trick/dataproducts/trickdp/TrickDPApplication.java
trick/dataproducts/trickqp/utils/DataTransferHandler.java
trick/dataproducts/trickqp/utils/Product.java
trick/dataproducts/trickqp/utils/ProductAxis.java
trick/dataproducts/trickqp/utils/ProductCurve.java
trick/dataproducts/trickqp/utils/ProductDataPanel.java
trick/dataproducts/trickqp/utils/ProductDomParser.java
trick/dataproducts/trickqp/utils/ProductExternalFunction.java
trick/dataproducts/trickqp/utils/ProductTable.java
trick/dataproducts/trickqp/utils/ProductTree.java
trick/dataproducts/trickqp/utils/ProductVarcase.java
trick/dataproducts/trickqp/utils/QPRemoteCallInterface.java
trick/dataproducts/trickqp/utils/QPRemoteCallInterfaceImpl.java
trick/dataproducts/trickqp/utils/VarListPanel.java
trick/dataproducts/trickqp/utils/CommonProduct.java
trick/dataproducts/trickqp/utils/ProductPage.java
trick/dataproducts/trickqp/utils/ProductPlot.java
trick/dataproducts/trickqp/utils/ProductColumn.java
trick/dataproducts/trickqp/utils/ProductMeasurement.java
trick/dataproducts/trickqp/utils/ProductVar.java
trick/dataproducts/trickqp/utils/ProductXMLCreator.java
trick/dataproducts/trickqp/utils/TrickQPActionController.java
trick/dataproducts/trickqp/TrickQPApplication.java
trick/dataproducts/utils/FileTreeNode.java
trick/dataproducts/utils/FileTreePanel.java
trick/dataproducts/utils/Session.java
trick/dataproducts/utils/SessionDomParser.java
trick/dataproducts/utils/SessionRun.java
trick/dataproducts/utils/SessionRunTransferHandler.java
trick/dataproducts/utils/SessionXMLCreator.java
trick/dataproducts/utils/SimDPTree.java
trick/dataproducts/utils/SimRunDPTree.java
trick/dataproducts/utils/SimRunTree.java
trick/dataproducts/DataProductsApplication.java
trick/dre/DreApplication.java
trick/montemonitor/MonteMonitorApplication.java
trick/montemonitor/Slave.java
trick/mtv/MtvApp.java
trick/mtv/MtvView.java
trick/sie/utils/SearchListener.java
trick/sie/utils/SearchPanel.java
trick/sie/utils/Searcher.java
trick/sie/utils/SieResourceDomParser.java
trick/sie/utils/SieTemplate.java
trick/sie/utils/SieTree.java
trick/sie/utils/SieTreeModel.java
trick/sie/utils/SieVariableTree.java
trick/sie/utils/TreeModelExclusionFilter.java
trick/sie/utils/TreeModelFilter.java
trick/sie/utils/TreeModelSortingFilter.java
trick/sie/utils/VariableList.java
trick/sie/utils/SieEnumeration.java
trick/sie/SieApplication.java
trick/simcontrol/utils/SimControlActionController.java
trick/simcontrol/utils/SimState.java
trick/simcontrol/SimControlApplication.java
trick/sniffer/SimSnifferApplication.java
trick/sniffer/SimulationInformation.java
trick/sniffer/SimulationListener.java
trick/sniffer/SimulationSniffer.java
trick/test/Client.java
trick/tv/StripChart.java
trick/tv/TVApplication.java
trick/tv/TVBean.java
trick/tv/TVBoolean.java
trick/tv/TVDouble.java
trick/tv/TVEnumeration.java
trick/tv/TVFloat.java
trick/tv/TVString.java
trick/tv/TVVariableTree.java
trick/tv/TrickViewFluent.java
trick/tv/VariableTable.java
trick/tv/DoubleComboBox.java
trick/tv/StripChartManager.java
trick/tv/TVByte.java
trick/tv/TVLong.java
trick/tv/TVShort.java
trick/tv/TVInteger.java
trick/vc/VariableCounter.java
trick/Template.java
)
set( JAVA_RESOURCES
trick/common/resources/RunTimeTrickApplication.properties
trick/common/resources/TrickApplication.properties
trick/common/resources/filenew.gif
trick/common/resources/fileopen.gif
trick/common/resources/filesave.gif
trick/common/resources/firefox_folder_closed.gif
trick/common/resources/firefox_folder_open.gif
trick/common/resources/gnome-fs-regular.gif
trick/common/resources/page2.gif
trick/common/resources/plot.gif
trick/common/resources/program.gif
trick/common/resources/program_in.gif
trick/common/resources/program_out.gif
trick/common/resources/table_small.gif
trick/common/resources/toplevel.gif
trick/common/resources/trick.gif
trick/common/resources/trick_icon.png
trick/common/resources/trick_small.gif
trick/common/resources/variable.gif
trick/common/resources/x_variable.gif
trick/common/resources/y_variable.gif
trick/dataproducts/plot/resources/JXPlotApplication.properties
trick/dataproducts/resources/DataProductsApplication.properties
trick/dataproducts/resources/gnuplot_off.gif
trick/dataproducts/resources/gnuplot_on.gif
trick/dataproducts/resources/plot_contrast.gif
trick/dataproducts/resources/plot_coplot.gif
trick/dataproducts/resources/plot_error.gif
trick/dataproducts/resources/plot_single.gif
trick/dataproducts/resources/table_callback1.gif
trick/dataproducts/resources/table_error_callback.gif
trick/dataproducts/trickdp/resources/TrickDPApplication.properties
trick/dataproducts/trickdp/resources/adobe_pdf.gif
trick/dataproducts/trickdp/resources/help/Help.hs
trick/dataproducts/trickdp/resources/help/HelpTOC.xml
trick/dataproducts/trickdp/resources/help/JavaHelpSearch/DOCS
trick/dataproducts/trickdp/resources/help/JavaHelpSearch/DOCS.TAB
trick/dataproducts/trickdp/resources/help/JavaHelpSearch/OFFSETS
trick/dataproducts/trickdp/resources/help/JavaHelpSearch/POSITIONS
trick/dataproducts/trickdp/resources/help/JavaHelpSearch/SCHEMA
trick/dataproducts/trickdp/resources/help/JavaHelpSearch/TMAP
trick/dataproducts/trickdp/resources/help/Map.jhm
trick/dataproducts/trickdp/resources/help/html/faq.html
trick/dataproducts/trickdp/resources/help/html/generalusage.html
trick/dataproducts/trickdp/resources/help/html/howtoorganize.html
trick/dataproducts/trickdp/resources/help/html/importingdata.html
trick/dataproducts/trickdp/resources/help/html/intro.html
trick/dataproducts/trickdp/resources/help/html/quickplot.html
trick/dataproducts/trickdp/resources/help/html/usinggnuplot.html
trick/dataproducts/trickdp/resources/ps_coplot.gif
trick/dataproducts/trickdp/resources/ps_error.gif
trick/dataproducts/trickdp/resources/ps_single.gif
trick/dataproducts/trickdp/resources/quickplot.gif
trick/dataproducts/trickqp/resources/TrickQPApplication.properties
trick/dataproducts/trickqp/resources/function.gif
trick/dataproducts/trickqp/resources/help/Help.hs
trick/dataproducts/trickqp/resources/help/HelpTOC.xml
trick/dataproducts/trickqp/resources/help/JavaHelpSearch/DOCS
trick/dataproducts/trickqp/resources/help/JavaHelpSearch/DOCS.TAB
trick/dataproducts/trickqp/resources/help/JavaHelpSearch/OFFSETS
trick/dataproducts/trickqp/resources/help/JavaHelpSearch/POSITIONS
trick/dataproducts/trickqp/resources/help/JavaHelpSearch/SCHEMA
trick/dataproducts/trickqp/resources/help/JavaHelpSearch/TMAP
trick/dataproducts/trickqp/resources/help/Map.jhm
trick/dataproducts/trickqp/resources/help/html/anatomyofaplot.html
trick/dataproducts/trickqp/resources/help/html/general.html
trick/dataproducts/trickqp/resources/help/html/guilayout.html
trick/dataproducts/trickqp/resources/help/html/intro.html
trick/dataproducts/trickqp/resources/help/html/leftovers.html
trick/dataproducts/trickqp/resources/help/html/minitutorial.html
trick/dre/resources/DreApplication.properties
trick/montemonitor/resources/MonteMonitorApplication.properties
trick/montemonitor/resources/dice.gif
trick/montemonitor/resources/disconnected.png
trick/montemonitor/resources/finished.png
trick/montemonitor/resources/initializing.png
trick/montemonitor/resources/killed.png
trick/montemonitor/resources/ready.png
trick/montemonitor/resources/running.png
trick/montemonitor/resources/stopped.png
trick/montemonitor/resources/stopping.png
trick/montemonitor/resources/uninitialized.png
trick/montemonitor/resources/unknown.png
trick/montemonitor/resources/unresponsive-running.png
trick/montemonitor/resources/unresponsive-stopping.png
trick/montemonitor/resources/unresponsive.png
trick/mtv/resources/MtvAboutBox.properties
trick/mtv/resources/MtvApp.properties
trick/mtv/resources/MtvView.properties
trick/mtv/resources/busyicons/busy-icon0.png
trick/mtv/resources/busyicons/busy-icon1.png
trick/mtv/resources/busyicons/busy-icon10.png
trick/mtv/resources/busyicons/busy-icon11.png
trick/mtv/resources/busyicons/busy-icon12.png
trick/mtv/resources/busyicons/busy-icon13.png
trick/mtv/resources/busyicons/busy-icon14.png
trick/mtv/resources/busyicons/busy-icon2.png
trick/mtv/resources/busyicons/busy-icon3.png
trick/mtv/resources/busyicons/busy-icon4.png
trick/mtv/resources/busyicons/busy-icon5.png
trick/mtv/resources/busyicons/busy-icon6.png
trick/mtv/resources/busyicons/busy-icon7.png
trick/mtv/resources/busyicons/busy-icon8.png
trick/mtv/resources/busyicons/busy-icon9.png
trick/mtv/resources/busyicons/idle-icon.png
trick/mtv/resources/delete_22x22.gif
trick/mtv/resources/fileopen.gif
trick/mtv/resources/filesave.gif
trick/mtv/resources/trick4.gif
trick/mtv/resources/trick_icon.png
trick/sie/resources/SieApplication.properties
trick/simcontrol/resources/SimControlApplication.properties
trick/simcontrol/resources/mtv_22x22.png
trick/simcontrol/resources/throttle_22x22.png
trick/simcontrol/resources/tv_22x22.png
trick/sniffer/resources/SimSnifferApplication.properties
trick/sniffer/resources/nose.gif
trick/tv/jaxb.index
trick/tv/resources/CP.gif
trick/tv/resources/TVApplication.properties
trick/tv/resources/delete_22x22.gif
trick/tv/resources/fileimport.gif
trick/tv/resources/kmplot.gif
trick/tv/resources/trickView.xsd
trick/tv/resources/tv.xsd
trick/tv/resources/tv_32x32.gif
trick/tv/resources/tv_off.png
trick/tv/resources/tv_on.png
)
add_jar( trick_jar
SOURCES ${JAVA_SRC} ${JAVA_RESOURCES}
INCLUDE_JARS ${JAVA_LIBS}
OUTPUT_NAME trick
OUTPUT_DIR ${CMAKE_BINARY_DIR}/libexec/trick/java/dist
)
file(COPY trick/common/resources/trick_icon.png DESTINATION ${CMAKE_BINARY_DIR}/libexec/trick/java/resources)

View File

@ -0,0 +1,246 @@
# Sim services C/C++ files
set( SS_SRC
CheckPointAgent/CheckPointAgent
CheckPointAgent/ChkPtParseContext
CheckPointAgent/ClassicCheckPointerAgent
CheckPointAgent/PythonPrint
CheckPointRestart/CheckPointRestart
CheckPointRestart/CheckPointRestart_c_intf
CheckPointRestart/next_attr_name
CheckPointRestart/stl_type_name_convert
Clock/BC635Clock
Clock/Clock
Clock/GetTimeOfDayClock
Clock/TPROCTEClock
Clock/clock_c_intf
Collect/collect
CommandLineArguments/CommandLineArguments
CommandLineArguments/command_line_c_intf
DMTCP/DMTCP
DMTCP/dmtcp_checkpoint_c_intf
DataRecord/DRAscii
DataRecord/DRBinary
DataRecord/DRHDF5
DataRecord/DataRecordDispatcher
DataRecord/DataRecordGroup
DataRecord/data_record_utilities
DebugPause/DebugPause
DebugPause/DebugPause_c_intf
EchoJobs/EchoJobs
EchoJobs/EchoJobs_c_intf
Environment/Environment
Environment/Environment_c_intf
EventManager/EventInstrument
EventManager/EventManager
EventManager/EventManager_c_intf
EventManager/EventProcessor
Executive/Executive
Executive/ExecutiveException
Executive/Executive_add_depends_on_job
Executive/Executive_add_jobs_to_queue
Executive/Executive_add_scheduled_job_class
Executive/Executive_add_sim_object
Executive/Executive_advance_sim_time
Executive/Executive_c_intf
Executive/Executive_call_default_data
Executive/Executive_call_initialization
Executive/Executive_call_input_processor
Executive/Executive_check_all_job_cycle_times
Executive/Executive_check_all_jobs_handled
Executive/Executive_checkpoint
Executive/Executive_clear_scheduled_queues
Executive/Executive_create_threads
Executive/Executive_fpe_handler
Executive/Executive_freeze
Executive/Executive_freeze_loop
Executive/Executive_get_curr_job
Executive/Executive_get_job
Executive/Executive_get_job_cycle
Executive/Executive_get_process_id
Executive/Executive_get_sim_time
Executive/Executive_init
Executive/Executive_init_freeze_scheduled
Executive/Executive_init_signal_handlers
Executive/Executive_instrument_job
Executive/Executive_isThreadReadyToRun
Executive/Executive_loop
Executive/Executive_loop_multi_thread
Executive/Executive_loop_single_thread
Executive/Executive_post_checkpoint
Executive/Executive_process_sim_args
Executive/Executive_register_scheduler
Executive/Executive_remove_jobs
Executive/Executive_remove_sim_object
Executive/Executive_restart
Executive/Executive_run
Executive/Executive_scheduled_thread_sync
Executive/Executive_set_job_cycle
Executive/Executive_set_job_onoff
Executive/Executive_set_simobject_onoff
Executive/Executive_set_thread_amf_cycle_time
Executive/Executive_set_thread_async_wait
Executive/Executive_set_thread_cpu_affinity
Executive/Executive_set_thread_enabled
Executive/Executive_set_thread_priority
Executive/Executive_set_thread_process_type
Executive/Executive_set_thread_rt_semaphore
Executive/Executive_set_time_tic_value
Executive/Executive_shutdown
Executive/Executive_signal_handler
Executive/Executive_stop
Executive/Executive_terminate
Executive/Executive_thread_sync
Executive/Executive_write_s_job_execution
Executive/Executive_write_s_run_summary
Executive/ThreadTrigger
Executive/Threads
Executive/Threads_child
Executive/Threads_set_amf_cycle_tics
Executive/Threads_set_async_wait
Executive/Threads_set_process_type
Executive/child_handler
Executive/fpe_handler
Executive/sig_hand
ExternalApplications/ExternalApplication
ExternalApplications/ExternalApplicationManager
ExternalApplications/ExternalApplication_c_intf
ExternalApplications/MalfunctionsTrickView
ExternalApplications/MonteMonitor
ExternalApplications/SimControlPanel
ExternalApplications/StripChart
ExternalApplications/TrickView
FrameLog/FrameDataRecordGroup
FrameLog/FrameLog
FrameLog/FrameLog_c_intf
Integrator/src/IntegLoopManager
Integrator/src/IntegLoopScheduler
Integrator/src/IntegLoopSimObject
Integrator/src/Integrator
Integrator/src/Integrator_C_Intf
Integrator/src/getIntegrator
Integrator/src/regula_falsi
Integrator/src/reset_regula_falsi
JITInputFile/JITEvent
JITInputFile/JITInputFile
JITInputFile/jit_input_file_c_intf
JSONVariableServer/JSONVariableServer
JSONVariableServer/JSONVariableServerThread
MasterSlave/MSSharedMem
MasterSlave/MSSocket
MasterSlave/Master
MasterSlave/Slave
Message/MessageCout
Message/MessageFile
Message/MessageLCout
Message/MessagePublisher
Message/MessageSubscriber
Message/MessageTCDevice
Message/MessageThreadedCout
Message/Message_c_intf
Message/PlaybackFile
Message/message_publish_standalone
MonteCarlo/MonteCarlo
MonteCarlo/MonteCarlo_c_intf
MonteCarlo/MonteCarlo_dispatch_run_to_slave
MonteCarlo/MonteCarlo_dryrun
MonteCarlo/MonteCarlo_execute_monte
MonteCarlo/MonteCarlo_funcs
MonteCarlo/MonteCarlo_initialize_sockets
MonteCarlo/MonteCarlo_master
MonteCarlo/MonteCarlo_master_file_io
MonteCarlo/MonteCarlo_master_init
MonteCarlo/MonteCarlo_master_shutdown
MonteCarlo/MonteCarlo_receive_results
MonteCarlo/MonteCarlo_run_queue
MonteCarlo/MonteCarlo_slave
MonteCarlo/MonteCarlo_slave_funcs
MonteCarlo/MonteCarlo_slave_init
MonteCarlo/MonteCarlo_slave_process_run
MonteCarlo/MonteCarlo_spawn_slaves
MonteCarlo/MonteVarCalculated
MonteCarlo/MonteVarFile
MonteCarlo/MonteVarFixed
MonteCarlo/MonteVarRandom
MonteCarlo/StlRandomGenerator
RealtimeInjector/RtiEvent
RealtimeInjector/RtiExec
RealtimeInjector/RtiList
RealtimeInjector/RtiStager
RealtimeSync/RealtimeSync
RealtimeSync/RealtimeSync_c_intf
ScheduledJobQueue/ScheduledJobQueue
ScheduledJobQueue/ScheduledJobQueueInstrument
Scheduler/Scheduler
Sie/AttributesMap
Sie/EnumAttributesMap
Sie/Sie
Sie/sie_c_intf
SimObject/JobData
SimObject/SimObject
SimTime/SimTime
SimTime/SimTime_c_intf
ThreadBase/ThreadBase
Timer/ITimer
Timer/Timer
Timer/it_handler
UdUnits/UdUnits
UdUnits/map_trick_units_to_udunits
UnitTest/UnitTest
UnitTest/UnitTest_c_intf
UnitsMap/UnitsMap
VariableServer/VariableReference
VariableServer/VariableServer
VariableServer/VariableServerListenThread
VariableServer/VariableServerThread
VariableServer/VariableServerThread_commands
VariableServer/VariableServerThread_connect
VariableServer/VariableServerThread_copy_data
VariableServer/VariableServerThread_copy_sim_data
VariableServer/VariableServerThread_create_socket
VariableServer/VariableServerThread_freeze_init
VariableServer/VariableServerThread_loop
VariableServer/VariableServerThread_restart
VariableServer/VariableServerThread_write_data
VariableServer/VariableServerThread_write_stdio
VariableServer/VariableServer_copy_data_freeze
VariableServer/VariableServer_copy_data_freeze_scheduled
VariableServer/VariableServer_copy_data_scheduled
VariableServer/VariableServer_copy_data_top
VariableServer/VariableServer_default_data
VariableServer/VariableServer_freeze_init
VariableServer/VariableServer_get_next_freeze_call_time
VariableServer/VariableServer_get_next_sync_call_time
VariableServer/VariableServer_get_var_server_port
VariableServer/VariableServer_init
VariableServer/VariableServer_restart
VariableServer/VariableServer_shutdown
VariableServer/exit_var_thread
VariableServer/var_server_ext
VariableServer/vs_format_ascii
Zeroconf/Zeroconf
mains/master
)
# Sim services Lex/Yacc files
set( SS_LEX_YACC_SRC
${CMAKE_BINARY_DIR}/temp_src/lex_yacc/input_parser.lex
${CMAKE_BINARY_DIR}/temp_src/lex_yacc/input_parser.tab
)
add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/input_parser.lex.cpp
COMMAND ${FLEX_EXECUTABLE} -d -o ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/input_parser.lex.cpp ${CMAKE_CURRENT_SOURCE_DIR}/CheckPointAgent/input_parser.l
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/CheckPointAgent/input_parser.l
)
add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/input_parser.tab.cpp ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/input_parser.tab.hpp
COMMAND ${BISON_EXECUTABLE} -d -o ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/input_parser.tab.cpp ${CMAKE_CURRENT_SOURCE_DIR}/CheckPointAgent/input_parser.y
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/CheckPointAgent/input_parser.y
)
add_library( sim_services_objs OBJECT ${SS_SRC} ${SS_LEX_YACC_SRC})
target_include_directories( sim_services_objs PUBLIC ${PYTHON_INCLUDE_DIRS} )
target_include_directories( sim_services_objs PUBLIC ${UDUNITS2_INCLUDES} )
add_subdirectory(MemoryManager)
add_subdirectory(InputProcessor)

View File

@ -25,7 +25,7 @@
#include <ctype.h>
#include "trick/mm_error.h"
#include "trick/ChkPtParseContext.hh"
#include "input_parser.tab.h"
#include "input_parser.tab.hpp"
#include "trick/TrickConstant.hh"
#define YY_EXTRA_TYPE ChkPtParseContext*

View File

@ -22,7 +22,7 @@
#include "trick/var.h"
#include "trick/message_proto.h"
#include "trick/message_type.h"
#include "input_parser.tab.h"
#include "input_parser.tab.hpp"
using namespace std;

View File

@ -0,0 +1,13 @@
set( INPUT_PROCESSOR_SRC
IPPython
IPPythonEvent
InputProcessor
MTV
MTV_c_intf
input_processor_ext
)
add_library( input_processor_objs OBJECT ${INPUT_PROCESSOR_SRC})
target_include_directories( input_processor_objs PUBLIC ${PYTHON_INCLUDE_DIRS} )

View File

@ -50,7 +50,7 @@ object_${TRICK_HOST_CPU}/IntegLoopScheduler.o: src/IntegLoopScheduler.cpp \
${TRICK_HOME}/trick_source/er7_utils/integration/core/include/integration_controls.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/abm4/include/abm4_second_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/core/include/priming_second_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/first_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/trick_first_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/trick_integrator.hh \
${TRICK_HOME}/include/trick/compat/sim_services/Integrator/include/Integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/core/include/base_integration_group.hh \
@ -68,7 +68,7 @@ object_${TRICK_HOST_CPU}/IntegLoopScheduler.o: src/IntegLoopScheduler.cpp \
${TRICK_HOME}/trick_source/er7_utils/integration/symplectic_euler/include/symplectic_euler_integrator_constructor.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/euler/include/euler_first_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/symplectic_euler/include/symplectic_euler_second_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/second_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/trick_second_order_ode_integrator.hh \
${TRICK_HOME}/include/trick/Euler_Integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/euler/include/euler_integrator_constructor.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/euler/include/euler_first_order_ode_integrator.hh \
@ -153,7 +153,7 @@ object_${TRICK_HOST_CPU}/IntegLoopManager.o: src/IntegLoopManager.cpp \
${TRICK_HOME}/trick_source/er7_utils/integration/core/include/integration_controls.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/abm4/include/abm4_second_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/core/include/priming_second_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/first_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/trick_first_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/trick_integrator.hh \
${TRICK_HOME}/include/trick/compat/sim_services/Integrator/include/Integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/core/include/base_integration_group.hh \
@ -171,7 +171,7 @@ object_${TRICK_HOST_CPU}/IntegLoopManager.o: src/IntegLoopManager.cpp \
${TRICK_HOME}/trick_source/er7_utils/integration/symplectic_euler/include/symplectic_euler_integrator_constructor.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/euler/include/euler_first_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/symplectic_euler/include/symplectic_euler_second_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/second_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/trick_second_order_ode_integrator.hh \
${TRICK_HOME}/include/trick/Euler_Integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/euler/include/euler_integrator_constructor.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/euler/include/euler_first_order_ode_integrator.hh \
@ -218,6 +218,18 @@ object_${TRICK_HOST_CPU}/IntegLoopManager.o: src/IntegLoopManager.cpp \
${TRICK_HOME}/include/trick/sim_mode.h \
${TRICK_HOME}/include/trick/exec_proto.h \
${TRICK_HOME}/include/trick/sim_mode.h
object_${TRICK_HOST_CPU}/Integrator.o: src/Integrator.cpp \
${TRICK_HOME}/include/trick/Integrator.hh \
${TRICK_HOME}/include/trick/memorymanager_c_intf.h \
${TRICK_HOME}/include/trick/parameter_types.h \
${TRICK_HOME}/include/trick/attributes.h \
${TRICK_HOME}/include/trick/reference.h \
${TRICK_HOME}/include/trick/value.h \
${TRICK_HOME}/include/trick/dllist.h \
${TRICK_HOME}/include/trick/var.h \
${TRICK_HOME}/include/trick/io_alloc.h \
${TRICK_HOME}/include/trick/message_proto.h \
${TRICK_HOME}/include/trick/message_type.h
object_${TRICK_HOST_CPU}/IntegLoopSimObject.o: src/IntegLoopSimObject.cpp \
${TRICK_HOME}/include/trick/IntegLoopSimObject.hh \
${TRICK_HOME}/include/trick/IntegLoopScheduler.hh \
@ -267,7 +279,7 @@ object_${TRICK_HOST_CPU}/IntegLoopSimObject.o: src/IntegLoopSimObject.cpp \
${TRICK_HOME}/trick_source/er7_utils/integration/core/include/integration_controls.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/abm4/include/abm4_second_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/core/include/priming_second_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/first_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/trick_first_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/trick_integrator.hh \
${TRICK_HOME}/include/trick/compat/sim_services/Integrator/include/Integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/core/include/base_integration_group.hh \
@ -285,7 +297,7 @@ object_${TRICK_HOST_CPU}/IntegLoopSimObject.o: src/IntegLoopSimObject.cpp \
${TRICK_HOME}/trick_source/er7_utils/integration/symplectic_euler/include/symplectic_euler_integrator_constructor.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/euler/include/euler_first_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/symplectic_euler/include/symplectic_euler_second_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/second_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/trick_second_order_ode_integrator.hh \
${TRICK_HOME}/include/trick/Euler_Integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/euler/include/euler_integrator_constructor.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/euler/include/euler_first_order_ode_integrator.hh \
@ -338,18 +350,6 @@ object_${TRICK_HOST_CPU}/Integrator_C_Intf.o: src/Integrator_C_Intf.cpp \
${TRICK_HOME}/include/trick/io_alloc.h \
${TRICK_HOME}/include/trick/message_proto.h \
${TRICK_HOME}/include/trick/message_type.h
object_${TRICK_HOST_CPU}/Integrator.o: src/Integrator.cpp \
${TRICK_HOME}/include/trick/Integrator.hh \
${TRICK_HOME}/include/trick/memorymanager_c_intf.h \
${TRICK_HOME}/include/trick/parameter_types.h \
${TRICK_HOME}/include/trick/attributes.h \
${TRICK_HOME}/include/trick/reference.h \
${TRICK_HOME}/include/trick/value.h \
${TRICK_HOME}/include/trick/dllist.h \
${TRICK_HOME}/include/trick/var.h \
${TRICK_HOME}/include/trick/io_alloc.h \
${TRICK_HOME}/include/trick/message_proto.h \
${TRICK_HOME}/include/trick/message_type.h
object_${TRICK_HOST_CPU}/getIntegrator.o: src/getIntegrator.cpp \
${TRICK_HOME}/include/trick/memorymanager_c_intf.h \
${TRICK_HOME}/include/trick/parameter_types.h \
@ -432,7 +432,7 @@ object_${TRICK_HOST_CPU}/getIntegrator.o: src/getIntegrator.cpp \
${TRICK_HOME}/include/trick/Integrator.hh \
${TRICK_HOME}/include/trick/IntegAlgorithms.hh \
${TRICK_HOME}/include/trick/ABM_Integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/first_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/trick_first_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/trick_integrator.hh \
${TRICK_HOME}/include/trick/compat/sim_services/Integrator/include/Integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/core/include/base_integration_group.hh \
@ -444,7 +444,7 @@ object_${TRICK_HOST_CPU}/getIntegrator.o: src/getIntegrator.cpp \
${TRICK_HOME}/trick_source/er7_utils/integration/core/include/integrator_interface.hh \
${TRICK_HOME}/trick_source/er7_utils/integration/core/include/time_interface.hh \
${TRICK_HOME}/include/trick/Euler_Cromer_Integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/second_order_ode_integrator.hh \
${TRICK_HOME}/trick_source/er7_utils/trick/integration/include/trick_second_order_ode_integrator.hh \
${TRICK_HOME}/include/trick/Euler_Integrator.hh \
${TRICK_HOME}/include/trick/MM4_Integrator.hh \
${TRICK_HOME}/include/trick/NL2_Integrator.hh \

View File

@ -0,0 +1,81 @@
set( TRICK_MM_SRC
ADefParseContext
MemoryManager
MemoryManager_C_Intf
MemoryManager_JSON_Intf
MemoryManager_add_attr_info
MemoryManager_add_checkpoint_alloc_dependency
MemoryManager_add_shared_library_symbols
MemoryManager_add_template_name_trans
MemoryManager_add_var
MemoryManager_alloc_depends
MemoryManager_alloc_info_map
MemoryManager_clear_memory
MemoryManager_declare_var
MemoryManager_delete_var
MemoryManager_get_enumerated
MemoryManager_get_size
MemoryManager_get_stl_dependencies
MemoryManager_get_type_attributes
MemoryManager_io_src_intf
MemoryManager_is_alloced
MemoryManager_make_declaration
MemoryManager_make_reference_attr
MemoryManager_map_external_object
MemoryManager_realloc
MemoryManager_ref_allocate
MemoryManager_ref_assignment
MemoryManager_ref_attributes
MemoryManager_ref_dim
MemoryManager_ref_name
MemoryManager_ref_name_from_address
MemoryManager_ref_var
MemoryManager_restore
MemoryManager_restore_stls
MemoryManager_set_checkpointagent
MemoryManager_set_debug_level
MemoryManager_strdup
MemoryManager_write_checkpoint
MemoryManager_write_var
RefParseContext
addr_bitfield
extract_bitfield
extract_unsigned_bitfield
follow_address_path
insert_bitfield
parameter_types
ref_free
ref_to_value
trickTypeCharString
vval
wcs_ext
)
# Sim services Lex/Yacc files
set( MM_LEX_YACC_SRC
${CMAKE_BINARY_DIR}/temp_src/lex_yacc/adef_parser.lex
${CMAKE_BINARY_DIR}/temp_src/lex_yacc/adef_parser.tab
${CMAKE_BINARY_DIR}/temp_src/lex_yacc/ref_parser.lex
${CMAKE_BINARY_DIR}/temp_src/lex_yacc/ref_parser.tab
)
add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/adef_parser.lex.cpp
COMMAND ${FLEX_EXECUTABLE} -d -o ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/adef_parser.lex.cpp ${CMAKE_CURRENT_SOURCE_DIR}/adef_parser.l
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/adef_parser.l
)
add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/adef_parser.tab.cpp ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/adef_parser.tab.hpp
COMMAND ${BISON_EXECUTABLE} -d -o ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/adef_parser.tab.cpp ${CMAKE_CURRENT_SOURCE_DIR}/adef_parser.y
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/adef_parser.y
)
add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/ref_parser.lex.cpp
COMMAND ${FLEX_EXECUTABLE} -d -o ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/ref_parser.lex.cpp ${CMAKE_CURRENT_SOURCE_DIR}/ref_parser.l
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/ref_parser.l
)
add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/ref_parser.tab.cpp ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/ref_parser.tab.hpp
COMMAND ${BISON_EXECUTABLE} -d -o ${CMAKE_BINARY_DIR}/temp_src/lex_yacc/ref_parser.tab.cpp ${CMAKE_CURRENT_SOURCE_DIR}/ref_parser.y
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/ref_parser.y
)
add_library( trick_mm STATIC ${TRICK_MM_SRC} ${MM_LEX_YACC_SRC})
target_include_directories( trick_mm PUBLIC ${UDUNITS2_INCLUDES} )

View File

@ -16,7 +16,7 @@
#include <ctype.h>
#include "trick/mm_error.h"
#include "trick/ADefParseContext.hh"
#include "adef_parser.tab.h"
#include "adef_parser.tab.hpp"
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wsign-compare"

View File

@ -19,7 +19,7 @@
#include "trick/value.h"
#include "trick/var.h"
#include "trick/ADefParseContext.hh"
#include "adef_parser.tab.h"
#include "adef_parser.tab.hpp"
#pragma GCC diagnostic ignored "-Wunused-parameter"

View File

@ -17,7 +17,7 @@
#include <ctype.h>
#include "trick/mm_error.h"
#include "trick/RefParseContext.hh"
#include "ref_parser.tab.h"
#include "ref_parser.tab.hpp"
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wsign-compare"

View File

@ -19,7 +19,7 @@
#include "trick/vval.h"
#include "trick/value.h"
#include "trick/var.h"
#include "ref_parser.tab.h"
#include "ref_parser.tab.hpp"
#pragma GCC diagnostic ignored "-Wunused-parameter"

View File

@ -150,8 +150,8 @@
#include "er7_utils/integration/core/include/integrator_constructor_factory.hh"
#include "er7_utils/integration/core/include/integrable_object.hh"
#include "er7_utils/integration/core/include/base_integration_group.hh"
#include "er7_utils/trick/integration/include/first_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/second_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_first_order_ode_integrator.hh"
#include "er7_utils/trick/integration/include/trick_second_order_ode_integrator.hh"
#endif
%}

View File

@ -0,0 +1,28 @@
# Trick utils files that are not in their own library
set( TRICK_UTILS_SRC
interpolator/src/Interpolator.cpp
shm/src/tsm_disconnect
shm/src/tsm_init
shm/src/tsm_init_with_lock
shm/src/tsm_reconnect
trick_adt/src/MapStrToPtr
trick_adt/src/bst
trick_adt/src/bubble_sort
trick_adt/src/dllist
trick_adt/src/lqueue
trick_adt/src/lstack
trick_adt/src/record_array
unicode/src/unicode_utils
)
add_library( trick_utils_objs OBJECT ${TRICK_UTILS_SRC} )
###############################################################
# Other Trick libraries
###############################################################
add_subdirectory(comm)
add_subdirectory(math)
add_subdirectory(units)

View File

@ -0,0 +1,31 @@
set( TRICKCOMM_SRC
src/tc_accept
src/tc_blockio
src/tc_broadcast_conninfo
src/tc_clock_init
src/tc_clock_time
src/tc_connect
src/tc_dev_copy
src/tc_disconnect
src/tc_error
src/tc_init
src/tc_init_mcast_client
src/tc_init_mcast_server
src/tc_init_udp_client
src/tc_init_udp_server
src/tc_isValid
src/tc_listen
src/tc_multiconnect
src/tc_pending
src/tc_read
src/tc_read_byteswap
src/tc_set_blockio
src/tc_write
src/tc_write_byteswap
src/trick_bswap_buffer
src/trick_byteswap
src/trick_error_hndlr
)
add_library( trick_comm STATIC ${TRICKCOMM_SRC})

View File

@ -0,0 +1,92 @@
set( TRICKMATH_SRC
src/LUD_inv
src/LUT_inv
src/LU_bksb
src/LU_dcmp
src/RodriguesRotation
src/dLU_Choleski
src/dLU_solver
src/dS_function
src/deuler_123
src/deuler_123_quat
src/deuler_132
src/deuler_132_quat
src/deuler_213
src/deuler_213_quat
src/deuler_231
src/deuler_231_quat
src/deuler_312
src/deuler_312_quat
src/deuler_321
src/deuler_321_quat
src/dm_add
src/dm_copy
src/dm_ident
src/dm_init
src/dm_invert
src/dm_invert_symm
src/dm_orthonormal
src/dm_print
src/dm_scale
src/dm_sub
src/dm_trans
src/dmtxm
src/dmtxmt
src/dmtxv
src/dmxm
src/dmxmt
src/dmxv
src/drandom_gaussian
src/dsingle_axis_rot
src/dv_add
src/dv_copy
src/dv_cross
src/dv_dot
src/dv_init
src/dv_mag
src/dv_norm
src/dv_print
src/dv_scale
src/dv_skew
src/dv_store
src/dv_sub
src/dvxm
src/dvxv_add
src/dvxv_sub
src/eigen_hh_red
src/eigen_jacobi
src/eigen_jacobi_4
src/eigen_ql
src/euler_matrix
src/euler_quat
src/gauss_rnd_bell
src/gauss_rnd_pseudo
src/mat_copy
src/mat_permute
src/mat_print
src/mat_to_quat
src/mat_trans
src/matxmat
src/matxtrans
src/matxvec
src/quat_mult
src/quat_norm
src/quat_norm_integ
src/quat_to_mat
src/rand_num
src/roundoff
src/tm_print_error
src/transxmat
src/transxtrans
src/transxvec
src/trick_gsl_rand
src/trns_fnct_1o
src/trns_fnct_2o
src/uniform_rnd_1
src/uniform_rnd_triple
src/vec_print
src/wave_form
)
add_library( trick_math STATIC ${TRICKMATH_SRC})

View File

@ -0,0 +1,9 @@
set( TRICK_UNITS_SRC
src/UCFn.cpp
src/Unit.cpp
src/units_conv
)
add_library( trick_units STATIC ${TRICK_UNITS_SRC})