# 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 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/JSONVariableServerSessionThread MasterSlave/MSSharedMem MasterSlave/MSSocket MasterSlave/Master MasterSlave/Slave Message/MessageCout Message/MessageFile Message/MessageHSFile Message/MessageCustomFile 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/VariableServerSessionThread VariableServer/VariableServerSessionThread_commands VariableServer/VariableServerSessionThread_connect VariableServer/VariableServerSessionThread_copy_data VariableServer/VariableServerSessionThread_copy_sim_data VariableServer/VariableServerSessionThread_create_socket VariableServer/VariableServerSessionThread_freeze_init VariableServer/VariableServerSessionThread_loop VariableServer/VariableServerSessionThread_restart VariableServer/VariableServerSessionThread_write_data VariableServer/VariableServerSessionThread_write_stdio VariableServer/VariableServer_copy_and_write_freeze VariableServer/VariableServer_copy_and_write_freeze_scheduled VariableServer/VariableServer_copy_and_write_scheduled VariableServer/VariableServer_copy_and_write_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_open_additional_servers VariableServer/VariableServer_init VariableServer/VariableServer_restart VariableServer/VariableServer_shutdown VariableServer/exit_var_thread VariableServer/var_server_ext 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)