carla/Util/BuildTools/Setup.bat

495 lines
19 KiB
Batchfile
Raw Normal View History

@echo off
Digital Twins 0.2 version (#6768) * Bitmap sent and drawn in widget texture with bugs * Map bitmap shown on widget * Concated meshes generated in the same lane to avoid errors during simplification * Navigation added to widget * Avoid Simplify to remove border vertices and try to parallel assets creation process * Road Generation 0.1 version ready * Removing Engine Association, Formatting CarlaTools Build dependencies * Change container type of generated procedural mesh componetns to be supported by UPROPERTY * Fixed indices jumping by two * Added in separate thread junctions generation * Started dynamic database creation * Dynamic database creation temporally removed * First step of merge. Coords of bottom left corner and top right corner * Libraries added to build system * Git ignore for osmrenderer to avoid ThirdParties directory to be tracked * Lat and Lon coords for corners sent from server to client * Transformed to local coords meshes' vertices' coords * Coords format error fixed * Saving xodr and osm files inside of OpenDrive folder * Widget fixed * UI design improved * WIP Windows build system for osm-world-renderer * Socket implementation replaced by boost asio framework in osmrenderer * Added multithreaded simplification of meshes * Build system adapted to wndows * Headers fixed to avoid windows specific heraders compilation * Remove warnings * Added widget to import building from houdini * Added origin latitude and longituda to OSM to OpenDRIVE conversion functions. Fixed Houdini importer widgets. * Add Houdini plugin download to the build system * Moved houdini blueprint. Houdini plugin now dowloads by default * Added houdini download for windows * OpenDriveToMap Now is a UOBject instead of widget * Added Lane mark generation. * Roads materials and distance field scale set to 0 * M_PI macro fixed for windows osm-renderer build system * Added Lane Marking generation * Fixed compilation issue related with std pair non copyable lane * Fix bug where different lanes were concating. Fix bug where end of roadmark was creating an artifact * Lanes Marks material assignation * Fix compilation issue and reading from not valid memory crash * Middle Lane mark duplication bug fixed - temp solution * Added bumps along road * Adding marchingcubes library and added to create junctions * Added junctions generations using marching cube and smoothed * Fixed linux compilation and removed couple warnings * Using previous algorithim for two road connections * Code cleanup * Remove debug state * Format Files * Format third parties files * Spaces removal * Fix code format * Added spawnning for trees * New branch to don`t loose modifications in code * Removing unnecesary spaces * Set trees for designer * Tag static mesh actor from road type * One tile with landscape and road cut * Changed format of For * WidgetCreated * Widget progress * LevelCreator Update * Folder for basicParameters in father map * Father map from template * Terrain mesh generated from noise and road mask Road mask not applied * Assign SubLevel by position * Changed to static functions * StrigUpdate * Added missing UFUNCTIONS * Trying to move Houdini actors to tiles * Meshes from Houdini to Tiles * Number of X and Y tiles exposed * Modify to new functions * Modifying code to create a new variable-offset and table to ingest blueprints * Update assignTile Function * Updating widget and cpp file to relocate meshes * Update Widget and create local copy of OpenDriveToMap * Added planes as landscape * RoadImported fixed * Simplification done in UE side * Update Houdini pipeline * Fixed osmrenderer compilation for windows * Generate landscape and set materials * Generate UVs for lane meshes. Generate Normals and Tangets for lane meshes * Delete unnecesary files * Widget updated * Exposing different variables to BPs * Update Assets * Asset path names fixed * Fixed height for misc objects, set default landscape * Rotate Light boxes * Adding OSM Importer plugin * Fixed normals on sidewalks * Update adding buildings plugin * Adding missing BP * Update * Fix BP_Instanced * Update OSMImporter * Creating BP_BuildingCreator * LevelCreator Fixed * Update building asset creation * If def add for osm renderer * Building block variation and styles * Updated values and generation for demo3 * Fix Widget * Changed unreal FSocket for boost sockets. Fixed road position errors * Update building creation * Updated Building Height * Fixing line colors * Added Planes in missing stuff * Update for meshes * Update deformation, avoid creation of individual buildings and add check for deformation * Deleted unnecesary files * New branch to work on building generation * Added shorts walls and roofs * Improve triangulation of polygons using UE * Fixing pipeline * Disabling shadows for roads and terrain * Updated default values for BP_Opendrivetomap * Updated OpenDriveToMap * Use Editor world instead of GetWorld * Added HTTP module * Change customfiledownloader API * Adding debuginformation * Using OpenDriveToMapObject * Adding Debug stuff * Expose Buildings names in ue4 * Remove from root when generation finished * Adding Slopes to building generation * Table update * Set pivot point at centre of building and Set use of material instances * Updating Buildings plane stuff * Fixing walls for building generator * Update data table * Updated road generation * Update DT * Update Origin of map and set moving for large map * Remove logs prepare blueprints for getting new info * Update slope fix and material for slopes * Updated Digital Twins for 12/06 * Added direct URL support * Avoid some crashes and improve QoL * Height fix * Tried to expose largemap in tick * New vegetation scatter tool * Added Full largemap support * Edit building levels in some type of levels * Updated static meshes instead of procedural meshes * Updated building generation and reduced logs * Vegetation tool into landscape pipeline * Demo ready for digital twins * Automated download of plugin * Update linux build script for UE4 Plugins * Disable sidewalks in junctions * Re enable sidewalksin crossing lanes * Removed asserts added checks to avoid generation of sidewalks on road * Optimizations for VRAM * Move actors slowly to sub levels * Added optimizations and support for smaller or bigger maps in tiles, modified TileSize * Garage and shed styles * Update generation stages * Update garage and shed parameters * Changed method generation to tile by tile * Fixed memory leak and UOpenDriveToMap is a uobject now * Fixed tile by tile generation * Added Heightmap support to map gen * last update * Commandlet generation working * Merge finished * Update DefaultEngine.ini to rever default rhi * Clean up HoudiniImporterWidget.cpp * Add with editor and make editor only code * Setup dependencies for CarlaTools plugin * Update StreetMap plugin commit and gitignore * Update Content version * Update next content version * Changed based type of OpenDrivetomap * Remove intermediate files if need similar to BuildCarlaUE4.sh * Update order of execution of donwload * Try to run download plugins everytime is used * Update packages sh avoid to delete anything * Fixing setup in windows * Add UE Constructor to Commandlet * More fixes * content version * Update package sh and update * Update Streetmap version * Update dependencies * Update StreetMap commit * Fix typo in gitignore * Update STMap plugin commit * Revert latest changes in windows package script * Update comments --------- Co-authored-by: aollero <aollero@cvc.uab.cat> Co-authored-by: aollero <adriollero@gmail.com> Co-authored-by: Axel <axellopez92@outlook.com> Co-authored-by: marionzki <mnoriegazamora@gmail.com> Co-authored-by: bernatx <bernatx@gmail.com>
2023-10-31 18:24:22 +08:00
setlocal enabledelayedexpansion
rem BAT script that downloads and generates
rem rpclib, gtest and boost libraries for CARLA (carla.org).
rem Run it through a cmd with the x64 Visual C++ Toolset enabled.
set LOCAL_PATH=%~dp0
set FILE_N=-[%~n0]:
2018-08-29 18:24:30 +08:00
rem Print batch params (debug purpose)
echo %FILE_N% [Batch params]: %*
rem ============================================================================
rem -- Check for compiler ------------------------------------------------------
rem ============================================================================
2018-08-30 20:18:53 +08:00
where cl 1>nul
if %errorlevel% neq 0 goto error_cl
rem TODO: check for x64 and not x86 or x64_x86
rem ============================================================================
rem -- Parse arguments ---------------------------------------------------------
rem ============================================================================
2022-12-19 21:09:25 +08:00
set BOOST_VERSION=1.80.0
set INSTALLERS_DIR=%ROOT_PATH:/=\%Util\InstallersWin\
set VERSION_FILE=%ROOT_PATH:/=\%Util\ContentVersions.txt
set CONTENT_DIR=%ROOT_PATH:/=\%Unreal\CarlaUE4\Content\Carla\
set CARLA_DEPENDENCIES_FOLDER=%ROOT_PATH:/=\%Unreal\CarlaUE4\Plugins\Carla\CarlaDependencies\
2021-02-02 23:00:07 +08:00
set CARLA_BINARIES_FOLDER=%ROOT_PATH:/=\%Unreal\CarlaUE4\Plugins\Carla\Binaries\Win64
set CARLA_PYTHON_DEPENDENCIES=%ROOT_PATH:/=\%PythonAPI\carla\dependencies\
set USE_CHRONO=false
Ros2 (#6862) * Adding ROS2 manager * Trying to compile fastDDS in windows, but have problems with dependencies * Camera sensors connected to ROS2, dependencies disabled temporaly * Including enum with sensors list * adding GNSS sensor capture * adding IMU sensor capture * adding DVS sensor capture * adding Lidar sensor capture * adding SemanticLidar and Radar capture * adding ObstacleDetector and some fixes * modify cmakelists, failed to find libatomic * fixed libatomic * compile fast-dds with libc++ * fixed compliation fast dds with libcxx * linked carla with fastdds * Fixed Fast-DDS lib Now its compiled to a intermediate lib with a bridge so libstdc++ can be used * moved all ros2 deps to ros2 folder renamed types from .cxx to .cpp * Finally FastDDS compiled and working inside CARLA * exposed publish function for testing * fixed code style * make ros2 optional * make ros2 optional * Added defines to compile ROS2 code * ros image publisher working * deleted some buffer copies * Added more topics and ROS2 types * Adding sensor Transform as argument, and add function to send buffer or serialize and send buffer * Removing empty buffer from DVS sensor * fixed lidar publisher * fixed lidar publisher * Fix buffer of RGB in ROS2 * adding timestamp of each frame into ROS2 manager * sending timestamps with frame to ROS2 * put apart timestamp from frame counter call * adding BufferView to share buffers * adding BufferView to share buffers * adding ros_name attribute to all actors * mapping ros_name for each actor * ROS2 is now published in a different thread Publishers now can be created on demand and be reused Added subscriber for ego vehicle Fixed build scripts * forgot to add this fix * add ros2 to windows scripts * fixed default ros topic names * fix topic name duplication * Adding functions for enable/disable sensors publishing without listen to it * Added Camera info and ROI types RGB Camera now publishes in both topics * move camera info immutable data to the constructor * Publish transform for all topics Create Camera DVS subtopics Fixed bug with Lidar * Added flip Y to semantic lidar * Adding callbacks for subscribers from Unreal * Adding camera info to ROS2 (resolution and FOV) * Finished ROS2 naming from python * Fixed bug with ros names * Delete topics when deleting the sensors * setting the rosname same as default no longer rewrites it * ROS transform fix * Added all camera topics with the image and camera info Added vehicle control Added clock publisher * Change ros2 topic names for vehicle subscriber and clock publisher * Rename vehicle control ros2 topic name * rename subscriber type to CarlaEgoVehicleControl * Fix semantic lidar default ros name Fix sizeof the semantic lidar data buffer * Changed controller stored as string to pointer * Back to previous version for default hero ros name Removed debug prints * Remvoe callback when ego publisher disconnects * Serializing DVS data before sending to ROS * dvs camera image and lidar * DVS Pointcloud publishing * Remove unnecessary fields * Send local transforms to ros * avoid transform recalculation if not needed * Optical Flow Camera fixed * Set fixed branch for Fast-DDS to avoid cmake version change issues * Finally Working on package * Fix style from FastDDS auto generated files * Added ros2 to ubuntu in jenkins * removed ros2 from jenkins, test * restore ros2 in jenkins * fix copy shareds, and removed server dependency from libcarla * test installing the fastdds dependencies in jenkins * move installing deps to separate stage * removed install deps * Fixing test_benchmark_streaming * Fixed imu orientation and camera info data * Fixing test_benchmark_streaming.cpp with BufferView * Removing DEBUG_ONLY() * publish collision sensor * Fixing unit-tests with the new BufferView * camera info is set once * Fix echo camera info * fix transform rotation * Fixing ros_name attribute creation * fixed camera info and region of interest publish * fix IMU compass * Forgot to add ros2 flag to jenkins package --------- Co-authored-by: bernatx <bernatx@gmail.com>
2023-11-06 19:34:07 +08:00
set USE_ROS2=false
:arg-parse
if not "%1"=="" (
if "%1"=="-j" (
set NUMBER_OF_ASYNC_JOBS=%2
)
if "%1"=="--boost-toolset" (
set TOOLSET=%2
)
if "%1"=="--chrono" (
set USE_CHRONO=true
)
Ros2 (#6862) * Adding ROS2 manager * Trying to compile fastDDS in windows, but have problems with dependencies * Camera sensors connected to ROS2, dependencies disabled temporaly * Including enum with sensors list * adding GNSS sensor capture * adding IMU sensor capture * adding DVS sensor capture * adding Lidar sensor capture * adding SemanticLidar and Radar capture * adding ObstacleDetector and some fixes * modify cmakelists, failed to find libatomic * fixed libatomic * compile fast-dds with libc++ * fixed compliation fast dds with libcxx * linked carla with fastdds * Fixed Fast-DDS lib Now its compiled to a intermediate lib with a bridge so libstdc++ can be used * moved all ros2 deps to ros2 folder renamed types from .cxx to .cpp * Finally FastDDS compiled and working inside CARLA * exposed publish function for testing * fixed code style * make ros2 optional * make ros2 optional * Added defines to compile ROS2 code * ros image publisher working * deleted some buffer copies * Added more topics and ROS2 types * Adding sensor Transform as argument, and add function to send buffer or serialize and send buffer * Removing empty buffer from DVS sensor * fixed lidar publisher * fixed lidar publisher * Fix buffer of RGB in ROS2 * adding timestamp of each frame into ROS2 manager * sending timestamps with frame to ROS2 * put apart timestamp from frame counter call * adding BufferView to share buffers * adding BufferView to share buffers * adding ros_name attribute to all actors * mapping ros_name for each actor * ROS2 is now published in a different thread Publishers now can be created on demand and be reused Added subscriber for ego vehicle Fixed build scripts * forgot to add this fix * add ros2 to windows scripts * fixed default ros topic names * fix topic name duplication * Adding functions for enable/disable sensors publishing without listen to it * Added Camera info and ROI types RGB Camera now publishes in both topics * move camera info immutable data to the constructor * Publish transform for all topics Create Camera DVS subtopics Fixed bug with Lidar * Added flip Y to semantic lidar * Adding callbacks for subscribers from Unreal * Adding camera info to ROS2 (resolution and FOV) * Finished ROS2 naming from python * Fixed bug with ros names * Delete topics when deleting the sensors * setting the rosname same as default no longer rewrites it * ROS transform fix * Added all camera topics with the image and camera info Added vehicle control Added clock publisher * Change ros2 topic names for vehicle subscriber and clock publisher * Rename vehicle control ros2 topic name * rename subscriber type to CarlaEgoVehicleControl * Fix semantic lidar default ros name Fix sizeof the semantic lidar data buffer * Changed controller stored as string to pointer * Back to previous version for default hero ros name Removed debug prints * Remvoe callback when ego publisher disconnects * Serializing DVS data before sending to ROS * dvs camera image and lidar * DVS Pointcloud publishing * Remove unnecessary fields * Send local transforms to ros * avoid transform recalculation if not needed * Optical Flow Camera fixed * Set fixed branch for Fast-DDS to avoid cmake version change issues * Finally Working on package * Fix style from FastDDS auto generated files * Added ros2 to ubuntu in jenkins * removed ros2 from jenkins, test * restore ros2 in jenkins * fix copy shareds, and removed server dependency from libcarla * test installing the fastdds dependencies in jenkins * move installing deps to separate stage * removed install deps * Fixing test_benchmark_streaming * Fixed imu orientation and camera info data * Fixing test_benchmark_streaming.cpp with BufferView * Removing DEBUG_ONLY() * publish collision sensor * Fixing unit-tests with the new BufferView * camera info is set once * Fix echo camera info * fix transform rotation * Fixing ros_name attribute creation * fixed camera info and region of interest publish * fix IMU compass * Forgot to add ros2 flag to jenkins package --------- Co-authored-by: bernatx <bernatx@gmail.com>
2023-11-06 19:34:07 +08:00
if "%1"=="--ros2" (
set USE_ROS2=true
)
if "%1" == "--generator" (
set GENERATOR=%2
shift
)
if "%1"=="-h" (
goto help
)
if "%1"=="--help" (
goto help
)
Digital Twins 0.2 version (#6768) * Bitmap sent and drawn in widget texture with bugs * Map bitmap shown on widget * Concated meshes generated in the same lane to avoid errors during simplification * Navigation added to widget * Avoid Simplify to remove border vertices and try to parallel assets creation process * Road Generation 0.1 version ready * Removing Engine Association, Formatting CarlaTools Build dependencies * Change container type of generated procedural mesh componetns to be supported by UPROPERTY * Fixed indices jumping by two * Added in separate thread junctions generation * Started dynamic database creation * Dynamic database creation temporally removed * First step of merge. Coords of bottom left corner and top right corner * Libraries added to build system * Git ignore for osmrenderer to avoid ThirdParties directory to be tracked * Lat and Lon coords for corners sent from server to client * Transformed to local coords meshes' vertices' coords * Coords format error fixed * Saving xodr and osm files inside of OpenDrive folder * Widget fixed * UI design improved * WIP Windows build system for osm-world-renderer * Socket implementation replaced by boost asio framework in osmrenderer * Added multithreaded simplification of meshes * Build system adapted to wndows * Headers fixed to avoid windows specific heraders compilation * Remove warnings * Added widget to import building from houdini * Added origin latitude and longituda to OSM to OpenDRIVE conversion functions. Fixed Houdini importer widgets. * Add Houdini plugin download to the build system * Moved houdini blueprint. Houdini plugin now dowloads by default * Added houdini download for windows * OpenDriveToMap Now is a UOBject instead of widget * Added Lane mark generation. * Roads materials and distance field scale set to 0 * M_PI macro fixed for windows osm-renderer build system * Added Lane Marking generation * Fixed compilation issue related with std pair non copyable lane * Fix bug where different lanes were concating. Fix bug where end of roadmark was creating an artifact * Lanes Marks material assignation * Fix compilation issue and reading from not valid memory crash * Middle Lane mark duplication bug fixed - temp solution * Added bumps along road * Adding marchingcubes library and added to create junctions * Added junctions generations using marching cube and smoothed * Fixed linux compilation and removed couple warnings * Using previous algorithim for two road connections * Code cleanup * Remove debug state * Format Files * Format third parties files * Spaces removal * Fix code format * Added spawnning for trees * New branch to don`t loose modifications in code * Removing unnecesary spaces * Set trees for designer * Tag static mesh actor from road type * One tile with landscape and road cut * Changed format of For * WidgetCreated * Widget progress * LevelCreator Update * Folder for basicParameters in father map * Father map from template * Terrain mesh generated from noise and road mask Road mask not applied * Assign SubLevel by position * Changed to static functions * StrigUpdate * Added missing UFUNCTIONS * Trying to move Houdini actors to tiles * Meshes from Houdini to Tiles * Number of X and Y tiles exposed * Modify to new functions * Modifying code to create a new variable-offset and table to ingest blueprints * Update assignTile Function * Updating widget and cpp file to relocate meshes * Update Widget and create local copy of OpenDriveToMap * Added planes as landscape * RoadImported fixed * Simplification done in UE side * Update Houdini pipeline * Fixed osmrenderer compilation for windows * Generate landscape and set materials * Generate UVs for lane meshes. Generate Normals and Tangets for lane meshes * Delete unnecesary files * Widget updated * Exposing different variables to BPs * Update Assets * Asset path names fixed * Fixed height for misc objects, set default landscape * Rotate Light boxes * Adding OSM Importer plugin * Fixed normals on sidewalks * Update adding buildings plugin * Adding missing BP * Update * Fix BP_Instanced * Update OSMImporter * Creating BP_BuildingCreator * LevelCreator Fixed * Update building asset creation * If def add for osm renderer * Building block variation and styles * Updated values and generation for demo3 * Fix Widget * Changed unreal FSocket for boost sockets. Fixed road position errors * Update building creation * Updated Building Height * Fixing line colors * Added Planes in missing stuff * Update for meshes * Update deformation, avoid creation of individual buildings and add check for deformation * Deleted unnecesary files * New branch to work on building generation * Added shorts walls and roofs * Improve triangulation of polygons using UE * Fixing pipeline * Disabling shadows for roads and terrain * Updated default values for BP_Opendrivetomap * Updated OpenDriveToMap * Use Editor world instead of GetWorld * Added HTTP module * Change customfiledownloader API * Adding debuginformation * Using OpenDriveToMapObject * Adding Debug stuff * Expose Buildings names in ue4 * Remove from root when generation finished * Adding Slopes to building generation * Table update * Set pivot point at centre of building and Set use of material instances * Updating Buildings plane stuff * Fixing walls for building generator * Update data table * Updated road generation * Update DT * Update Origin of map and set moving for large map * Remove logs prepare blueprints for getting new info * Update slope fix and material for slopes * Updated Digital Twins for 12/06 * Added direct URL support * Avoid some crashes and improve QoL * Height fix * Tried to expose largemap in tick * New vegetation scatter tool * Added Full largemap support * Edit building levels in some type of levels * Updated static meshes instead of procedural meshes * Updated building generation and reduced logs * Vegetation tool into landscape pipeline * Demo ready for digital twins * Automated download of plugin * Update linux build script for UE4 Plugins * Disable sidewalks in junctions * Re enable sidewalksin crossing lanes * Removed asserts added checks to avoid generation of sidewalks on road * Optimizations for VRAM * Move actors slowly to sub levels * Added optimizations and support for smaller or bigger maps in tiles, modified TileSize * Garage and shed styles * Update generation stages * Update garage and shed parameters * Changed method generation to tile by tile * Fixed memory leak and UOpenDriveToMap is a uobject now * Fixed tile by tile generation * Added Heightmap support to map gen * last update * Commandlet generation working * Merge finished * Update DefaultEngine.ini to rever default rhi * Clean up HoudiniImporterWidget.cpp * Add with editor and make editor only code * Setup dependencies for CarlaTools plugin * Update StreetMap plugin commit and gitignore * Update Content version * Update next content version * Changed based type of OpenDrivetomap * Remove intermediate files if need similar to BuildCarlaUE4.sh * Update order of execution of donwload * Try to run download plugins everytime is used * Update packages sh avoid to delete anything * Fixing setup in windows * Add UE Constructor to Commandlet * More fixes * content version * Update package sh and update * Update Streetmap version * Update dependencies * Update StreetMap commit * Fix typo in gitignore * Update STMap plugin commit * Revert latest changes in windows package script * Update comments --------- Co-authored-by: aollero <aollero@cvc.uab.cat> Co-authored-by: aollero <adriollero@gmail.com> Co-authored-by: Axel <axellopez92@outlook.com> Co-authored-by: marionzki <mnoriegazamora@gmail.com> Co-authored-by: bernatx <bernatx@gmail.com>
2023-10-31 18:24:22 +08:00
shift
goto :arg-parse
)
2021-07-13 22:43:08 +08:00
rem If not defined, use Visual Studio 2019 as tool set
if "%TOOLSET%" == "" set TOOLSET=msvc-14.2
if %GENERATOR% == "" set GENERATOR="Visual Studio 16 2019"
rem If is not set, set the number of parallel jobs to the number of CPU threads
if "%NUMBER_OF_ASYNC_JOBS%" == "" set NUMBER_OF_ASYNC_JOBS=%NUMBER_OF_PROCESSORS%
rem ============================================================================
rem -- Basic info and setup ----------------------------------------------------
rem ============================================================================
2019-02-11 22:29:18 +08:00
set INSTALLATION_DIR=%INSTALLATION_DIR:/=\%
echo %FILE_N% Asynchronous jobs: %NUMBER_OF_ASYNC_JOBS%
echo %FILE_N% Boost toolset: %TOOLSET%
echo %FILE_N% Generator: %GENERATOR%
echo %FILE_N% Install directory: "%INSTALLATION_DIR%"
if not exist "%CONTENT_DIR%" (
echo %FILE_N% Creating "%CONTENT_DIR%" folder...
mkdir "%CONTENT_DIR%"
)
if not exist "%INSTALLATION_DIR%" (
echo %FILE_N% Creating "%INSTALLATION_DIR%" folder...
mkdir "%INSTALLATION_DIR%"
)
rem ============================================================================
rem -- Download and install zlib -----------------------------------------------
rem ============================================================================
echo %FILE_N% Installing zlib...
call "%INSTALLERS_DIR%install_zlib.bat"^
--build-dir "%INSTALLATION_DIR%"
if %errorlevel% neq 0 goto failed
if not defined install_zlib (
echo %FILE_N% Failed while installing zlib.
goto failed
) else (
set ZLIB_INSTALL_DIR=%install_zlib%
)
rem ============================================================================
rem -- Download and install libpng ---------------------------------------------
rem ============================================================================
echo %FILE_N% Installing libpng...
call "%INSTALLERS_DIR%install_libpng.bat"^
--build-dir "%INSTALLATION_DIR%"^
--zlib-install-dir "%ZLIB_INSTALL_DIR%"
if %errorlevel% neq 0 goto failed
if not defined install_libpng (
echo %FILE_N% Failed while installing libpng.
goto failed
) else (
set LIBPNG_INSTALL_DIR=%install_libpng%
)
rem ============================================================================
rem -- Download and install rpclib ---------------------------------------------
rem ============================================================================
echo %FILE_N% Installing rpclib...
call "%INSTALLERS_DIR%install_rpclib.bat"^
--build-dir "%INSTALLATION_DIR%"^
--generator %GENERATOR%
if %errorlevel% neq 0 goto failed
if not defined install_rpclib (
echo %FILE_N% Failed while installing rpclib.
goto failed
)
rem ============================================================================
rem -- Download and install Google Test ----------------------------------------
rem ============================================================================
echo %FILE_N% Installing Google Test...
call "%INSTALLERS_DIR%install_gtest.bat"^
--build-dir "%INSTALLATION_DIR%"^
--generator %GENERATOR%
if %errorlevel% neq 0 goto failed
if not defined install_gtest (
2018-08-30 18:18:07 +08:00
echo %FILE_N% Failed while installing Google Test.
goto failed
)
2019-06-06 05:33:46 +08:00
rem ============================================================================
rem -- Download and install Recast & Detour ------------------------------------
rem ============================================================================
echo %FILE_N% Installing "Recast & Detour"...
call "%INSTALLERS_DIR%install_recast.bat"^
--build-dir "%INSTALLATION_DIR%"^
--generator %GENERATOR%
2019-06-06 05:33:46 +08:00
if %errorlevel% neq 0 goto failed
if not defined install_recast (
echo %FILE_N% Failed while installing "Recast & Detour".
goto failed
2019-06-13 18:30:21 +08:00
) else (
set RECAST_INSTALL_DIR=%install_recast:\=/%
2019-06-06 05:33:46 +08:00
)
Ros2 (#6862) * Adding ROS2 manager * Trying to compile fastDDS in windows, but have problems with dependencies * Camera sensors connected to ROS2, dependencies disabled temporaly * Including enum with sensors list * adding GNSS sensor capture * adding IMU sensor capture * adding DVS sensor capture * adding Lidar sensor capture * adding SemanticLidar and Radar capture * adding ObstacleDetector and some fixes * modify cmakelists, failed to find libatomic * fixed libatomic * compile fast-dds with libc++ * fixed compliation fast dds with libcxx * linked carla with fastdds * Fixed Fast-DDS lib Now its compiled to a intermediate lib with a bridge so libstdc++ can be used * moved all ros2 deps to ros2 folder renamed types from .cxx to .cpp * Finally FastDDS compiled and working inside CARLA * exposed publish function for testing * fixed code style * make ros2 optional * make ros2 optional * Added defines to compile ROS2 code * ros image publisher working * deleted some buffer copies * Added more topics and ROS2 types * Adding sensor Transform as argument, and add function to send buffer or serialize and send buffer * Removing empty buffer from DVS sensor * fixed lidar publisher * fixed lidar publisher * Fix buffer of RGB in ROS2 * adding timestamp of each frame into ROS2 manager * sending timestamps with frame to ROS2 * put apart timestamp from frame counter call * adding BufferView to share buffers * adding BufferView to share buffers * adding ros_name attribute to all actors * mapping ros_name for each actor * ROS2 is now published in a different thread Publishers now can be created on demand and be reused Added subscriber for ego vehicle Fixed build scripts * forgot to add this fix * add ros2 to windows scripts * fixed default ros topic names * fix topic name duplication * Adding functions for enable/disable sensors publishing without listen to it * Added Camera info and ROI types RGB Camera now publishes in both topics * move camera info immutable data to the constructor * Publish transform for all topics Create Camera DVS subtopics Fixed bug with Lidar * Added flip Y to semantic lidar * Adding callbacks for subscribers from Unreal * Adding camera info to ROS2 (resolution and FOV) * Finished ROS2 naming from python * Fixed bug with ros names * Delete topics when deleting the sensors * setting the rosname same as default no longer rewrites it * ROS transform fix * Added all camera topics with the image and camera info Added vehicle control Added clock publisher * Change ros2 topic names for vehicle subscriber and clock publisher * Rename vehicle control ros2 topic name * rename subscriber type to CarlaEgoVehicleControl * Fix semantic lidar default ros name Fix sizeof the semantic lidar data buffer * Changed controller stored as string to pointer * Back to previous version for default hero ros name Removed debug prints * Remvoe callback when ego publisher disconnects * Serializing DVS data before sending to ROS * dvs camera image and lidar * DVS Pointcloud publishing * Remove unnecessary fields * Send local transforms to ros * avoid transform recalculation if not needed * Optical Flow Camera fixed * Set fixed branch for Fast-DDS to avoid cmake version change issues * Finally Working on package * Fix style from FastDDS auto generated files * Added ros2 to ubuntu in jenkins * removed ros2 from jenkins, test * restore ros2 in jenkins * fix copy shareds, and removed server dependency from libcarla * test installing the fastdds dependencies in jenkins * move installing deps to separate stage * removed install deps * Fixing test_benchmark_streaming * Fixed imu orientation and camera info data * Fixing test_benchmark_streaming.cpp with BufferView * Removing DEBUG_ONLY() * publish collision sensor * Fixing unit-tests with the new BufferView * camera info is set once * Fix echo camera info * fix transform rotation * Fixing ros_name attribute creation * fixed camera info and region of interest publish * fix IMU compass * Forgot to add ros2 flag to jenkins package --------- Co-authored-by: bernatx <bernatx@gmail.com>
2023-11-06 19:34:07 +08:00
rem ============================================================================
rem -- Download and install Fast-DDS (for ROS2)---------------------------------
rem ============================================================================
if %USE_ROS2% == true (
echo %FILE_N% Installing "Fast-DDS"...
call "%INSTALLERS_DIR%install_fastDDS.bat"^
--build-dir "%INSTALLATION_DIR%"
if %errorlevel% neq 0 goto failed
if not defined install_dds (
echo %FILE_N% Failed while installing "Fast-DDS".
goto failed
) else (
set FASTDDS_INSTALL_DIR=%install_dds:\=/%
)
)
rem ============================================================================
rem -- Download and install Boost ----------------------------------------------
rem ============================================================================
echo %FILE_N% Installing Boost...
call "%INSTALLERS_DIR%install_boost.bat"^
--build-dir "%INSTALLATION_DIR%"^
--toolset %TOOLSET%^
--version %BOOST_VERSION%^
-j %NUMBER_OF_ASYNC_JOBS%
if %errorlevel% neq 0 goto failed
if not defined install_boost (
echo %FILE_N% Failed while installing Boost.
goto failed
)
2020-02-05 18:43:16 +08:00
rem ============================================================================
rem -- Download and install Xercesc --------------------------------------------
rem ============================================================================
echo %FILE_N% Installing Xercesc...
call "%INSTALLERS_DIR%install_xercesc.bat"^
--build-dir "%INSTALLATION_DIR%"^
--generator %GENERATOR%
2021-03-18 16:16:37 +08:00
copy %INSTALLATION_DIR%\xerces-c-3.2.3-install\lib\xerces-c_3.lib %CARLA_PYTHON_DEPENDENCIES%\lib
copy %INSTALLATION_DIR%\xerces-c-3.2.3-install\lib\xerces-c_3.lib %CARLA_DEPENDENCIES_FOLDER%\lib
rem ============================================================================
rem -- Download and install Sqlite3 --------------------------------------------
rem ============================================================================
echo %FILE_N% Installing Sqlite3
call "%INSTALLERS_DIR%install_sqlite3.bat"^
--build-dir "%INSTALLATION_DIR%"
copy %INSTALLATION_DIR%\sqlite3-install\lib\sqlite3.lib %CARLA_PYTHON_DEPENDENCIES%\lib
copy %INSTALLATION_DIR%\sqlite3-install\lib\sqlite3.lib %CARLA_DEPENDENCIES_FOLDER%\lib
rem ============================================================================
rem -- Download and install PROJ --------------------------------------------
rem ============================================================================
echo %FILE_N% Installing PROJ
call "%INSTALLERS_DIR%install_proj.bat"^
--build-dir "%INSTALLATION_DIR%"^
--generator %GENERATOR%
copy %INSTALLATION_DIR%\proj-install\lib\proj.lib %CARLA_PYTHON_DEPENDENCIES%\lib
copy %INSTALLATION_DIR%\proj-install\lib\proj.lib %CARLA_DEPENDENCIES_FOLDER%\lib
Luis/collisions bushes (#5477) * Added base class for spring based vegetation simulation * Excluded small bones from Inertia tensor computation. Added eigen 3.1.0 as dependency for vegetation modules. * Added patch for eigen 3.1.0 in windows. * Fixed windows compilation with eigen libraries * Added automatic hierarchy extraction from skeletal mesh to spring based skeleton. Exposed custom spring vegetation structs to editor. * Reorganized functions for spring based vegetation simulation. Fixed coordinate transformation bug (from UE left handed frame to right handed frame). * Changes to use compile with CLang 10 * Improved spring strength settings for infividual branches. Enabled better debugging. * added bush bp added bush with sphere to the town10 map * Fixed bush collision make car fly * spring based vegetatation component updated * System to get the bp from foliage mesh and instanciate if exists at runtime * Added filters for spawning different types of foliage * Spawning foliage hide and scaling it before showing. * Added foliage bp class cache system to improve performance * Changed Sphere Detection for Box and Implemented Object Pooling * Fixed Dissapearing bushes, testing pooling * Changed Sign function to not use clang's one * Moved Spawner Logic out of Vehicle * fix vegetation spawner now looks for new statich meshes every frame * PR changes * PR Changes * Deleted spaces and scale spawn property Co-authored-by: Axel <axellopez92@outlook.com> Co-authored-by: Axel1092 <lopez1092@hotmail.com> Co-authored-by: bernat <bernatx@gmail.com>
2022-06-02 20:35:42 +08:00
rem ============================================================================
rem -- Download and install Eigen ----------------------------------------------
rem ============================================================================
echo %FILE_N% Installing Eigen
call "%INSTALLERS_DIR%install_eigen.bat"^
--build-dir "%INSTALLATION_DIR%"
xcopy /Y /S /I "%INSTALLATION_DIR%eigen-install\include\*" "%CARLA_DEPENDENCIES_FOLDER%include\*" > NUL
rem ============================================================================
rem -- Download and install Chrono ----------------------------------------------
rem ============================================================================
if %USE_CHRONO% == true (
echo %FILE_N% Installing Chrono...
call "%INSTALLERS_DIR%install_chrono.bat"^
--build-dir "%INSTALLATION_DIR%" ^
--generator %GENERATOR%
if not exist "%CARLA_DEPENDENCIES_FOLDER%" (
mkdir "%CARLA_DEPENDENCIES_FOLDER%"
)
if not exist "%CARLA_DEPENDENCIES_FOLDER%include" (
mkdir "%CARLA_DEPENDENCIES_FOLDER%include"
)
if not exist "%CARLA_DEPENDENCIES_FOLDER%lib" (
mkdir "%CARLA_DEPENDENCIES_FOLDER%lib"
)
if not exist "%CARLA_DEPENDENCIES_FOLDER%dll" (
mkdir "%CARLA_DEPENDENCIES_FOLDER%dll"
)
2021-01-31 06:55:49 +08:00
echo "%INSTALLATION_DIR%chrono-install\include\*" "%CARLA_DEPENDENCIES_FOLDER%include\*" > NUL
xcopy /Y /S /I "%INSTALLATION_DIR%chrono-install\include\*" "%CARLA_DEPENDENCIES_FOLDER%include\*" > NUL
copy "%INSTALLATION_DIR%chrono-install\lib\*.lib" "%CARLA_DEPENDENCIES_FOLDER%lib\*.lib" > NUL
copy "%INSTALLATION_DIR%chrono-install\bin\*.dll" "%CARLA_DEPENDENCIES_FOLDER%dll\*.dll" > NUL
xcopy /Y /S /I "%INSTALLATION_DIR%eigen-install\include\*" "%CARLA_DEPENDENCIES_FOLDER%include\*" > NUL
)
Ros2 (#6862) * Adding ROS2 manager * Trying to compile fastDDS in windows, but have problems with dependencies * Camera sensors connected to ROS2, dependencies disabled temporaly * Including enum with sensors list * adding GNSS sensor capture * adding IMU sensor capture * adding DVS sensor capture * adding Lidar sensor capture * adding SemanticLidar and Radar capture * adding ObstacleDetector and some fixes * modify cmakelists, failed to find libatomic * fixed libatomic * compile fast-dds with libc++ * fixed compliation fast dds with libcxx * linked carla with fastdds * Fixed Fast-DDS lib Now its compiled to a intermediate lib with a bridge so libstdc++ can be used * moved all ros2 deps to ros2 folder renamed types from .cxx to .cpp * Finally FastDDS compiled and working inside CARLA * exposed publish function for testing * fixed code style * make ros2 optional * make ros2 optional * Added defines to compile ROS2 code * ros image publisher working * deleted some buffer copies * Added more topics and ROS2 types * Adding sensor Transform as argument, and add function to send buffer or serialize and send buffer * Removing empty buffer from DVS sensor * fixed lidar publisher * fixed lidar publisher * Fix buffer of RGB in ROS2 * adding timestamp of each frame into ROS2 manager * sending timestamps with frame to ROS2 * put apart timestamp from frame counter call * adding BufferView to share buffers * adding BufferView to share buffers * adding ros_name attribute to all actors * mapping ros_name for each actor * ROS2 is now published in a different thread Publishers now can be created on demand and be reused Added subscriber for ego vehicle Fixed build scripts * forgot to add this fix * add ros2 to windows scripts * fixed default ros topic names * fix topic name duplication * Adding functions for enable/disable sensors publishing without listen to it * Added Camera info and ROI types RGB Camera now publishes in both topics * move camera info immutable data to the constructor * Publish transform for all topics Create Camera DVS subtopics Fixed bug with Lidar * Added flip Y to semantic lidar * Adding callbacks for subscribers from Unreal * Adding camera info to ROS2 (resolution and FOV) * Finished ROS2 naming from python * Fixed bug with ros names * Delete topics when deleting the sensors * setting the rosname same as default no longer rewrites it * ROS transform fix * Added all camera topics with the image and camera info Added vehicle control Added clock publisher * Change ros2 topic names for vehicle subscriber and clock publisher * Rename vehicle control ros2 topic name * rename subscriber type to CarlaEgoVehicleControl * Fix semantic lidar default ros name Fix sizeof the semantic lidar data buffer * Changed controller stored as string to pointer * Back to previous version for default hero ros name Removed debug prints * Remvoe callback when ego publisher disconnects * Serializing DVS data before sending to ROS * dvs camera image and lidar * DVS Pointcloud publishing * Remove unnecessary fields * Send local transforms to ros * avoid transform recalculation if not needed * Optical Flow Camera fixed * Set fixed branch for Fast-DDS to avoid cmake version change issues * Finally Working on package * Fix style from FastDDS auto generated files * Added ros2 to ubuntu in jenkins * removed ros2 from jenkins, test * restore ros2 in jenkins * fix copy shareds, and removed server dependency from libcarla * test installing the fastdds dependencies in jenkins * move installing deps to separate stage * removed install deps * Fixing test_benchmark_streaming * Fixed imu orientation and camera info data * Fixing test_benchmark_streaming.cpp with BufferView * Removing DEBUG_ONLY() * publish collision sensor * Fixing unit-tests with the new BufferView * camera info is set once * Fix echo camera info * fix transform rotation * Fixing ros_name attribute creation * fixed camera info and region of interest publish * fix IMU compass * Forgot to add ros2 flag to jenkins package --------- Co-authored-by: bernatx <bernatx@gmail.com>
2023-11-06 19:34:07 +08:00
REM ==============================================================================
REM -- Download Fast DDS and dependencies ----------------------------------------
REM ==============================================================================
SET FASTDDS_BASENAME=fast-dds
SET FASTDDS_INSTALL_DIR=%CD%\%FASTDDS_BASENAME%-install
SET FASTDDS_INCLUDE=%FASTDDS_INSTALL_DIR%\include
SET FASTDDS_LIB=%FASTDDS_INSTALL_DIR%\lib
IF "%USE_ROS2%"=="true" (
:build_fastdds_extension
SET LIB_SOURCE=%1
SET LIB_REPO=%2
SET CMAKE_FLAGS=%3
IF NOT EXIST "%LIB_SOURCE%" (
mkdir "%LIB_SOURCE%"
echo %LIB_REPO%
git clone %LIB_REPO% %LIB_SOURCE%
mkdir "%LIB_SOURCE%\build"
)
IF NOT EXIST "%FASTDDS_INSTALL_DIR%" (
mkdir "%FASTDDS_INSTALL_DIR%"
echo Build foonathan memory vendor
SET FOONATHAN_MEMORY_VENDOR_BASENAME=foonathan-memory-vendor
SET FOONATHAN_MEMORY_VENDOR_SOURCE_DIR=%CD%\%FOONATHAN_MEMORY_VENDOR_BASENAME%-source
SET FOONATHAN_MEMORY_VENDOR_REPO="https://github.com/eProsima/foonathan_memory_vendor.git"
SET FOONATHAN_MEMORY_VENDOR_CMAKE_FLAGS=-DBUILD_SHARED_LIBS=ON
CALL :build_fastdds_extension "%FOONATHAN_MEMORY_VENDOR_SOURCE_DIR%" "%FOONATHAN_MEMORY_VENDOR_REPO%"
pushd "%FOONATHAN_MEMORY_VENDOR_SOURCE_DIR%\build" >nul
cmake -G "Ninja" ^
-DCMAKE_INSTALL_PREFIX="%FASTDDS_INSTALL_DIR%" ^
-DBUILD_SHARED_LIBS=ON ^
-DCMAKE_CXX_FLAGS_RELEASE="-D_GLIBCXX_USE_CXX11_ABI=0" ^
..
ninja
ninja install
popd >nul
rmdir /s /q "%FOONATHAN_MEMORY_VENDOR_SOURCE_DIR%"
echo Build fast cdr
SET FAST_CDR_BASENAME=fast-cdr
SET FAST_CDR_SOURCE_DIR=%CD%\%FAST_CDR_BASENAME%-source
SET FAST_CDR_REPO="https://github.com/eProsima/Fast-CDR.git"
CALL :build_fastdds_extension "%FAST_CDR_SOURCE_DIR%" "%FAST_CDR_REPO%"
pushd "%FAST_CDR_SOURCE_DIR%\build" >nul
cmake -G "Ninja" ^
-DCMAKE_INSTALL_PREFIX="%FASTDDS_INSTALL_DIR%" ^
-DCMAKE_CXX_FLAGS_RELEASE="-D_GLIBCXX_USE_CXX11_ABI=0" ^
..
ninja
ninja install
popd >nul
rmdir /s /q "%FAST_CDR_SOURCE_DIR%"
echo Build fast dds
SET FAST_DDS_LIB_BASENAME=fast-dds-lib
SET FAST_DDS_LIB_SOURCE_DIR=%CD%\%FAST_DDS_LIB_BASENAME%-source
SET FAST_DDS_LIB_REPO="https://github.com/eProsima/Fast-DDS.git"
CALL :build_fastdds_extension "%FAST_DDS_LIB_SOURCE_DIR%" "%FAST_DDS_LIB_REPO%"
pushd "%FAST_DDS_LIB_SOURCE_DIR%\build" >nul
cmake -G "Ninja" ^
-DCMAKE_INSTALL_PREFIX="%FASTDDS_INSTALL_DIR%" ^
-DCMAKE_CXX_FLAGS=-latomic ^
-DCMAKE_CXX_FLAGS_RELEASE="-D_GLIBCXX_USE_CXX11_ABI=0" ^
..
ninja
ninja install
popd >nul
rmdir /
)
)
rem ============================================================================
rem -- Assets download URL -----------------------------------------------------
rem ============================================================================
FOR /F "usebackq tokens=1,2" %%i in ("%VERSION_FILE%") do (
set ASSETS_VERSION=%%i
set HASH=%%j
)
2024-01-30 19:42:08 +08:00
set URL=https://carla-assets.s3.us-east-005.backblazeb2.com/%HASH%.tar.gz
rem ============================================================================
rem -- Generate CMake ----------------------------------------------------------
rem ============================================================================
for /f %%i in ('git describe --tags --dirty --always') do set carla_version=%%i
2018-07-26 18:41:20 +08:00
set CMAKE_INSTALLATION_DIR=%INSTALLATION_DIR:\=/%
echo %FILE_N% Creating "CMakeLists.txt.in"...
set CMAKE_CONFIG_FILE=%INSTALLATION_DIR%CMakeLists.txt.in
2019-02-11 22:29:18 +08:00
>"%CMAKE_CONFIG_FILE%" echo # Automatically generated by Setup.bat
>>"%CMAKE_CONFIG_FILE%" echo set(CARLA_VERSION %carla_version%)
>>"%CMAKE_CONFIG_FILE%" echo.
2019-03-26 18:46:08 +08:00
>>"%CMAKE_CONFIG_FILE%" echo set(CMAKE_CXX_STANDARD 14)
>>"%CMAKE_CONFIG_FILE%" echo set(CMAKE_CXX_STANDARD_REQUIRED ON)
>>"%CMAKE_CONFIG_FILE%" echo.
Doterop/traffic manager (#2468) * Initial implementation of t.m. performance script * Remove redundant getLocation() calls * Demo for inter-client communication via Carla server * WIP: To do: For client usage needed to be changed. * Instead or client instance episodeProxy is passed to TM * Instead or client instance episodeProxy is passed to TM * parmeter improvements (walkers,cars,signs,lights) * adding section id to map setup * fix manual_control to reload car with autopilot on * Instead of client instance episodeProxy is passed to TM. * WIP: Only added vehicle register via RPC server / client call in TM to local instance from remote instance. Similarly other APIs we need to added. * Added all TM APIs * carla client now can provide TM instance if required. * While getting TM instance if server given data is not valid new TM instace is created. Need to decide what to do with earlier registed vehicle with previous TM. * Updated with HealthCheckRemoteTM() function to check TM server status instead of ResetAllTrafficLights() for any new user client. * Dynamic port selection added to TM server instace (in case of multiple TM serve run, it required). * Fixed change map error * If registered TM at carla server is not present then remote TM should be freed and new local TM instance is created. * Created Process for Local TM. It cheaks with total registered vehicles in it, if no register vehicles for 5 sec, it closes it self. In python spawn_npc.py Client Timeout set to 10 sec. as creating Process is system dependent call and takes time. User has to unregister vehicle before destroying it (if activated with TM). Also neet to check TM unregister function to remove vehicles from register list. * Fix for collision ignore bug * Update TM exit function check to compare registered vehicles with world actors that if any valid vehicle present cointinue to run the TM else stop. * Print removal * Splited work of main for loop in ApplyBatchCommandsSync * WIP! Trying to get client directly * WIP! Trying to access episode properly without getting it from TM ctr * Changes to BatchControlStage for Sync Mode Changes to Parameters for Synch Mode * Added port support for TM. Multiclient MultiTM * Added additions for RPC Synchronous Tick to TM. Error handeling and code organization. * Exposed API for Sync Mode * TMServer notifies Server that it is gonna be destroyed * Exposed Python API for Sync Mode * Add TM as separate process and synchronous tick calls * SetSynchronousModeTimeOutInMiliSecond method added * TM shutsdown and informs to the connected clients * WIP! Map change issues again * Updated Traffic Manager for: 1) Multi-client, Multi-TM (as required) can be reistered to server. 2) TM is not a PROCESS separated from the user-client. 3) TM will exit if user-client exit. 4) If server closed, TM also get closed by catching runtime err. * Server side changes ... * Fixed possible stall on TM destruction * fixing collision stage + cybertruck not safe * Merge branch 'master' into 'soumyadeep/traffic_manager' * WIP! Disconnection of server has to be properly handled by clients * format update * Fix bug unsignalized junctions * # WARNING: head commit changed in the meantime Merge branch 'doterop/traffic_manager' into soumyadeep/traffic_manager Updates for Syncronized Tick. * Updated runtime exception in Episode for smooth exit if TN server closed for any other user client. * Better Exception handeling * Merged with jackbart94/tm_reduce_getloc_calls * Merged soumyadeep/traffic_manager. Removed World getter and recovered Episode as a parameter of TM ctr. Fixed syntax errors. * Initial implementation of t.m. performance script * Remove redundant getLocation() calls * Demo for inter-client communication via Carla server * WIP: To do: For client usage needed to be changed. * Instead or client instance episodeProxy is passed to TM * Instead or client instance episodeProxy is passed to TM * parmeter improvements (walkers,cars,signs,lights) * fix manual_control to reload car with autopilot on * Instead of client instance episodeProxy is passed to TM. * WIP: Only added vehicle register via RPC server / client call in TM to local instance from remote instance. Similarly other APIs we need to added. * Added all TM APIs * carla client now can provide TM instance if required. * While getting TM instance if server given data is not valid new TM instace is created. Need to decide what to do with earlier registed vehicle with previous TM. * Updated with HealthCheckRemoteTM() function to check TM server status instead of ResetAllTrafficLights() for any new user client. * Dynamic port selection added to TM server instace (in case of multiple TM serve run, it required). * Fixed change map error * If registered TM at carla server is not present then remote TM should be freed and new local TM instance is created. * Created Process for Local TM. It cheaks with total registered vehicles in it, if no register vehicles for 5 sec, it closes it self. In python spawn_npc.py Client Timeout set to 10 sec. as creating Process is system dependent call and takes time. User has to unregister vehicle before destroying it (if activated with TM). Also neet to check TM unregister function to remove vehicles from register list. * Fix for collision ignore bug * Update TM exit function check to compare registered vehicles with world actors that if any valid vehicle present cointinue to run the TM else stop. * Splited work of main for loop in ApplyBatchCommandsSync * WIP! Trying to get client directly * WIP! Trying to access episode properly without getting it from TM ctr * Changes to BatchControlStage for Sync Mode Changes to Parameters for Synch Mode * Added port support for TM. Multiclient MultiTM * Added additions for RPC Synchronous Tick to TM. Error handeling and code organization. * Exposed API for Sync Mode * TMServer notifies Server that it is gonna be destroyed * Exposed Python API for Sync Mode * Add TM as separate process and synchronous tick calls * SetSynchronousModeTimeOutInMiliSecond method added * TM shutsdown and informs to the connected clients * WIP! Map change issues again * Updated Traffic Manager for: 1) Multi-client, Multi-TM (as required) can be reistered to server. 2) TM is not a PROCESS separated from the user-client. 3) TM will exit if user-client exit. 4) If server closed, TM also get closed by catching runtime err. * Fixed possible stall on TM destruction * fixing collision stage + cybertruck not safe * Merge branch 'master' into 'soumyadeep/traffic_manager' * WIP! Disconnection of server has to be properly handled by clients * format update * Fix bug unsignalized junctions * # WARNING: head commit changed in the meantime Merge branch 'doterop/traffic_manager' into soumyadeep/traffic_manager Updates for Syncronized Tick. * Updated runtime exception in Episode for smooth exit if TN server closed for any other user client. * Better Exception handeling * Merged with jackbart94/tm_reduce_getloc_calls * Merged soumyadeep/traffic_manager. Removed World getter and recovered Episode as a parameter of TM ctr. Fixed syntax errors. * Rebased with master * Changes after rebase * Solving tab errors * Updated Changelog * Removing Destroyed vehicle's from TM Server * Fixed uint compatibility with Windows * Merged soumyadeep/traffic_manager. Discarded destroyed actors * -Removed unnecessary files * restoring docs from rebase * Fix windows compilation * refactoring stage-related code * more code refactoring * When map change the simulation doesn't throw exception anymore * Fixed incorrect episode * Fixed map change and TM remote detached thread destruction * Syntax and comments fixes * Missed change on previous commit * Fixed compile minor compile issue * Cleaned and fixed some issues after merge * fix to sync localization bugs modified PID parameters revamping spawn_npc * deleted tm_spawn_npc * fixes spawn error in sync mode * Redoing TM sync logic * finished performance benchmark for tm * deprecated wrapped methods: register_vehicle unregister_vehicle * New TM management * Fixed sync mode on TM * Cleaned TM of prints and unussed functions * collision stage checks for (0,0,0) to ignore. in memory map has an # between keys to avoid possible mixup. fixed spawn_npc with new sync mode * changelog * added more connection retries * fixed changelog + comments (see reviewable) * Moved socket include's to single header * Added missing line at the end of the file * Fixed syntax errors * final commit * Minor correction in comment * update copyright year to 2020 + removed break * restoring unwanted changes * patch for smoke test error * Removed "todo" for pylint Co-authored-by: Jacopo Bartiromo <32928804+jackbart94@users.noreply.github.com> Co-authored-by: Praveen Kumar <35625166+pravinblaze@users.noreply.github.com> Co-authored-by: Soumyadeep <soumyadeep.dhar@kpit.com> Co-authored-by: joel-mb <joel.moriana@gmail.com> Co-authored-by: Sekhar Barua <58979936+sekhar2912@users.noreply.github.com> Co-authored-by: bernat <bernatx@gmail.com> Co-authored-by: Marc Garcia Puig <marcgpuig@gmail.com>
2020-02-29 02:58:13 +08:00
>>"%CMAKE_CONFIG_FILE%" echo add_definitions(-D_WIN32_WINNT=0x0600)
>>"%CMAKE_CONFIG_FILE%" echo add_definitions(-DHAVE_SNPRINTF)
2019-03-26 18:46:08 +08:00
>>"%CMAKE_CONFIG_FILE%" echo STRING (REGEX REPLACE "/RTC(su|[1su])" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
2019-02-11 22:29:18 +08:00
>>"%CMAKE_CONFIG_FILE%" echo.
>>"%CMAKE_CONFIG_FILE%" echo add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
>>"%CMAKE_CONFIG_FILE%" echo add_definitions(-DLIBCARLA_IMAGE_WITH_PNG_SUPPORT)
>>"%CMAKE_CONFIG_FILE%" echo.
>>"%CMAKE_CONFIG_FILE%" echo set(BOOST_INCLUDE_PATH "%CMAKE_INSTALLATION_DIR%boost-%BOOST_VERSION%-install/include")
>>"%CMAKE_CONFIG_FILE%" echo set(BOOST_LIB_PATH "%CMAKE_INSTALLATION_DIR%boost-%BOOST_VERSION%-install/lib")
>>"%CMAKE_CONFIG_FILE%" echo.
>>"%CMAKE_CONFIG_FILE%" echo set(RPCLIB_INCLUDE_PATH "%CMAKE_INSTALLATION_DIR%rpclib-install/include")
>>"%CMAKE_CONFIG_FILE%" echo set(RPCLIB_LIB_PATH "%CMAKE_INSTALLATION_DIR%rpclib-install/lib")
>>"%CMAKE_CONFIG_FILE%" echo.
>>"%CMAKE_CONFIG_FILE%" echo if (CMAKE_BUILD_TYPE STREQUAL "Server")
>>"%CMAKE_CONFIG_FILE%" echo # Prevent exceptions
>>"%CMAKE_CONFIG_FILE%" echo add_definitions(-DBOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY)
>>"%CMAKE_CONFIG_FILE%" echo add_compile_options(/EHsc)
2019-02-11 22:29:18 +08:00
>>"%CMAKE_CONFIG_FILE%" echo add_definitions(-DASIO_NO_EXCEPTIONS)
>>"%CMAKE_CONFIG_FILE%" echo add_definitions(-DBOOST_NO_EXCEPTIONS)
>>"%CMAKE_CONFIG_FILE%" echo add_definitions(-DLIBCARLA_NO_EXCEPTIONS)
>>"%CMAKE_CONFIG_FILE%" echo add_definitions(-DPUGIXML_NO_EXCEPTIONS)
>>"%CMAKE_CONFIG_FILE%" echo # Specific libraries for server
>>"%CMAKE_CONFIG_FILE%" echo set(GTEST_INCLUDE_PATH "%CMAKE_INSTALLATION_DIR%gtest-install/include")
>>"%CMAKE_CONFIG_FILE%" echo set(GTEST_LIB_PATH "%CMAKE_INSTALLATION_DIR%gtest-install/lib")
>>"%CMAKE_CONFIG_FILE%" echo elseif (CMAKE_BUILD_TYPE STREQUAL "Client")
>>"%CMAKE_CONFIG_FILE%" echo # Specific libraries for client
>>"%CMAKE_CONFIG_FILE%" echo set(ZLIB_INCLUDE_PATH "%ZLIB_INSTALL_DIR:\=/%/include")
>>"%CMAKE_CONFIG_FILE%" echo set(ZLIB_LIB_PATH "%ZLIB_INSTALL_DIR:\=/%/lib")
>>"%CMAKE_CONFIG_FILE%" echo set(LIBPNG_INCLUDE_PATH "%LIBPNG_INSTALL_DIR:\=/%/include")
>>"%CMAKE_CONFIG_FILE%" echo set(LIBPNG_LIB_PATH "%LIBPNG_INSTALL_DIR:\=/%/lib")
>>"%CMAKE_CONFIG_FILE%" echo set(RECAST_INCLUDE_PATH "%RECAST_INSTALL_DIR:\=/%/include")
>>"%CMAKE_CONFIG_FILE%" echo set(RECAST_LIB_PATH "%RECAST_INSTALL_DIR:\=/%/lib")
2019-02-11 22:29:18 +08:00
>>"%CMAKE_CONFIG_FILE%" echo endif ()
goto success
rem ============================================================================
rem -- Messages and Errors -----------------------------------------------------
rem ============================================================================
:success
echo %FILE_N%
echo ###########
echo # SUCCESS #
echo ###########
echo.
echo IMPORTANT!
echo.
echo All the CARLA library dependences should be installed now.
echo (You can remove all "*-src" folders in %INSTALLATION_DIR% directory)
echo.
echo You only need the ASSET PACK with all the meshes and textures.
echo.
echo This script provides the assets for CARLA %ASSETS_VERSION%
echo You can download the assets from here:
echo.
echo %URL%
echo.
echo Unzip it in the "%CONTENT_DIR%" folder.
echo If you want another version, search it in %VERSION_FILE%.
2018-08-30 20:18:53 +08:00
echo.
goto good_exit
:help
echo Download and compiles all the necessary libraries to build CARLA.
echo.
echo Commands:
echo -h, --help -^> Shows this dialog.
echo -j ^<N^> -^> N is the integer number of async jobs while compiling (default=1).
echo --boost-toolset [T] -^> Toolset corresponding to your compiler ^(default=^*^):
echo Visual Studio 2013 -^> msvc-12.0
echo Visual Studio 2015 -^> msvc-14.0
2021-07-13 22:43:08 +08:00
echo Visual Studio 2017 -^> msvc-14.1
echo Visual Studio 2019 -^> msvc-14.2 *
echo Visual Studio 2022 -^> msvc-14.3
goto good_exit
:error_cl
echo.
2018-08-30 20:18:53 +08:00
echo %FILE_N% [ERROR] Can't find Visual Studio compiler (cl.exe).
echo [ERROR] Possible causes:
echo [ERROR] - Make sure you use x64 (not x64_x86!)
echo [ERROR] - You are not using "Visual Studio x64 Native Tools Command Prompt".
goto failed
:failed
echo.
echo %FILE_N%
echo Ok, and error ocurred, don't panic!
echo We have different platforms where you can find some help :)
echo.
echo - Make sure you have read the documentation:
echo http://carla.readthedocs.io/en/latest/how_to_build_on_windows/
echo.
echo - If the problem persists, you can ask on our Github's "Building on Windows" issue:
echo https://github.com/carla-simulator/carla/issues/21
echo.
echo - Or just use our Discord channel!
echo We'll be glad to help you there :)
echo https://discord.gg/42KJdRj
endlocal
exit /b %errorlevel%
:good_exit
endlocal
exit /b 0