From a31b519c6699b9f23e2020489acb0e34913017b2 Mon Sep 17 00:00:00 2001 From: rbelle-isle Date: Tue, 15 Apr 2025 09:06:02 -0400 Subject: [PATCH 01/18] Fixes to FASTDDS build --- CMake/Options.cmake | 2 +- .../ros2/publishers/CarlaIMUPublisher.cpp | 5 +++++ .../publishers/CarlaTransformPublisher.cpp | 6 ++++++ .../source/carla/ros2/types/CameraInfo.cpp | 2 ++ Ros2Native/CMakeLists.txt | 20 ++++++++++++++----- Ros2Native/LibCarlaRos2Native/CMakeLists.txt | 16 +++++++++++---- 6 files changed, 41 insertions(+), 10 deletions(-) diff --git a/CMake/Options.cmake b/CMake/Options.cmake index c163f40137b..380907d360b 100644 --- a/CMake/Options.cmake +++ b/CMake/Options.cmake @@ -420,7 +420,7 @@ carla_string_option ( carla_string_option ( CARLA_FASTDDS_VERSION "Target Fast-DDS version." - 2.11.2 + 2.14.4 ) carla_string_option ( diff --git a/LibCarla/source/carla/ros2/publishers/CarlaIMUPublisher.cpp b/LibCarla/source/carla/ros2/publishers/CarlaIMUPublisher.cpp index ce971ca0b46..50e9d3bcab5 100644 --- a/LibCarla/source/carla/ros2/publishers/CarlaIMUPublisher.cpp +++ b/LibCarla/source/carla/ros2/publishers/CarlaIMUPublisher.cpp @@ -1,3 +1,8 @@ +#ifdef _WIN32 +// Allow use of M_PI +#define _USE_MATH_DEFINES +#endif // _WIN32 + #include "CarlaIMUPublisher.h" #include diff --git a/LibCarla/source/carla/ros2/publishers/CarlaTransformPublisher.cpp b/LibCarla/source/carla/ros2/publishers/CarlaTransformPublisher.cpp index fb622f14fdf..8dc26a074c2 100644 --- a/LibCarla/source/carla/ros2/publishers/CarlaTransformPublisher.cpp +++ b/LibCarla/source/carla/ros2/publishers/CarlaTransformPublisher.cpp @@ -1,3 +1,9 @@ +#ifdef _WIN32 +#define _USE_MATH_DEFINES +// Convert GNU C lib M_PIf32 to a float 32 version of M_PI +#define M_PIf32 (float)M_PI +#endif // _WIN32 + #include "CarlaTransformPublisher.h" #include diff --git a/LibCarla/source/carla/ros2/types/CameraInfo.cpp b/LibCarla/source/carla/ros2/types/CameraInfo.cpp index 058e88d3bd3..32cd463019f 100644 --- a/LibCarla/source/carla/ros2/types/CameraInfo.cpp +++ b/LibCarla/source/carla/ros2/types/CameraInfo.cpp @@ -20,6 +20,8 @@ */ #ifdef _WIN32 +// Allow M_PI usage +#define _USE_MATH_DEFINES // Remove linker warning LNK4221 on Visual Studio namespace { char dummy; diff --git a/Ros2Native/CMakeLists.txt b/Ros2Native/CMakeLists.txt index 18b8d61a454..1426c40cfa9 100644 --- a/Ros2Native/CMakeLists.txt +++ b/Ros2Native/CMakeLists.txt @@ -53,19 +53,29 @@ ExternalProject_Add ( -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DCMAKE_CXX_STANDARD=17 ) -set (CARLA_PLUGIN_BINARY_PATH ${CMAKE_SOURCE_DIR}/Unreal/CarlaUnreal/Plugins/Carla/Binaries/Linux) - -make_directory (${CARLA_PLUGIN_BINARY_PATH}) - +set (CARLA_PLUGIN_LINUX_BINARY_PATH ${CMAKE_SOURCE_DIR}/Unreal/CarlaUnreal/Plugins/Carla/Binaries/Linux) +make_directory (${CARLA_PLUGIN_LINUX_BINARY_PATH}) add_custom_command ( TARGET carla-ros2-native-lib POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_INSTALL_PATH}/lib/*.so* - ${CARLA_PLUGIN_BINARY_PATH} + ${CARLA_PLUGIN_LINUX_BINARY_PATH} +) + +set (CARLA_PLUGIN_WINDOWS_BINARY_PATH ${CMAKE_SOURCE_DIR}/Unreal/CarlaUnreal/Plugins/Carla/Binaries/Windows) +make_directory (${CARLA_PLUGIN_WINDOWS_BINARY_PATH}) +add_custom_command ( + TARGET carla-ros2-native-lib + POST_BUILD + COMMAND + ${CMAKE_COMMAND} -E copy + ${PROJECT_INSTALL_PATH}/lib/*.lib* + ${CARLA_PLUGIN_WINDOWS_BINARY_PATH} ) carla_add_custom_target ( diff --git a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt index f9d4c9e0f04..e2e5c022b07 100644 --- a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt +++ b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt @@ -50,10 +50,18 @@ target_compile_definitions ( BOOST_ASIO_ENABLE_BUFFER_DEBUGGING ) -target_link_libraries ( - carla-ros2-native PUBLIC - ${CMAKE_INSTALL_PREFIX}/lib/libfastrtps.so -) +if(WIN32) + target_link_libraries ( + carla-ros2-native PUBLIC + ${CMAKE_INSTALL_PREFIX}/lib/fastrtps-2.14.lib + ) + +else() + target_link_libraries ( + carla-ros2-native PUBLIC + ${CMAKE_INSTALL_PREFIX}/lib/libfastrtps.so + ) +endif() install ( TARGETS From d6f895bb085a42118606481eb162c53aee63c576 Mon Sep 17 00:00:00 2001 From: rbelle-isle Date: Tue, 15 Apr 2025 11:58:25 -0400 Subject: [PATCH 02/18] switch back to older fast dds --- CMake/Options.cmake | 2 +- Ros2Native/LibCarlaRos2Native/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMake/Options.cmake b/CMake/Options.cmake index 380907d360b..6818a8a05f4 100644 --- a/CMake/Options.cmake +++ b/CMake/Options.cmake @@ -420,7 +420,7 @@ carla_string_option ( carla_string_option ( CARLA_FASTDDS_VERSION "Target Fast-DDS version." - 2.14.4 + 2.11.3 ) carla_string_option ( diff --git a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt index e2e5c022b07..0a74360dfca 100644 --- a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt +++ b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt @@ -53,7 +53,7 @@ target_compile_definitions ( if(WIN32) target_link_libraries ( carla-ros2-native PUBLIC - ${CMAKE_INSTALL_PREFIX}/lib/fastrtps-2.14.lib + ${CMAKE_INSTALL_PREFIX}/lib/fastrtps-2.11.lib ) else() From 3935c1a99837a881ccb57431a36e66e33e5b31ad Mon Sep 17 00:00:00 2001 From: rbelle-isle Date: Tue, 15 Apr 2025 17:28:42 -0400 Subject: [PATCH 03/18] fastdds building on windows --- Ros2Native/CMakeLists.txt | 40 ++++++++++---------- Ros2Native/LibCarlaRos2Native/CMakeLists.txt | 3 +- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/Ros2Native/CMakeLists.txt b/Ros2Native/CMakeLists.txt index 1426c40cfa9..7b826442f65 100644 --- a/Ros2Native/CMakeLists.txt +++ b/Ros2Native/CMakeLists.txt @@ -56,27 +56,29 @@ ExternalProject_Add ( -DCMAKE_CXX_STANDARD=17 ) -set (CARLA_PLUGIN_LINUX_BINARY_PATH ${CMAKE_SOURCE_DIR}/Unreal/CarlaUnreal/Plugins/Carla/Binaries/Linux) -make_directory (${CARLA_PLUGIN_LINUX_BINARY_PATH}) -add_custom_command ( - TARGET carla-ros2-native-lib - POST_BUILD - COMMAND - ${CMAKE_COMMAND} -E copy - ${PROJECT_INSTALL_PATH}/lib/*.so* - ${CARLA_PLUGIN_LINUX_BINARY_PATH} -) +set (CARLA_PLUGIN_BINARY_PATH ${CMAKE_SOURCE_DIR}/Unreal/CarlaUnreal/Plugins/Carla/Binaries) +make_directory (${CARLA_PLUGIN_BINARY_PATH}) -set (CARLA_PLUGIN_WINDOWS_BINARY_PATH ${CMAKE_SOURCE_DIR}/Unreal/CarlaUnreal/Plugins/Carla/Binaries/Windows) -make_directory (${CARLA_PLUGIN_WINDOWS_BINARY_PATH}) -add_custom_command ( - TARGET carla-ros2-native-lib - POST_BUILD - COMMAND - ${CMAKE_COMMAND} -E copy - ${PROJECT_INSTALL_PATH}/lib/*.lib* - ${CARLA_PLUGIN_WINDOWS_BINARY_PATH} +if (WIN32) + file(GLOB LIB_FILES ${PROJECT_INSTALL_PATH}/lib/*.lib) + add_custom_command ( + TARGET carla-ros2-native-lib + POST_BUILD + COMMAND + ${CMAKE_COMMAND} -E copy + ${LIB_FILES} + ${CARLA_PLUGIN_BINARY_PATH} +) +else() + add_custom_command ( + TARGET carla-ros2-native-lib + POST_BUILD + COMMAND + ${CMAKE_COMMAND} -E copy + ${PROJECT_INSTALL_PATH}/lib/*.so* + ${CARLA_PLUGIN_BINARY_PATH} ) +endif() carla_add_custom_target ( carla-ros2-native diff --git a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt index 0a74360dfca..b2cbbbff29d 100644 --- a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt +++ b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt @@ -32,7 +32,7 @@ file ( add_library ( carla-ros2-native - SHARED + STATIC ${LIBCARLA_ROS2_HEADERS} ${LIBCARLA_ROS2_SOURCES} ) @@ -54,6 +54,7 @@ if(WIN32) target_link_libraries ( carla-ros2-native PUBLIC ${CMAKE_INSTALL_PREFIX}/lib/fastrtps-2.11.lib + ${CMAKE_INSTALL_PREFIX}/lib/fastcdr-1.1.lib ) else() From fc0dceee7b97daa8307a2f8b9f3c38e89b52e39c Mon Sep 17 00:00:00 2001 From: rbelle-isle Date: Wed, 16 Apr 2025 09:32:12 -0400 Subject: [PATCH 04/18] Defaulting the ros2 to be on --- CMake/Options.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMake/Options.cmake b/CMake/Options.cmake index 6818a8a05f4..9e9908a8d8f 100644 --- a/CMake/Options.cmake +++ b/CMake/Options.cmake @@ -53,7 +53,7 @@ carla_option ( carla_option ( ENABLE_ROS2 "Enable ROS2." - OFF + ON ) carla_option ( From c3cd5f4d9227df2e48c3db8da3d6837e49251a25 Mon Sep 17 00:00:00 2001 From: rbelle-isle Date: Wed, 16 Apr 2025 09:52:41 -0400 Subject: [PATCH 05/18] Moved copy to a later part of the build --- Ros2Native/CMakeLists.txt | 24 ------------------------ Unreal/CMakeLists.txt | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+), 24 deletions(-) diff --git a/Ros2Native/CMakeLists.txt b/Ros2Native/CMakeLists.txt index 7b826442f65..5533107d0b8 100644 --- a/Ros2Native/CMakeLists.txt +++ b/Ros2Native/CMakeLists.txt @@ -56,30 +56,6 @@ ExternalProject_Add ( -DCMAKE_CXX_STANDARD=17 ) -set (CARLA_PLUGIN_BINARY_PATH ${CMAKE_SOURCE_DIR}/Unreal/CarlaUnreal/Plugins/Carla/Binaries) -make_directory (${CARLA_PLUGIN_BINARY_PATH}) - -if (WIN32) - file(GLOB LIB_FILES ${PROJECT_INSTALL_PATH}/lib/*.lib) - add_custom_command ( - TARGET carla-ros2-native-lib - POST_BUILD - COMMAND - ${CMAKE_COMMAND} -E copy - ${LIB_FILES} - ${CARLA_PLUGIN_BINARY_PATH} -) -else() - add_custom_command ( - TARGET carla-ros2-native-lib - POST_BUILD - COMMAND - ${CMAKE_COMMAND} -E copy - ${PROJECT_INSTALL_PATH}/lib/*.so* - ${CARLA_PLUGIN_BINARY_PATH} -) -endif() - carla_add_custom_target ( carla-ros2-native "Build the ROS2-Native CARLA subproject." diff --git a/Unreal/CMakeLists.txt b/Unreal/CMakeLists.txt index 0df769df376..4144c665bd1 100644 --- a/Unreal/CMakeLists.txt +++ b/Unreal/CMakeLists.txt @@ -318,7 +318,29 @@ list ( carla-unreal-configure ) +set (CARLA_PLUGIN_BINARY_PATH ${CMAKE_SOURCE_DIR}/Unreal/CarlaUnreal/Plugins/Carla/Binaries) +make_directory (${CARLA_PLUGIN_BINARY_PATH}) +if (WIN32) + file(GLOB LIB_FILES ${PROJECT_INSTALL_PATH}/lib/*.lib) + add_custom_command ( + TARGET carla-unreal-configure + PRE_BUILD + COMMAND + ${CMAKE_COMMAND} -E copy + ${LIB_FILES} + ${CARLA_PLUGIN_BINARY_PATH} +) +else() + add_custom_command ( + TARGET carla-unreal-configure + PRE_BUILD + COMMAND + ${CMAKE_COMMAND} -E copy + ${PROJECT_INSTALL_PATH}/lib/*.so* + ${CARLA_PLUGIN_BINARY_PATH} +) +endif() file ( MAKE_DIRECTORY From 6f750e428927b82383f623ab1d1204655b0cc37d Mon Sep 17 00:00:00 2001 From: rbelle-isle Date: Thu, 17 Apr 2025 11:48:34 -0400 Subject: [PATCH 06/18] fixed error with copy, still requires running twice --- Unreal/CMakeLists.txt | 48 +++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Unreal/CMakeLists.txt b/Unreal/CMakeLists.txt index 4144c665bd1..a51b59c9d0c 100644 --- a/Unreal/CMakeLists.txt +++ b/Unreal/CMakeLists.txt @@ -318,30 +318,6 @@ list ( carla-unreal-configure ) -set (CARLA_PLUGIN_BINARY_PATH ${CMAKE_SOURCE_DIR}/Unreal/CarlaUnreal/Plugins/Carla/Binaries) -make_directory (${CARLA_PLUGIN_BINARY_PATH}) - -if (WIN32) - file(GLOB LIB_FILES ${PROJECT_INSTALL_PATH}/lib/*.lib) - add_custom_command ( - TARGET carla-unreal-configure - PRE_BUILD - COMMAND - ${CMAKE_COMMAND} -E copy - ${LIB_FILES} - ${CARLA_PLUGIN_BINARY_PATH} -) -else() - add_custom_command ( - TARGET carla-unreal-configure - PRE_BUILD - COMMAND - ${CMAKE_COMMAND} -E copy - ${PROJECT_INSTALL_PATH}/lib/*.so* - ${CARLA_PLUGIN_BINARY_PATH} -) -endif() - file ( MAKE_DIRECTORY ${CARLA_UE_PATH}/Content/Carla/ExportedMaps @@ -626,3 +602,27 @@ set_property ( "${CARLA_BUILD_PATH}/Package" "${CARLA_BUILD_PATH}/PythonAPI/dist" ) + +set (CARLA_PLUGIN_BINARY_PATH ${CARLA_WORKSPACE_PATH}/Unreal/CarlaUnreal/Plugins/Carla/Binaries) +make_directory (${CARLA_PLUGIN_BINARY_PATH}) + +if (WIN32) + file(GLOB LIB_FILES ${CARLA_WORKSPACE_PATH}/Build/Ros2Native/install/lib/*.lib) + add_custom_command ( + TARGET check-unreal-content + PRE_BUILD + COMMAND + ${CMAKE_COMMAND} -E copy + ${LIB_FILES} + ${CARLA_PLUGIN_BINARY_PATH} +) +else() + add_custom_command ( + TARGET check-unreal-content + PRE_BUILD + COMMAND + ${CMAKE_COMMAND} -E copy + ${CARLA_WORKSPACE_PATH}/Build/Ros2Native/install/lib/*.so* + ${CARLA_PLUGIN_BINARY_PATH} +) +endif() \ No newline at end of file From 42d4286477c7e1fef12d1c6180d1430082a0ef09 Mon Sep 17 00:00:00 2001 From: rbelle-isle Date: Thu, 17 Apr 2025 14:15:13 -0400 Subject: [PATCH 07/18] Build copies on first try fix --- Ros2Native/CMakeLists.txt | 26 ++++++++++++++++++++++++++ Unreal/CMakeLists.txt | 26 +------------------------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/Ros2Native/CMakeLists.txt b/Ros2Native/CMakeLists.txt index 5533107d0b8..4677ef63f50 100644 --- a/Ros2Native/CMakeLists.txt +++ b/Ros2Native/CMakeLists.txt @@ -61,3 +61,29 @@ carla_add_custom_target ( "Build the ROS2-Native CARLA subproject." DEPENDS carla-ros2-native-lib ) + +set (CARLA_PLUGIN_BINARY_PATH ${CMAKE_SOURCE_DIR}/Unreal/CarlaUnreal/Plugins/Carla/Binaries) +make_directory (${CARLA_PLUGIN_BINARY_PATH}) + +if (WIN32) + add_custom_command ( + TARGET carla-ros2-native-lib + POST_BUILD + COMMAND + ${CMAKE_COMMAND} -E copy + ${PROJECT_INSTALL_PATH}/lib/carla-ros2-native.lib + ${PROJECT_INSTALL_PATH}/lib/fastcdr-1.1.lib + ${PROJECT_INSTALL_PATH}/lib/fastrtps-2.11.lib + ${PROJECT_INSTALL_PATH}/lib/foonathan_memory-0.7.3.lib + ${CARLA_PLUGIN_BINARY_PATH} +) +else() + add_custom_command ( + TARGET carla-ros2-native-lib + POST_BUILD + COMMAND + ${CMAKE_COMMAND} -E copy + ${PROJECT_INSTALL_PATH}/lib/*.so* + ${CARLA_PLUGIN_BINARY_PATH} +) +endif() \ No newline at end of file diff --git a/Unreal/CMakeLists.txt b/Unreal/CMakeLists.txt index a51b59c9d0c..7838361ee47 100644 --- a/Unreal/CMakeLists.txt +++ b/Unreal/CMakeLists.txt @@ -601,28 +601,4 @@ set_property ( "${CARLA_UE_PLUGINS_PATH}/StreetMap/Saved" "${CARLA_BUILD_PATH}/Package" "${CARLA_BUILD_PATH}/PythonAPI/dist" -) - -set (CARLA_PLUGIN_BINARY_PATH ${CARLA_WORKSPACE_PATH}/Unreal/CarlaUnreal/Plugins/Carla/Binaries) -make_directory (${CARLA_PLUGIN_BINARY_PATH}) - -if (WIN32) - file(GLOB LIB_FILES ${CARLA_WORKSPACE_PATH}/Build/Ros2Native/install/lib/*.lib) - add_custom_command ( - TARGET check-unreal-content - PRE_BUILD - COMMAND - ${CMAKE_COMMAND} -E copy - ${LIB_FILES} - ${CARLA_PLUGIN_BINARY_PATH} -) -else() - add_custom_command ( - TARGET check-unreal-content - PRE_BUILD - COMMAND - ${CMAKE_COMMAND} -E copy - ${CARLA_WORKSPACE_PATH}/Build/Ros2Native/install/lib/*.so* - ${CARLA_PLUGIN_BINARY_PATH} -) -endif() \ No newline at end of file +) \ No newline at end of file From 788c25d6e2757f1dc953a0d852d21c07261249c7 Mon Sep 17 00:00:00 2001 From: rbelle-isle Date: Thu, 17 Apr 2025 15:34:37 -0400 Subject: [PATCH 08/18] Fixed pathing for Windows deps in build cs --- Ros2Native/CMakeLists.txt | 6 ++-- Ros2Native/LibCarlaRos2Native/CMakeLists.txt | 2 +- .../Plugins/Carla/Source/Carla/Carla.Build.cs | 28 +++++++++++++------ 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/Ros2Native/CMakeLists.txt b/Ros2Native/CMakeLists.txt index 4677ef63f50..974a7309a8a 100644 --- a/Ros2Native/CMakeLists.txt +++ b/Ros2Native/CMakeLists.txt @@ -72,9 +72,9 @@ if (WIN32) COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_INSTALL_PATH}/lib/carla-ros2-native.lib - ${PROJECT_INSTALL_PATH}/lib/fastcdr-1.1.lib - ${PROJECT_INSTALL_PATH}/lib/fastrtps-2.11.lib - ${PROJECT_INSTALL_PATH}/lib/foonathan_memory-0.7.3.lib + ${PROJECT_INSTALL_PATH}/bin/fastcdr-1.1.dll + ${PROJECT_INSTALL_PATH}/bin/fastrtps-2.11.dll + ${PROJECT_INSTALL_PATH}/bin/foonathan_memory-0.7.3.dll ${CARLA_PLUGIN_BINARY_PATH} ) else() diff --git a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt index b2cbbbff29d..4f4eef734da 100644 --- a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt +++ b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt @@ -32,7 +32,7 @@ file ( add_library ( carla-ros2-native - STATIC + SHARED ${LIBCARLA_ROS2_HEADERS} ${LIBCARLA_ROS2_SOURCES} ) diff --git a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs index e0c8c4eb329..f0b951ede2b 100644 --- a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs +++ b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs @@ -171,15 +171,25 @@ void AddDynamicLibrary(string library) TestOptionalFeature(EnableRos2Demo, "Ros2 demo", "WITH_ROS2_DEMO"); string CarlaPluginSourcePath = Path.GetFullPath(ModuleDirectory); - string CarlaPluginBinariesLinuxPath = Path.Combine(CarlaPluginSourcePath, "..", "..", "Binaries", "Linux"); - AddDynamicLibrary(Path.Combine(CarlaPluginBinariesLinuxPath, "libcarla-ros2-native.so")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfoonathan_memory-0.7.3.so")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfastcdr.so")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfastcdr.so.1")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfastcdr.so.1.1.0")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfastrtps.so")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfastrtps.so.2.11")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfastrtps.so.2.11.2")); + string CarlaPluginBinariesPath = Path.Combine(CarlaPluginSourcePath, "..", "..", "Binaries"); + if (Target.Platform == UnrealTargetPlatform.Win64) + { + PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "carla-ros2-native.lib")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "fastrtps-2.11.dll")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "fastcdr-1.1.dll")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "foonathan_memory-0.7.3.dll")); + } + else + { + AddDynamicLibrary(Path.Combine(CarlaPluginBinariesPath, "libcarla-ros2-native.so")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfoonathan_memory-0.7.3.so")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastcdr.so")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastcdr.so.1")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastcdr.so.1.1.0")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps.so")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps.so.2.11")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps.so.2.11.2")); + } } } } From 40f88d50fa25dbf8535eb12f17b20055c162f84b Mon Sep 17 00:00:00 2001 From: rbelle-isle Date: Thu, 17 Apr 2025 16:22:18 -0400 Subject: [PATCH 09/18] TEST: STATIC --- Ros2Native/CMakeLists.txt | 21 +++++++++++++++----- Ros2Native/LibCarlaRos2Native/CMakeLists.txt | 5 +++-- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/Ros2Native/CMakeLists.txt b/Ros2Native/CMakeLists.txt index 974a7309a8a..248d4f43afb 100644 --- a/Ros2Native/CMakeLists.txt +++ b/Ros2Native/CMakeLists.txt @@ -16,10 +16,21 @@ ExternalProject_add ( -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DBUILD_SHARED_LIBS=ON + -DBUILD_SHARED_LIBS=OFF -DFOONATHAN_MEMORY_FORCE_VENDORED_BUILD=ON ) +ExternalProject_add ( + fastcdr + GIT_REPOSITORY https://github.com/eProsima/Fast-CDR.git + GIT_TAG v1.1.0 + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DBUILD_SHARED_LIBS=OFF +) + # Note: We are using GIT_REPOSITORY instead URL for fastdds because fastdss contains submodules # and we need the .git folders to download the submodules ExternalProject_add ( @@ -30,7 +41,7 @@ ExternalProject_add ( -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DBUILD_SHARED_LIBS=ON + -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -DCOMPILE_EXAMPLES=OFF -DCOMPILE_TOOLS=OFF @@ -72,9 +83,9 @@ if (WIN32) COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_INSTALL_PATH}/lib/carla-ros2-native.lib - ${PROJECT_INSTALL_PATH}/bin/fastcdr-1.1.dll - ${PROJECT_INSTALL_PATH}/bin/fastrtps-2.11.dll - ${PROJECT_INSTALL_PATH}/bin/foonathan_memory-0.7.3.dll + ${PROJECT_INSTALL_PATH}/lib/libfastcdr-1.1.lib + ${PROJECT_INSTALL_PATH}/lib/libfastrtps-2.11.lib + ${PROJECT_INSTALL_PATH}/lib/libfoonathan_memory-0.7.3.lib ${CARLA_PLUGIN_BINARY_PATH} ) else() diff --git a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt index 4f4eef734da..3fc1aa17445 100644 --- a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt +++ b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt @@ -53,8 +53,9 @@ target_compile_definitions ( if(WIN32) target_link_libraries ( carla-ros2-native PUBLIC - ${CMAKE_INSTALL_PREFIX}/lib/fastrtps-2.11.lib - ${CMAKE_INSTALL_PREFIX}/lib/fastcdr-1.1.lib + ${CMAKE_INSTALL_PREFIX}/lib/libfastrtps-2.11.lib + ${CMAKE_INSTALL_PREFIX}/lib/libfastcdr-1.1.lib + ${CMAKE_INSTALL_PREFIX}/lib/libfoonathan_memory-0.7.3.lib ) else() From 383dbe5a0c8988014de6531223429ab85aad72ac Mon Sep 17 00:00:00 2001 From: rbelle-isle Date: Thu, 17 Apr 2025 16:33:48 -0400 Subject: [PATCH 10/18] Update to static paths --- Ros2Native/CMakeLists.txt | 2 +- Ros2Native/LibCarlaRos2Native/CMakeLists.txt | 3 +-- Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Ros2Native/CMakeLists.txt b/Ros2Native/CMakeLists.txt index 248d4f43afb..922a41c1ae3 100644 --- a/Ros2Native/CMakeLists.txt +++ b/Ros2Native/CMakeLists.txt @@ -85,7 +85,7 @@ if (WIN32) ${PROJECT_INSTALL_PATH}/lib/carla-ros2-native.lib ${PROJECT_INSTALL_PATH}/lib/libfastcdr-1.1.lib ${PROJECT_INSTALL_PATH}/lib/libfastrtps-2.11.lib - ${PROJECT_INSTALL_PATH}/lib/libfoonathan_memory-0.7.3.lib + ${PROJECT_INSTALL_PATH}/lib/foonathan_memory-0.7.3.lib ${CARLA_PLUGIN_BINARY_PATH} ) else() diff --git a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt index 3fc1aa17445..5f6acf8ae57 100644 --- a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt +++ b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt @@ -32,7 +32,7 @@ file ( add_library ( carla-ros2-native - SHARED + STATIC ${LIBCARLA_ROS2_HEADERS} ${LIBCARLA_ROS2_SOURCES} ) @@ -55,7 +55,6 @@ if(WIN32) carla-ros2-native PUBLIC ${CMAKE_INSTALL_PREFIX}/lib/libfastrtps-2.11.lib ${CMAKE_INSTALL_PREFIX}/lib/libfastcdr-1.1.lib - ${CMAKE_INSTALL_PREFIX}/lib/libfoonathan_memory-0.7.3.lib ) else() diff --git a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs index f0b951ede2b..daf79bcfb97 100644 --- a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs +++ b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs @@ -175,8 +175,8 @@ void AddDynamicLibrary(string library) if (Target.Platform == UnrealTargetPlatform.Win64) { PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "carla-ros2-native.lib")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "fastrtps-2.11.dll")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "fastcdr-1.1.dll")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps-2.11.dll")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastcdr-1.1.dll")); RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "foonathan_memory-0.7.3.dll")); } else From bad069c2ad7048ec94ef624773bfb577e6f630a7 Mon Sep 17 00:00:00 2001 From: rbelleisle Date: Thu, 15 May 2025 21:30:57 -0400 Subject: [PATCH 11/18] Got build to the 3000 package build --- CMake/Toolchain.cmake | 380 +++++++++--------- CarlaSetup.bat | 34 +- LibCarla/source/carla/ros2/ROS2.cpp | 8 +- Ros2Native/CMakeLists.txt | 5 +- Ros2Native/LibCarlaRos2Native/CMakeLists.txt | 4 +- .../Plugins/Carla/Source/Carla/Carla.Build.cs | 12 +- Util/SetupUtils/InstallPrerequisites.bat | 11 - 7 files changed, 215 insertions(+), 239 deletions(-) diff --git a/CMake/Toolchain.cmake b/CMake/Toolchain.cmake index 5940300d55c..b4bbee9f57c 100644 --- a/CMake/Toolchain.cmake +++ b/CMake/Toolchain.cmake @@ -10,201 +10,201 @@ if (LINUX) -set (UE_ROOT $ENV{CARLA_UNREAL_ENGINE_PATH}) + set (UE_ROOT $ENV{CARLA_UNREAL_ENGINE_PATH}) -if (NOT UE_ROOT) - set (UE_ROOT $ENV{UE_ROOT}) -endif () - -if ("${UE_ROOT}" STREQUAL "") - set (UE_ROOT ${CARLA_UNREAL_ENGINE_PATH}) - set (ENV{UE_ROOT} ${UE_ROOT}) # @TODO -endif () + if (NOT UE_ROOT) + set (UE_ROOT $ENV{UE_ROOT}) + endif () -if (NOT EXISTS ${UE_ROOT}) - message (FATAL_ERROR "The specified Carla Unreal Engine 5 path does not exist (\"${UE_ROOT}\").") -endif () + if ("${UE_ROOT}" STREQUAL "") + set (UE_ROOT ${CARLA_UNREAL_ENGINE_PATH}) + set (ENV{UE_ROOT} ${UE_ROOT}) # @TODO + endif () -set (ARCH ${CMAKE_HOST_SYSTEM_PROCESSOR}) - -if (${ARCH} STREQUAL "x86_64") - set (CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "") - set (TARGET_TRIPLE "x86_64-unknown-linux-gnu" CACHE STRING "") -elseif (${ARCH} STREQUAL "aarch64") - set (CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "") - set (TARGET_TRIPLE "aarch64-unknown-linux-gnueabi" CACHE STRING "") -endif() - -file ( - GLOB - UE_SYSROOT_CANDIDATES - ${UE_ROOT}/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v*_clang-*.*.*-*/${TARGET_TRIPLE} - LIST_DIRECTORIES TRUE - FOLLOW_SYMLINKS -) - -set (UE_SYSROOT_CANDIDATE) -foreach (CANDIDATE ${UE_SYSROOT_CANDIDATES}) - if (IS_DIRECTORY ${CANDIDATE}) - set (UE_SYSROOT_CANDIDATE ${CANDIDATE}) - break () + if (NOT EXISTS ${UE_ROOT}) + message (FATAL_ERROR "The specified Carla Unreal Engine 5 path does not exist (\"${UE_ROOT}\").") endif () -endforeach () -if (NOT UE_SYSROOT_CANDIDATE) - message (FATAL_ERROR "Could not find Unreal Engine clang sysroot.") -endif () + set (ARCH ${CMAKE_HOST_SYSTEM_PROCESSOR}) + + if (${ARCH} STREQUAL "x86_64") + set (CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "") + set (TARGET_TRIPLE "x86_64-unknown-linux-gnu" CACHE STRING "") + elseif (${ARCH} STREQUAL "aarch64") + set (CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "") + set (TARGET_TRIPLE "aarch64-unknown-linux-gnueabi" CACHE STRING "") + endif() + + file ( + GLOB + UE_SYSROOT_CANDIDATES + ${UE_ROOT}/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v*_clang-*.*.*-*/${TARGET_TRIPLE} + LIST_DIRECTORIES TRUE + FOLLOW_SYMLINKS + ) + + set (UE_SYSROOT_CANDIDATE) + foreach (CANDIDATE ${UE_SYSROOT_CANDIDATES}) + if (IS_DIRECTORY ${CANDIDATE}) + set (UE_SYSROOT_CANDIDATE ${CANDIDATE}) + break () + endif () + endforeach () + + if (NOT UE_SYSROOT_CANDIDATE) + message (FATAL_ERROR "Could not find Unreal Engine clang sysroot.") + endif () -set ( - UE_SYSROOT - ${UE_SYSROOT_CANDIDATE} - CACHE PATH "" -) - -set ( - UE_THIRD_PARTY - ${UE_ROOT}/Engine/Source/ThirdParty CACHE PATH "" -) - -set ( - UE_INCLUDE - ${UE_THIRD_PARTY}/Unix/LibCxx/include CACHE PATH "" -) - -set ( - UE_LIBS - ${UE_THIRD_PARTY}/Unix/LibCxx/lib/Unix/${TARGET_TRIPLE} CACHE PATH "" -) - -set ( - UE_OPENSSL_INCLUDE - ${UE_THIRD_PARTY}/OpenSSL/1.1.1t/include/Unix CACHE PATH "" -) - -set ( - UE_OPENSSL_LIBS - ${UE_THIRD_PARTY}/OpenSSL/1.1.1t/lib/Unix/x86_64-unknown-linux-gnu CACHE PATH "" -) - -add_compile_options ( - -fms-extensions - -fno-math-errno - -fdiagnostics-absolute-paths - $<$:-stdlib=libc++> -) - -add_link_options (-stdlib=libc++ -L${UE_LIBS} ) - -set ( - CMAKE_AR - ${UE_SYSROOT}/bin/llvm-ar - CACHE FILEPATH "" -) - -set ( - CMAKE_ASM_COMPILER - ${UE_SYSROOT}/bin/clang - CACHE FILEPATH "" -) - -set ( - CMAKE_C_COMPILER - ${UE_SYSROOT}/bin/clang - CACHE FILEPATH "" -) - -set ( - CMAKE_C_COMPILER_AR - ${UE_SYSROOT}/bin/llvm-ar - CACHE FILEPATH "" -) - -set ( - CMAKE_CXX_COMPILER - ${UE_SYSROOT}/bin/clang++ - CACHE FILEPATH "" -) - -set ( - CMAKE_CXX_COMPILER_AR - ${UE_SYSROOT}/bin/llvm-ar - CACHE FILEPATH "" -) - -set ( - CMAKE_OBJCOPY - ${UE_SYSROOT}/bin/llvm-objcopy - CACHE FILEPATH "" -) - -set ( - CMAKE_ADDR2LINE - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-addr2line - CACHE FILEPATH "" -) - -set ( - CMAKE_C_COMPILER_RANLIB - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib - CACHE FILEPATH "" -) - -set ( - CMAKE_CXX_COMPILER_RANLIB - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib - CACHE FILEPATH "" -) - -set ( - CMAKE_LINKER - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ld - CACHE FILEPATH "" -) - -set ( - CMAKE_NM - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-nm - CACHE FILEPATH "" -) - -set ( - CMAKE_OBJDUMP - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-objdump - CACHE FILEPATH "" -) - -set ( - CMAKE_RANLIB - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib - CACHE FILEPATH "" -) - -set ( - CMAKE_READELF - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-readelf - CACHE FILEPATH "" -) - -set ( - CMAKE_STRIP - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-strip - CACHE FILEPATH "" -) - -set ( - COVERAGE_COMMAND - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-gcov - CACHE FILEPATH "" -) - -set ( - CMAKE_CXX_STANDARD_LIBRARIES - "${UE_LIBS}/libc++.a ${UE_LIBS}/libc++abi.a" -) - -set ( - CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES - ${UE_INCLUDE} ${UE_INCLUDE}/c++/v1 -) + set ( + UE_SYSROOT + ${UE_SYSROOT_CANDIDATE} + CACHE PATH "" + ) + + set ( + UE_THIRD_PARTY + ${UE_ROOT}/Engine/Source/ThirdParty CACHE PATH "" + ) + + set ( + UE_INCLUDE + ${UE_THIRD_PARTY}/Unix/LibCxx/include CACHE PATH "" + ) + + set ( + UE_LIBS + ${UE_THIRD_PARTY}/Unix/LibCxx/lib/Unix/${TARGET_TRIPLE} CACHE PATH "" + ) + + set ( + UE_OPENSSL_INCLUDE + ${UE_THIRD_PARTY}/OpenSSL/1.1.1t/include/Unix CACHE PATH "" + ) + + set ( + UE_OPENSSL_LIBS + ${UE_THIRD_PARTY}/OpenSSL/1.1.1t/lib/Unix/x86_64-unknown-linux-gnu CACHE PATH "" + ) + + add_compile_options ( + -fms-extensions + -fno-math-errno + -fdiagnostics-absolute-paths + $<$:-stdlib=libc++> + ) + + add_link_options (-stdlib=libc++ -L${UE_LIBS} ) + + set ( + CMAKE_AR + ${UE_SYSROOT}/bin/llvm-ar + CACHE FILEPATH "" + ) + + set ( + CMAKE_ASM_COMPILER + ${UE_SYSROOT}/bin/clang + CACHE FILEPATH "" + ) + + set ( + CMAKE_C_COMPILER + ${UE_SYSROOT}/bin/clang + CACHE FILEPATH "" + ) + + set ( + CMAKE_C_COMPILER_AR + ${UE_SYSROOT}/bin/llvm-ar + CACHE FILEPATH "" + ) + + set ( + CMAKE_CXX_COMPILER + ${UE_SYSROOT}/bin/clang++ + CACHE FILEPATH "" + ) + + set ( + CMAKE_CXX_COMPILER_AR + ${UE_SYSROOT}/bin/llvm-ar + CACHE FILEPATH "" + ) + + set ( + CMAKE_OBJCOPY + ${UE_SYSROOT}/bin/llvm-objcopy + CACHE FILEPATH "" + ) + + set ( + CMAKE_ADDR2LINE + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-addr2line + CACHE FILEPATH "" + ) + + set ( + CMAKE_C_COMPILER_RANLIB + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib + CACHE FILEPATH "" + ) + + set ( + CMAKE_CXX_COMPILER_RANLIB + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib + CACHE FILEPATH "" + ) + + set ( + CMAKE_LINKER + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ld + CACHE FILEPATH "" + ) + + set ( + CMAKE_NM + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-nm + CACHE FILEPATH "" + ) + + set ( + CMAKE_OBJDUMP + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-objdump + CACHE FILEPATH "" + ) + + set ( + CMAKE_RANLIB + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib + CACHE FILEPATH "" + ) + + set ( + CMAKE_READELF + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-readelf + CACHE FILEPATH "" + ) + + set ( + CMAKE_STRIP + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-strip + CACHE FILEPATH "" + ) + + set ( + COVERAGE_COMMAND + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-gcov + CACHE FILEPATH "" + ) + + set ( + CMAKE_CXX_STANDARD_LIBRARIES + "${UE_LIBS}/libc++.a ${UE_LIBS}/libc++abi.a" + ) + + set ( + CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES + ${UE_INCLUDE} ${UE_INCLUDE}/c++/v1 + ) endif () diff --git a/CarlaSetup.bat b/CarlaSetup.bat index af7148c4830..98c336b4441 100644 --- a/CarlaSetup.bat +++ b/CarlaSetup.bat @@ -1,8 +1,8 @@ @echo off setlocal EnableDelayedExpansion -set skip_prerequisites=false -set launch=false +set skip_prerequisites=true +set launch=true set interactive=false set python_path=python set python_root= @@ -77,9 +77,9 @@ if exist "%cd%\Unreal\CarlaUnreal\Content" ( ) rem Activate VS terminal development environment: -if exist "%PROGRAMFILES%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" ( +if exist "%PROGRAMFILES%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" ( echo Activating "x64 Native Tools Command Prompt" terminal environment. - call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" || exit /b + call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" || exit /b ) else ( echo Could not find vcvarsall.bat, aborting setup... exit 1 @@ -88,28 +88,10 @@ if exist "%PROGRAMFILES%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Bui rem -- DOWNLOAD + BUILD UNREAL ENGINE -- if exist "%CARLA_UNREAL_ENGINE_PATH%" ( echo Found Unreal Engine 5 at "%CARLA_UNREAL_ENGINE_PATH%". -) else if exist ..\UnrealEngine5_carla ( - echo Found CARLA Unreal Engine at %cd%/UnrealEngine5_carla. Assuming already built... -) else ( - echo Could not find CARLA Unreal Engine, downloading... - pushd .. - git clone ^ - -b ue5-dev-carla ^ - https://github.com/CarlaUnreal/UnrealEngine.git ^ - UnrealEngine5_carla || exit /b - pushd UnrealEngine5_carla - set CARLA_UNREAL_ENGINE_PATH=!cd! - setx CARLA_UNREAL_ENGINE_PATH !cd! - echo Running Unreal Engine pre-build steps... - call Setup.bat || exit /b - call GenerateProjectFiles.bat || exit /b - echo Building Unreal Engine 5... - msbuild ^ - Engine\Intermediate\ProjectFiles\UE5.vcxproj ^ - /property:Configuration="Development_Editor" ^ - /property:Platform="x64" || exit /b - popd - popd +) +else ( + echo Found CARLA Unreal Engine at %cd%/../UnrealEngine5_carla. Assuming already built... + set CARLA_UNREAL_ENGINE_PATH=%cd%/../UnrealEngine5_carla ) rem -- BUILD CARLA -- diff --git a/LibCarla/source/carla/ros2/ROS2.cpp b/LibCarla/source/carla/ros2/ROS2.cpp index ed563cb6bec..54c97dd9c43 100644 --- a/LibCarla/source/carla/ros2/ROS2.cpp +++ b/LibCarla/source/carla/ros2/ROS2.cpp @@ -94,8 +94,8 @@ void ROS2::SetFrame(uint64_t frame) { if (_controller->HasNewMessage()) { auto it = _actor_callbacks.find(actor); if (it != _actor_callbacks.end()) { - VehicleControl control = _controller->GetMessage(); - it->second(actor, control); + //VehicleControl control = _controller->GetMessage(); + //it->second(actor, control); } } } else { @@ -114,8 +114,8 @@ void ROS2::SetFrame(uint64_t frame) { auto it = _actor_message_callbacks.find(actor); if (it != _actor_message_callbacks.end()) { MessageControl control; - control.message = _basic_subscriber->GetMessage(); - it->second(actor, control); + //control.message = _basic_subscriber->GetMessage(); + //it->second(actor, control); } } } diff --git a/Ros2Native/CMakeLists.txt b/Ros2Native/CMakeLists.txt index 922a41c1ae3..20d27798c1a 100644 --- a/Ros2Native/CMakeLists.txt +++ b/Ros2Native/CMakeLists.txt @@ -49,10 +49,7 @@ ExternalProject_add ( -DTHIRDPARTY_fastcdr=FORCE -DTHIRDPARTY_TinyXML2=FORCE -DSQLITE3_SUPPORT=OFF - -DOPENSSL_FOUND:BOOL=ON - -DOPENSSL_INCLUDE_DIR:FILEPATH=${UE_OPENSSL_INCLUDE} - -DOPENSSL_SSL_LIBRARY:FILEPATH=${UE_OPENSSL_LIBS}/libssl.a - -DOPENSSL_CRYPTO_LIBRARY:FILEPATH=${UE_OPENSSL_LIBS}/libcrypto.a + -DSECURITY=OFF DEPENDS foonathan_memory ) diff --git a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt index 5f6acf8ae57..844229b2033 100644 --- a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt +++ b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt @@ -39,7 +39,7 @@ add_library ( target_include_directories ( carla-ros2-native - SYSTEM PRIVATE + SYSTEM PUBLIC ${LIBCARLA_SOURCE_PATH} ${CMAKE_INSTALL_PREFIX}/include ) @@ -55,6 +55,8 @@ if(WIN32) carla-ros2-native PUBLIC ${CMAKE_INSTALL_PREFIX}/lib/libfastrtps-2.11.lib ${CMAKE_INSTALL_PREFIX}/lib/libfastcdr-1.1.lib + ${CMAKE_INSTALL_PREFIX}/lib/foonathan_memory-0.7.3.lib + Shlwapi.lib ) else() diff --git a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs index fe90d9a378b..9fdafa2e6b6 100644 --- a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs +++ b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs @@ -175,10 +175,16 @@ void AddDynamicLibrary(string library) string CarlaPluginBinariesPath = Path.Combine(CarlaPluginSourcePath, "..", "..", "Binaries"); if (Target.Platform == UnrealTargetPlatform.Win64) { + PublicDefinitions.Add("FASTRTPS_NO_LIB"); // static link + PublicDefinitions.Add("FASTCDR_NO_LIB"); // static link + PublicDefinitions.Add("FOONATHAN_MEMORY=1"); + PublicDefinitions.Add("FOONATHAN_MEMORY_VERSION_MAJOR=0"); + PublicDefinitions.Add("FOONATHAN_MEMORY_VERSION_MINOR=7"); + PublicDefinitions.Add("FOONATHAN_MEMORY_VERSION_PATCH=3"); PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "carla-ros2-native.lib")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps-2.11.dll")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastcdr-1.1.dll")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "foonathan_memory-0.7.3.dll")); + PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps-2.11.lib")); + PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "libfastcdr-1.1.lib")); + PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "foonathan_memory-0.7.3.lib")); } else { diff --git a/Util/SetupUtils/InstallPrerequisites.bat b/Util/SetupUtils/InstallPrerequisites.bat index e07293ebe87..e3cf61f99b7 100644 --- a/Util/SetupUtils/InstallPrerequisites.bat +++ b/Util/SetupUtils/InstallPrerequisites.bat @@ -47,17 +47,6 @@ rem -- MAIN -- :main -rem -- INSTALL VISUAL STUDIO -- -if not exist %cd%\Temp ( - mkdir %cd%\Temp -) -pushd Temp -curl -L -O https://aka.ms/vs/17/release/vs_community.exe || exit /b -popd Temp -%cd%\Temp\vs_community.exe --add %visual_studio_components% --installWhileDownloading --passive --wait || exit /b -del %cd%\Temp\vs_community.exe -rmdir %cd%\Temp - rem -- INSTALL NINJA -- ninja --version >nul 2>nul if errorlevel 1 ( From d50768118c2969c2edc3f835a331d348c26da236 Mon Sep 17 00:00:00 2001 From: rbelleisle Date: Fri, 23 May 2025 15:30:00 -0400 Subject: [PATCH 12/18] able to launch system --- Unreal/CMakeLists.txt | 3 +-- Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Unreal/CMakeLists.txt b/Unreal/CMakeLists.txt index 7838361ee47..508d631250a 100644 --- a/Unreal/CMakeLists.txt +++ b/Unreal/CMakeLists.txt @@ -151,6 +151,7 @@ endforeach () set ( CARLA_UNREAL_LIBRARIES $ + shlwapi.lib ) foreach (UE_DEP ${UE_DEPENDENCIES}) @@ -368,8 +369,6 @@ add_dependencies ( ${UE_DEPENDENCIES_ORDER_ONLY} ) - - function ( add_carla_ue_package_target PACKAGE_CONFIGURATION diff --git a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs index 9fdafa2e6b6..98f8ab411b0 100644 --- a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs +++ b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs @@ -185,6 +185,7 @@ void AddDynamicLibrary(string library) PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps-2.11.lib")); PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "libfastcdr-1.1.lib")); PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "foonathan_memory-0.7.3.lib")); + PublicAdditionalLibraries.Add("Shlwapi.lib"); } else { From 33ec2cdee178ed7910e5d51b7c373137fabd08e3 Mon Sep 17 00:00:00 2001 From: rbelleisle Date: Sat, 24 May 2025 09:04:48 -0400 Subject: [PATCH 13/18] Cleaned up windows build --- CarlaSetup.bat | 98 ++++++++--- Ros2Native/CMakeLists.txt | 155 ++++++++++++------ Ros2Native/LibCarlaRos2Native/CMakeLists.txt | 23 ++- Unreal/CMakeLists.txt | 23 ++- .../Plugins/Carla/Source/Carla/Carla.Build.cs | 6 - Util/SetupUtils/InstallPrerequisites.bat | 38 +++++ 6 files changed, 245 insertions(+), 98 deletions(-) diff --git a/CarlaSetup.bat b/CarlaSetup.bat index 98c336b4441..3fc9883dd5b 100644 --- a/CarlaSetup.bat +++ b/CarlaSetup.bat @@ -1,7 +1,8 @@ @echo off setlocal EnableDelayedExpansion -set skip_prerequisites=true +set skip_prerequisites=false +set skip_prebuild=false set launch=true set interactive=false set python_path=python @@ -77,40 +78,87 @@ if exist "%cd%\Unreal\CarlaUnreal\Content" ( ) rem Activate VS terminal development environment: -if exist "%PROGRAMFILES%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" ( - echo Activating "x64 Native Tools Command Prompt" terminal environment. - call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" || exit /b -) else ( - echo Could not find vcvarsall.bat, aborting setup... +set "vcvars64_found=" + +echo Checking for Visual Studio 2022... +if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" + call "%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" || exit /b +) +if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" + call "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" || exit /b +) +if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" + call "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" || exit /b +) +if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" + call "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" || exit /b +) +if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" + call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" || exit /b +) +if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" + call "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" || exit /b +) + +if "%vcvars64_found%"=="" ( + echo Could not find vcvars64.bat for any detected Visual Studio version, aborting setup... exit 1 +) else ( + echo Visual Studio 2022 found. ) rem -- DOWNLOAD + BUILD UNREAL ENGINE -- if exist "%CARLA_UNREAL_ENGINE_PATH%" ( echo Found Unreal Engine 5 at "%CARLA_UNREAL_ENGINE_PATH%". -) -else ( +) else if exist ..\UnrealEngine5_carla ( echo Found CARLA Unreal Engine at %cd%/../UnrealEngine5_carla. Assuming already built... set CARLA_UNREAL_ENGINE_PATH=%cd%/../UnrealEngine5_carla +) else ( + echo Could not find CARLA Unreal Engine, downloading... + pushd .. + git clone ^ + -b ue5-dev-carla ^ + https://github.com/CarlaUnreal/UnrealEngine.git ^ + UnrealEngine5_carla || exit /b + pushd UnrealEngine5_carla + set CARLA_UNREAL_ENGINE_PATH=!cd! + setx CARLA_UNREAL_ENGINE_PATH !cd! + echo Running Unreal Engine pre-build steps... + call Setup.bat || exit /b + call GenerateProjectFiles.bat || exit /b + echo Building Unreal Engine 5... + msbuild ^ + Engine\Intermediate\ProjectFiles\UE5.vcxproj ^ + /property:Configuration="Development_Editor" ^ + /property:Platform="x64" || exit /b + popd + popd ) -rem -- BUILD CARLA -- -echo Configuring the CARLA CMake project... -cmake ^ - -G Ninja ^ - -S . ^ - -B Build ^ - --toolchain=CMake/Toolchain.cmake ^ - -DPython_ROOT_DIR=%python_root% ^ - -DPython3_ROOT_DIR=%python_root% ^ - -DCMAKE_BUILD_TYPE=Release ^ - -DCARLA_UNREAL_ENGINE_PATH=%CARLA_UNREAL_ENGINE_PATH% || exit /b -echo Building CARLA... -cmake --build Build || exit /b -echo Installing Python API... -cmake --build Build --target carla-python-api-install || exit /b -echo CARLA Python API build+install succeeded. - +if %skip_prebuild%==false ( + rem -- BUILD CARLA -- + echo Configuring the CARLA CMake project... + cmake ^ + -G Ninja ^ + -S . ^ + -B Build ^ + --toolchain=CMake/Toolchain.cmake ^ + -DPython_ROOT_DIR=%python_root% ^ + -DPython3_ROOT_DIR=%python_root% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCARLA_UNREAL_ENGINE_PATH=%CARLA_UNREAL_ENGINE_PATH% || exit /b + echo Building CARLA... + cmake --build Build || exit /b + echo Installing Python API... + cmake --build Build --target carla-python-api-install || exit /b + echo CARLA Python API build+install succeeded. +) rem -- POST-BUILD STEPS -- if %launch%==true ( diff --git a/Ros2Native/CMakeLists.txt b/Ros2Native/CMakeLists.txt index 20d27798c1a..a9f9a9a877c 100644 --- a/Ros2Native/CMakeLists.txt +++ b/Ros2Native/CMakeLists.txt @@ -9,60 +9,107 @@ include (ExternalProject) set (PROJECT_INSTALL_PATH ${CMAKE_CURRENT_BINARY_DIR}/install) -ExternalProject_add ( - foonathan_memory - URL https://github.com/eProsima/foonathan_memory_vendor/archive/refs/heads/${CARLA_FOONATHAN_MEMORY_VENDOR_TAG}.zip - CMAKE_ARGS - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DBUILD_SHARED_LIBS=OFF - -DFOONATHAN_MEMORY_FORCE_VENDORED_BUILD=ON -) +if (WIN32) + ExternalProject_add ( + foonathan_memory + URL https://github.com/eProsima/foonathan_memory_vendor/archive/refs/heads/${CARLA_FOONATHAN_MEMORY_VENDOR_TAG}.zip + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DBUILD_SHARED_LIBS=OFF + -DFOONATHAN_MEMORY_FORCE_VENDORED_BUILD=ON + ) -ExternalProject_add ( - fastcdr - GIT_REPOSITORY https://github.com/eProsima/Fast-CDR.git - GIT_TAG v1.1.0 - CMAKE_ARGS - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DBUILD_SHARED_LIBS=OFF -) + ExternalProject_add ( + fastcdr + GIT_REPOSITORY https://github.com/eProsima/Fast-CDR.git + GIT_TAG v1.1.0 + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DBUILD_SHARED_LIBS=OFF + ) -# Note: We are using GIT_REPOSITORY instead URL for fastdds because fastdss contains submodules -# and we need the .git folders to download the submodules -ExternalProject_add ( - fastdds - GIT_REPOSITORY https://github.com/eProsima/Fast-DDS.git - GIT_TAG ${CARLA_FASTDDS_TAG} - CMAKE_ARGS - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DBUILD_SHARED_LIBS=OFF - -DBUILD_TESTING=OFF - -DCOMPILE_EXAMPLES=OFF - -DCOMPILE_TOOLS=OFF - -DTHIRDPARTY_Asio=FORCE - -DTHIRDPARTY_fastcdr=FORCE - -DTHIRDPARTY_TinyXML2=FORCE - -DSQLITE3_SUPPORT=OFF - -DSECURITY=OFF - DEPENDS foonathan_memory -) + # Note: We are using GIT_REPOSITORY instead URL for fastdds because fastdss contains submodules + # and we need the .git folders to download the submodules + ExternalProject_add ( + fastdds + GIT_REPOSITORY https://github.com/eProsima/Fast-DDS.git + GIT_TAG ${CARLA_FASTDDS_TAG} + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DBUILD_SHARED_LIBS=OFF + -DBUILD_TESTING=OFF + -DCOMPILE_EXAMPLES=OFF + -DCOMPILE_TOOLS=OFF + -DTHIRDPARTY_Asio=FORCE + -DTHIRDPARTY_fastcdr=FORCE + -DTHIRDPARTY_TinyXML2=FORCE + -DSQLITE3_SUPPORT=OFF + -DSECURITY=OFF + DEPENDS foonathan_memory + ) -ExternalProject_Add ( - carla-ros2-native-lib - DEPENDS fastdds - SOURCE_DIR ${PROJECT_SOURCE_DIR}/LibCarlaRos2Native - CMAKE_ARGS - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DCMAKE_CXX_STANDARD=17 -) + ExternalProject_Add ( + carla-ros2-native-lib + DEPENDS fastdds + SOURCE_DIR ${PROJECT_SOURCE_DIR}/LibCarlaRos2Native + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DCMAKE_CXX_STANDARD=17 + ) +else() + ExternalProject_add ( + foonathan_memory + URL https://github.com/eProsima/foonathan_memory_vendor/archive/refs/heads/${CARLA_FOONATHAN_MEMORY_VENDOR_TAG}.zip + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DBUILD_SHARED_LIBS=ON + -DFOONATHAN_MEMORY_FORCE_VENDORED_BUILD=ON + ) + + # Note: We are using GIT_REPOSITORY instead URL for fastdds because fastdss contains submodules + # and we need the .git folders to download the submodules + ExternalProject_add ( + fastdds + GIT_REPOSITORY https://github.com/eProsima/Fast-DDS.git + GIT_TAG ${CARLA_FASTDDS_TAG} + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DBUILD_SHARED_LIBS=OFF + -DBUILD_TESTING=ON + -DCOMPILE_EXAMPLES=OFF + -DCOMPILE_TOOLS=OFF + -DTHIRDPARTY_Asio=FORCE + -DTHIRDPARTY_fastcdr=FORCE + -DTHIRDPARTY_TinyXML2=FORCE + -DSQLITE3_SUPPORT=OFF + -DOPENSSL_FOUND:BOOL=ON + -DOPENSSL_INCLUDE_DIR:FILEPATH=${UE_OPENSSL_INCLUDE} + -DOPENSSL_SSL_LIBRARY:FILEPATH=${UE_OPENSSL_LIBS}/libssl.a + -DOPENSSL_CRYPTO_LIBRARY:FILEPATH=${UE_OPENSSL_LIBS}/libcrypto.a DEPENDS foonathan_memory + ) + + ExternalProject_Add ( + carla-ros2-native-lib + DEPENDS fastdds + SOURCE_DIR ${PROJECT_SOURCE_DIR}/LibCarlaRos2Native + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + ) +endif() carla_add_custom_target ( carla-ros2-native @@ -84,7 +131,7 @@ if (WIN32) ${PROJECT_INSTALL_PATH}/lib/libfastrtps-2.11.lib ${PROJECT_INSTALL_PATH}/lib/foonathan_memory-0.7.3.lib ${CARLA_PLUGIN_BINARY_PATH} -) + ) else() add_custom_command ( TARGET carla-ros2-native-lib @@ -93,5 +140,5 @@ else() ${CMAKE_COMMAND} -E copy ${PROJECT_INSTALL_PATH}/lib/*.so* ${CARLA_PLUGIN_BINARY_PATH} -) -endif() \ No newline at end of file + ) +endif() diff --git a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt index 844229b2033..05c99e74019 100644 --- a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt +++ b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt @@ -30,16 +30,25 @@ file ( ${LIBCARLA_SOURCE_PATH}/carla/ros2/types/*.h ) -add_library ( - carla-ros2-native - STATIC - ${LIBCARLA_ROS2_HEADERS} - ${LIBCARLA_ROS2_SOURCES} -) +if (WIN32) + add_library ( + carla-ros2-native + STATIC + ${LIBCARLA_ROS2_HEADERS} + ${LIBCARLA_ROS2_SOURCES} + ) +else () + add_library ( + carla-ros2-native + SHARED + ${LIBCARLA_ROS2_HEADERS} + ${LIBCARLA_ROS2_SOURCES} + ) +endif() target_include_directories ( carla-ros2-native - SYSTEM PUBLIC + SYSTEM PRIVATE ${LIBCARLA_SOURCE_PATH} ${CMAKE_INSTALL_PREFIX}/include ) diff --git a/Unreal/CMakeLists.txt b/Unreal/CMakeLists.txt index 508d631250a..795a1b160b4 100644 --- a/Unreal/CMakeLists.txt +++ b/Unreal/CMakeLists.txt @@ -148,11 +148,18 @@ foreach (UE_DEP ${UE_DEPENDENCIES}) ) endforeach () -set ( - CARLA_UNREAL_LIBRARIES - $ - shlwapi.lib -) +if(WIN32) + set ( + CARLA_UNREAL_LIBRARIES + $ + shlwapi.lib + ) +else() + set ( + CARLA_UNREAL_LIBRARIES + $ + ) +endif() foreach (UE_DEP ${UE_DEPENDENCIES}) get_target_property (UE_DEP_TYPE ${UE_DEP} TYPE) @@ -319,6 +326,8 @@ list ( carla-unreal-configure ) + + file ( MAKE_DIRECTORY ${CARLA_UE_PATH}/Content/Carla/ExportedMaps @@ -369,6 +378,8 @@ add_dependencies ( ${UE_DEPENDENCIES_ORDER_ONLY} ) + + function ( add_carla_ue_package_target PACKAGE_CONFIGURATION @@ -600,4 +611,4 @@ set_property ( "${CARLA_UE_PLUGINS_PATH}/StreetMap/Saved" "${CARLA_BUILD_PATH}/Package" "${CARLA_BUILD_PATH}/PythonAPI/dist" -) \ No newline at end of file +) diff --git a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs index 98f8ab411b0..b95f35d913a 100644 --- a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs +++ b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs @@ -175,12 +175,6 @@ void AddDynamicLibrary(string library) string CarlaPluginBinariesPath = Path.Combine(CarlaPluginSourcePath, "..", "..", "Binaries"); if (Target.Platform == UnrealTargetPlatform.Win64) { - PublicDefinitions.Add("FASTRTPS_NO_LIB"); // static link - PublicDefinitions.Add("FASTCDR_NO_LIB"); // static link - PublicDefinitions.Add("FOONATHAN_MEMORY=1"); - PublicDefinitions.Add("FOONATHAN_MEMORY_VERSION_MAJOR=0"); - PublicDefinitions.Add("FOONATHAN_MEMORY_VERSION_MINOR=7"); - PublicDefinitions.Add("FOONATHAN_MEMORY_VERSION_PATCH=3"); PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "carla-ros2-native.lib")); PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps-2.11.lib")); PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "libfastcdr-1.1.lib")); diff --git a/Util/SetupUtils/InstallPrerequisites.bat b/Util/SetupUtils/InstallPrerequisites.bat index e3cf61f99b7..4b21ddd41b0 100644 --- a/Util/SetupUtils/InstallPrerequisites.bat +++ b/Util/SetupUtils/InstallPrerequisites.bat @@ -47,6 +47,44 @@ rem -- MAIN -- :main +rem -- INSTALL VISUAL STUDIO -- +set "vcvars64_found=" + +echo Checking if Visual Studio 2022 needs to be installed... +if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" +) +if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" +) +if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" +) +if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" +) +if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" +) +if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" +) + +if "%vcvars64_found%"=="" ( + echo Visual Studio 2022 not found. Installing required components... + if not exist %cd%\Temp ( + mkdir %cd%\Temp + ) + pushd Temp + curl -L -O https://aka.ms/vs/17/release/vs_community.exe || exit /b + popd Temp + %cd%\Temp\vs_community.exe --add %visual_studio_components% --installWhileDownloading --passive --wait || exit /b + del %cd%\Temp\vs_community.exe + rmdir %cd%\Temp +) else ( + echo Visual Studio 2022 found. Skipping installation. +) + rem -- INSTALL NINJA -- ninja --version >nul 2>nul if errorlevel 1 ( From 29b3d6c809e44214d35e16c82c7473014bd05743 Mon Sep 17 00:00:00 2001 From: rbelleisle Date: Sat, 24 May 2025 11:00:44 -0400 Subject: [PATCH 14/18] Switch arg name to link correctly on windows --- LibCarla/source/carla/ros2/ROS2.cpp | 8 ++++---- .../source/carla/ros2/subscribers/BasicSubscriber.cpp | 2 +- LibCarla/source/carla/ros2/subscribers/BasicSubscriber.h | 2 +- .../ros2/subscribers/CarlaEgoVehicleControlSubscriber.cpp | 2 +- .../ros2/subscribers/CarlaEgoVehicleControlSubscriber.h | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/LibCarla/source/carla/ros2/ROS2.cpp b/LibCarla/source/carla/ros2/ROS2.cpp index 54c97dd9c43..720ca451109 100644 --- a/LibCarla/source/carla/ros2/ROS2.cpp +++ b/LibCarla/source/carla/ros2/ROS2.cpp @@ -94,8 +94,8 @@ void ROS2::SetFrame(uint64_t frame) { if (_controller->HasNewMessage()) { auto it = _actor_callbacks.find(actor); if (it != _actor_callbacks.end()) { - //VehicleControl control = _controller->GetMessage(); - //it->second(actor, control); + VehicleControl control = _controller->GetCarlaMessage(); + it->second(actor, control); } } } else { @@ -114,8 +114,8 @@ void ROS2::SetFrame(uint64_t frame) { auto it = _actor_message_callbacks.find(actor); if (it != _actor_message_callbacks.end()) { MessageControl control; - //control.message = _basic_subscriber->GetMessage(); - //it->second(actor, control); + control.message = _basic_subscriber->GetCarlaMessage(); + it->second(actor, control); } } } diff --git a/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.cpp b/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.cpp index 9bbe83c0a01..5f68e2c698d 100644 --- a/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.cpp +++ b/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.cpp @@ -98,7 +98,7 @@ namespace ros2 { _impl->_alive = false; } - const char* BasicSubscriber::GetMessage() { + const char* BasicSubscriber::GetCarlaMessage() { _impl->_new_message = false; return _impl->_message.c_str(); } diff --git a/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.h b/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.h index 1c94eae2084..ef85dea4132 100644 --- a/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.h +++ b/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.h @@ -26,7 +26,7 @@ namespace ros2 { bool HasNewMessage(); bool IsAlive(); - const char* GetMessage(); + const char* GetCarlaMessage(); void* GetActor(); bool Init(); diff --git a/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.cpp b/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.cpp index 0089336e07c..daaea0a2865 100644 --- a/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.cpp +++ b/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.cpp @@ -160,7 +160,7 @@ namespace ros2 { _impl->_alive = false; } - VehicleControl CarlaEgoVehicleControlSubscriber::GetMessage() { + VehicleControl CarlaEgoVehicleControlSubscriber::GetCarlaMessage() { _impl->_new_message = false; return _impl->_control; } diff --git a/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.h b/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.h index 70231fbf270..6e26257f24c 100644 --- a/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.h +++ b/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.h @@ -26,7 +26,7 @@ namespace ros2 { bool HasNewMessage(); bool IsAlive(); - VehicleControl GetMessage(); + VehicleControl GetCarlaMessage(); void* GetVehicle(); bool Init(); From ea90ad64ca42d93ee28561051d73672db6834fc6 Mon Sep 17 00:00:00 2001 From: rbelle-isle Date: Tue, 15 Apr 2025 09:06:02 -0400 Subject: [PATCH 15/18] Fixes to FASTDDS build switch back to older fast dds fastdds building on windows Defaulting the ros2 to be on Moved copy to a later part of the build fixed error with copy, still requires running twice Build copies on first try fix Fixed pathing for Windows deps in build cs TEST: STATIC Update to static paths Added functionality to load maps from anywhere across different content folders, project or plugin (#8862) Changed the name and place of assets referenced in those BP and DT (#8864) Add functionality to subdivide meshes in chunks (#8875) Remove UE5_BUILD_README.md (#8876) Aaron/ue5/addmaterialstosplittedmeshes (#8883) * Add functionality to subdivide meshes in chunks * Add Materials to splitted meshes Got build to the 3000 package build able to launch system Cleaned up windows build Switch arg name to link correctly on windows --- CMake/Options.cmake | 4 +- CMake/Toolchain.cmake | 380 +++++++++--------- CarlaSetup.bat | 78 ++-- LibCarla/source/carla/ros2/ROS2.cpp | 4 +- .../ros2/publishers/CarlaIMUPublisher.cpp | 5 + .../publishers/CarlaTransformPublisher.cpp | 6 + .../ros2/subscribers/BasicSubscriber.cpp | 2 +- .../carla/ros2/subscribers/BasicSubscriber.h | 2 +- .../CarlaEgoVehicleControlSubscriber.cpp | 2 +- .../CarlaEgoVehicleControlSubscriber.h | 2 +- .../source/carla/ros2/types/CameraInfo.cpp | 2 + Ros2Native/CMakeLists.txt | 175 +++++--- Ros2Native/LibCarlaRos2Native/CMakeLists.txt | 40 +- UE5_BUILD_README.md | 174 -------- Unreal/CMakeLists.txt | 16 +- .../Plugins/Carla/Source/Carla/Carla.Build.cs | 32 +- .../Carla/Source/Carla/Game/CarlaEpisode.cpp | 34 +- .../Carla/Source/Carla/Game/CarlaStatics.cpp | 77 +++- .../Carla/Source/Carla/Game/CarlaStatics.h | 6 + .../BP_OpenDriveToMap.uasset | Bin 771549 -> 768438 bytes .../Blueprints/BP_RoofPropsGenerator.uasset | Bin 385599 -> 377715 bytes .../Blueprints/DT_BuildingStyles.uasset | Bin 20848 -> 25576 bytes .../DT_TreesGeneration.uasset | Bin 23308 -> 18442 bytes .../Source/CarlaTools/CarlaTools.Build.cs | 9 +- .../CarlaToolsFunctionLibrary.cpp | 302 ++++++++++++++ .../CarlaToolsFunctionLibrary.h | 41 ++ Util/SetupUtils/InstallPrerequisites.bat | 43 +- 27 files changed, 916 insertions(+), 520 deletions(-) delete mode 100644 UE5_BUILD_README.md create mode 100644 Unreal/CarlaUnreal/Plugins/CarlaTools/Source/CarlaTools/Private/BlueprintLibrary/CarlaToolsFunctionLibrary.cpp create mode 100644 Unreal/CarlaUnreal/Plugins/CarlaTools/Source/CarlaTools/Public/BlueprintLibrary/CarlaToolsFunctionLibrary.h diff --git a/CMake/Options.cmake b/CMake/Options.cmake index c163f40137b..9e9908a8d8f 100644 --- a/CMake/Options.cmake +++ b/CMake/Options.cmake @@ -53,7 +53,7 @@ carla_option ( carla_option ( ENABLE_ROS2 "Enable ROS2." - OFF + ON ) carla_option ( @@ -420,7 +420,7 @@ carla_string_option ( carla_string_option ( CARLA_FASTDDS_VERSION "Target Fast-DDS version." - 2.11.2 + 2.11.3 ) carla_string_option ( diff --git a/CMake/Toolchain.cmake b/CMake/Toolchain.cmake index 5940300d55c..b4bbee9f57c 100644 --- a/CMake/Toolchain.cmake +++ b/CMake/Toolchain.cmake @@ -10,201 +10,201 @@ if (LINUX) -set (UE_ROOT $ENV{CARLA_UNREAL_ENGINE_PATH}) + set (UE_ROOT $ENV{CARLA_UNREAL_ENGINE_PATH}) -if (NOT UE_ROOT) - set (UE_ROOT $ENV{UE_ROOT}) -endif () - -if ("${UE_ROOT}" STREQUAL "") - set (UE_ROOT ${CARLA_UNREAL_ENGINE_PATH}) - set (ENV{UE_ROOT} ${UE_ROOT}) # @TODO -endif () + if (NOT UE_ROOT) + set (UE_ROOT $ENV{UE_ROOT}) + endif () -if (NOT EXISTS ${UE_ROOT}) - message (FATAL_ERROR "The specified Carla Unreal Engine 5 path does not exist (\"${UE_ROOT}\").") -endif () + if ("${UE_ROOT}" STREQUAL "") + set (UE_ROOT ${CARLA_UNREAL_ENGINE_PATH}) + set (ENV{UE_ROOT} ${UE_ROOT}) # @TODO + endif () -set (ARCH ${CMAKE_HOST_SYSTEM_PROCESSOR}) - -if (${ARCH} STREQUAL "x86_64") - set (CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "") - set (TARGET_TRIPLE "x86_64-unknown-linux-gnu" CACHE STRING "") -elseif (${ARCH} STREQUAL "aarch64") - set (CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "") - set (TARGET_TRIPLE "aarch64-unknown-linux-gnueabi" CACHE STRING "") -endif() - -file ( - GLOB - UE_SYSROOT_CANDIDATES - ${UE_ROOT}/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v*_clang-*.*.*-*/${TARGET_TRIPLE} - LIST_DIRECTORIES TRUE - FOLLOW_SYMLINKS -) - -set (UE_SYSROOT_CANDIDATE) -foreach (CANDIDATE ${UE_SYSROOT_CANDIDATES}) - if (IS_DIRECTORY ${CANDIDATE}) - set (UE_SYSROOT_CANDIDATE ${CANDIDATE}) - break () + if (NOT EXISTS ${UE_ROOT}) + message (FATAL_ERROR "The specified Carla Unreal Engine 5 path does not exist (\"${UE_ROOT}\").") endif () -endforeach () -if (NOT UE_SYSROOT_CANDIDATE) - message (FATAL_ERROR "Could not find Unreal Engine clang sysroot.") -endif () + set (ARCH ${CMAKE_HOST_SYSTEM_PROCESSOR}) + + if (${ARCH} STREQUAL "x86_64") + set (CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "") + set (TARGET_TRIPLE "x86_64-unknown-linux-gnu" CACHE STRING "") + elseif (${ARCH} STREQUAL "aarch64") + set (CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "") + set (TARGET_TRIPLE "aarch64-unknown-linux-gnueabi" CACHE STRING "") + endif() + + file ( + GLOB + UE_SYSROOT_CANDIDATES + ${UE_ROOT}/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v*_clang-*.*.*-*/${TARGET_TRIPLE} + LIST_DIRECTORIES TRUE + FOLLOW_SYMLINKS + ) + + set (UE_SYSROOT_CANDIDATE) + foreach (CANDIDATE ${UE_SYSROOT_CANDIDATES}) + if (IS_DIRECTORY ${CANDIDATE}) + set (UE_SYSROOT_CANDIDATE ${CANDIDATE}) + break () + endif () + endforeach () + + if (NOT UE_SYSROOT_CANDIDATE) + message (FATAL_ERROR "Could not find Unreal Engine clang sysroot.") + endif () -set ( - UE_SYSROOT - ${UE_SYSROOT_CANDIDATE} - CACHE PATH "" -) - -set ( - UE_THIRD_PARTY - ${UE_ROOT}/Engine/Source/ThirdParty CACHE PATH "" -) - -set ( - UE_INCLUDE - ${UE_THIRD_PARTY}/Unix/LibCxx/include CACHE PATH "" -) - -set ( - UE_LIBS - ${UE_THIRD_PARTY}/Unix/LibCxx/lib/Unix/${TARGET_TRIPLE} CACHE PATH "" -) - -set ( - UE_OPENSSL_INCLUDE - ${UE_THIRD_PARTY}/OpenSSL/1.1.1t/include/Unix CACHE PATH "" -) - -set ( - UE_OPENSSL_LIBS - ${UE_THIRD_PARTY}/OpenSSL/1.1.1t/lib/Unix/x86_64-unknown-linux-gnu CACHE PATH "" -) - -add_compile_options ( - -fms-extensions - -fno-math-errno - -fdiagnostics-absolute-paths - $<$:-stdlib=libc++> -) - -add_link_options (-stdlib=libc++ -L${UE_LIBS} ) - -set ( - CMAKE_AR - ${UE_SYSROOT}/bin/llvm-ar - CACHE FILEPATH "" -) - -set ( - CMAKE_ASM_COMPILER - ${UE_SYSROOT}/bin/clang - CACHE FILEPATH "" -) - -set ( - CMAKE_C_COMPILER - ${UE_SYSROOT}/bin/clang - CACHE FILEPATH "" -) - -set ( - CMAKE_C_COMPILER_AR - ${UE_SYSROOT}/bin/llvm-ar - CACHE FILEPATH "" -) - -set ( - CMAKE_CXX_COMPILER - ${UE_SYSROOT}/bin/clang++ - CACHE FILEPATH "" -) - -set ( - CMAKE_CXX_COMPILER_AR - ${UE_SYSROOT}/bin/llvm-ar - CACHE FILEPATH "" -) - -set ( - CMAKE_OBJCOPY - ${UE_SYSROOT}/bin/llvm-objcopy - CACHE FILEPATH "" -) - -set ( - CMAKE_ADDR2LINE - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-addr2line - CACHE FILEPATH "" -) - -set ( - CMAKE_C_COMPILER_RANLIB - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib - CACHE FILEPATH "" -) - -set ( - CMAKE_CXX_COMPILER_RANLIB - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib - CACHE FILEPATH "" -) - -set ( - CMAKE_LINKER - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ld - CACHE FILEPATH "" -) - -set ( - CMAKE_NM - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-nm - CACHE FILEPATH "" -) - -set ( - CMAKE_OBJDUMP - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-objdump - CACHE FILEPATH "" -) - -set ( - CMAKE_RANLIB - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib - CACHE FILEPATH "" -) - -set ( - CMAKE_READELF - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-readelf - CACHE FILEPATH "" -) - -set ( - CMAKE_STRIP - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-strip - CACHE FILEPATH "" -) - -set ( - COVERAGE_COMMAND - ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-gcov - CACHE FILEPATH "" -) - -set ( - CMAKE_CXX_STANDARD_LIBRARIES - "${UE_LIBS}/libc++.a ${UE_LIBS}/libc++abi.a" -) - -set ( - CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES - ${UE_INCLUDE} ${UE_INCLUDE}/c++/v1 -) + set ( + UE_SYSROOT + ${UE_SYSROOT_CANDIDATE} + CACHE PATH "" + ) + + set ( + UE_THIRD_PARTY + ${UE_ROOT}/Engine/Source/ThirdParty CACHE PATH "" + ) + + set ( + UE_INCLUDE + ${UE_THIRD_PARTY}/Unix/LibCxx/include CACHE PATH "" + ) + + set ( + UE_LIBS + ${UE_THIRD_PARTY}/Unix/LibCxx/lib/Unix/${TARGET_TRIPLE} CACHE PATH "" + ) + + set ( + UE_OPENSSL_INCLUDE + ${UE_THIRD_PARTY}/OpenSSL/1.1.1t/include/Unix CACHE PATH "" + ) + + set ( + UE_OPENSSL_LIBS + ${UE_THIRD_PARTY}/OpenSSL/1.1.1t/lib/Unix/x86_64-unknown-linux-gnu CACHE PATH "" + ) + + add_compile_options ( + -fms-extensions + -fno-math-errno + -fdiagnostics-absolute-paths + $<$:-stdlib=libc++> + ) + + add_link_options (-stdlib=libc++ -L${UE_LIBS} ) + + set ( + CMAKE_AR + ${UE_SYSROOT}/bin/llvm-ar + CACHE FILEPATH "" + ) + + set ( + CMAKE_ASM_COMPILER + ${UE_SYSROOT}/bin/clang + CACHE FILEPATH "" + ) + + set ( + CMAKE_C_COMPILER + ${UE_SYSROOT}/bin/clang + CACHE FILEPATH "" + ) + + set ( + CMAKE_C_COMPILER_AR + ${UE_SYSROOT}/bin/llvm-ar + CACHE FILEPATH "" + ) + + set ( + CMAKE_CXX_COMPILER + ${UE_SYSROOT}/bin/clang++ + CACHE FILEPATH "" + ) + + set ( + CMAKE_CXX_COMPILER_AR + ${UE_SYSROOT}/bin/llvm-ar + CACHE FILEPATH "" + ) + + set ( + CMAKE_OBJCOPY + ${UE_SYSROOT}/bin/llvm-objcopy + CACHE FILEPATH "" + ) + + set ( + CMAKE_ADDR2LINE + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-addr2line + CACHE FILEPATH "" + ) + + set ( + CMAKE_C_COMPILER_RANLIB + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib + CACHE FILEPATH "" + ) + + set ( + CMAKE_CXX_COMPILER_RANLIB + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib + CACHE FILEPATH "" + ) + + set ( + CMAKE_LINKER + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ld + CACHE FILEPATH "" + ) + + set ( + CMAKE_NM + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-nm + CACHE FILEPATH "" + ) + + set ( + CMAKE_OBJDUMP + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-objdump + CACHE FILEPATH "" + ) + + set ( + CMAKE_RANLIB + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-ranlib + CACHE FILEPATH "" + ) + + set ( + CMAKE_READELF + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-readelf + CACHE FILEPATH "" + ) + + set ( + CMAKE_STRIP + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-strip + CACHE FILEPATH "" + ) + + set ( + COVERAGE_COMMAND + ${UE_SYSROOT}/bin/${TARGET_TRIPLE}-gcov + CACHE FILEPATH "" + ) + + set ( + CMAKE_CXX_STANDARD_LIBRARIES + "${UE_LIBS}/libc++.a ${UE_LIBS}/libc++abi.a" + ) + + set ( + CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES + ${UE_INCLUDE} ${UE_INCLUDE}/c++/v1 + ) endif () diff --git a/CarlaSetup.bat b/CarlaSetup.bat index af7148c4830..3fc9883dd5b 100644 --- a/CarlaSetup.bat +++ b/CarlaSetup.bat @@ -2,7 +2,8 @@ setlocal EnableDelayedExpansion set skip_prerequisites=false -set launch=false +set skip_prebuild=false +set launch=true set interactive=false set python_path=python set python_root= @@ -77,19 +78,47 @@ if exist "%cd%\Unreal\CarlaUnreal\Content" ( ) rem Activate VS terminal development environment: -if exist "%PROGRAMFILES%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" ( - echo Activating "x64 Native Tools Command Prompt" terminal environment. - call "%PROGRAMFILES%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" || exit /b -) else ( - echo Could not find vcvarsall.bat, aborting setup... +set "vcvars64_found=" + +echo Checking for Visual Studio 2022... +if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" + call "%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" || exit /b +) +if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" + call "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" || exit /b +) +if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" + call "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" || exit /b +) +if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" + call "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" || exit /b +) +if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" + call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" || exit /b +) +if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" + call "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" || exit /b +) + +if "%vcvars64_found%"=="" ( + echo Could not find vcvars64.bat for any detected Visual Studio version, aborting setup... exit 1 +) else ( + echo Visual Studio 2022 found. ) rem -- DOWNLOAD + BUILD UNREAL ENGINE -- if exist "%CARLA_UNREAL_ENGINE_PATH%" ( echo Found Unreal Engine 5 at "%CARLA_UNREAL_ENGINE_PATH%". ) else if exist ..\UnrealEngine5_carla ( - echo Found CARLA Unreal Engine at %cd%/UnrealEngine5_carla. Assuming already built... + echo Found CARLA Unreal Engine at %cd%/../UnrealEngine5_carla. Assuming already built... + set CARLA_UNREAL_ENGINE_PATH=%cd%/../UnrealEngine5_carla ) else ( echo Could not find CARLA Unreal Engine, downloading... pushd .. @@ -112,23 +141,24 @@ if exist "%CARLA_UNREAL_ENGINE_PATH%" ( popd ) -rem -- BUILD CARLA -- -echo Configuring the CARLA CMake project... -cmake ^ - -G Ninja ^ - -S . ^ - -B Build ^ - --toolchain=CMake/Toolchain.cmake ^ - -DPython_ROOT_DIR=%python_root% ^ - -DPython3_ROOT_DIR=%python_root% ^ - -DCMAKE_BUILD_TYPE=Release ^ - -DCARLA_UNREAL_ENGINE_PATH=%CARLA_UNREAL_ENGINE_PATH% || exit /b -echo Building CARLA... -cmake --build Build || exit /b -echo Installing Python API... -cmake --build Build --target carla-python-api-install || exit /b -echo CARLA Python API build+install succeeded. - +if %skip_prebuild%==false ( + rem -- BUILD CARLA -- + echo Configuring the CARLA CMake project... + cmake ^ + -G Ninja ^ + -S . ^ + -B Build ^ + --toolchain=CMake/Toolchain.cmake ^ + -DPython_ROOT_DIR=%python_root% ^ + -DPython3_ROOT_DIR=%python_root% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCARLA_UNREAL_ENGINE_PATH=%CARLA_UNREAL_ENGINE_PATH% || exit /b + echo Building CARLA... + cmake --build Build || exit /b + echo Installing Python API... + cmake --build Build --target carla-python-api-install || exit /b + echo CARLA Python API build+install succeeded. +) rem -- POST-BUILD STEPS -- if %launch%==true ( diff --git a/LibCarla/source/carla/ros2/ROS2.cpp b/LibCarla/source/carla/ros2/ROS2.cpp index ed563cb6bec..720ca451109 100644 --- a/LibCarla/source/carla/ros2/ROS2.cpp +++ b/LibCarla/source/carla/ros2/ROS2.cpp @@ -94,7 +94,7 @@ void ROS2::SetFrame(uint64_t frame) { if (_controller->HasNewMessage()) { auto it = _actor_callbacks.find(actor); if (it != _actor_callbacks.end()) { - VehicleControl control = _controller->GetMessage(); + VehicleControl control = _controller->GetCarlaMessage(); it->second(actor, control); } } @@ -114,7 +114,7 @@ void ROS2::SetFrame(uint64_t frame) { auto it = _actor_message_callbacks.find(actor); if (it != _actor_message_callbacks.end()) { MessageControl control; - control.message = _basic_subscriber->GetMessage(); + control.message = _basic_subscriber->GetCarlaMessage(); it->second(actor, control); } } diff --git a/LibCarla/source/carla/ros2/publishers/CarlaIMUPublisher.cpp b/LibCarla/source/carla/ros2/publishers/CarlaIMUPublisher.cpp index ce971ca0b46..50e9d3bcab5 100644 --- a/LibCarla/source/carla/ros2/publishers/CarlaIMUPublisher.cpp +++ b/LibCarla/source/carla/ros2/publishers/CarlaIMUPublisher.cpp @@ -1,3 +1,8 @@ +#ifdef _WIN32 +// Allow use of M_PI +#define _USE_MATH_DEFINES +#endif // _WIN32 + #include "CarlaIMUPublisher.h" #include diff --git a/LibCarla/source/carla/ros2/publishers/CarlaTransformPublisher.cpp b/LibCarla/source/carla/ros2/publishers/CarlaTransformPublisher.cpp index fb622f14fdf..8dc26a074c2 100644 --- a/LibCarla/source/carla/ros2/publishers/CarlaTransformPublisher.cpp +++ b/LibCarla/source/carla/ros2/publishers/CarlaTransformPublisher.cpp @@ -1,3 +1,9 @@ +#ifdef _WIN32 +#define _USE_MATH_DEFINES +// Convert GNU C lib M_PIf32 to a float 32 version of M_PI +#define M_PIf32 (float)M_PI +#endif // _WIN32 + #include "CarlaTransformPublisher.h" #include diff --git a/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.cpp b/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.cpp index 9bbe83c0a01..5f68e2c698d 100644 --- a/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.cpp +++ b/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.cpp @@ -98,7 +98,7 @@ namespace ros2 { _impl->_alive = false; } - const char* BasicSubscriber::GetMessage() { + const char* BasicSubscriber::GetCarlaMessage() { _impl->_new_message = false; return _impl->_message.c_str(); } diff --git a/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.h b/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.h index 1c94eae2084..ef85dea4132 100644 --- a/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.h +++ b/LibCarla/source/carla/ros2/subscribers/BasicSubscriber.h @@ -26,7 +26,7 @@ namespace ros2 { bool HasNewMessage(); bool IsAlive(); - const char* GetMessage(); + const char* GetCarlaMessage(); void* GetActor(); bool Init(); diff --git a/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.cpp b/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.cpp index 0089336e07c..daaea0a2865 100644 --- a/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.cpp +++ b/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.cpp @@ -160,7 +160,7 @@ namespace ros2 { _impl->_alive = false; } - VehicleControl CarlaEgoVehicleControlSubscriber::GetMessage() { + VehicleControl CarlaEgoVehicleControlSubscriber::GetCarlaMessage() { _impl->_new_message = false; return _impl->_control; } diff --git a/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.h b/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.h index 70231fbf270..6e26257f24c 100644 --- a/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.h +++ b/LibCarla/source/carla/ros2/subscribers/CarlaEgoVehicleControlSubscriber.h @@ -26,7 +26,7 @@ namespace ros2 { bool HasNewMessage(); bool IsAlive(); - VehicleControl GetMessage(); + VehicleControl GetCarlaMessage(); void* GetVehicle(); bool Init(); diff --git a/LibCarla/source/carla/ros2/types/CameraInfo.cpp b/LibCarla/source/carla/ros2/types/CameraInfo.cpp index 058e88d3bd3..32cd463019f 100644 --- a/LibCarla/source/carla/ros2/types/CameraInfo.cpp +++ b/LibCarla/source/carla/ros2/types/CameraInfo.cpp @@ -20,6 +20,8 @@ */ #ifdef _WIN32 +// Allow M_PI usage +#define _USE_MATH_DEFINES // Remove linker warning LNK4221 on Visual Studio namespace { char dummy; diff --git a/Ros2Native/CMakeLists.txt b/Ros2Native/CMakeLists.txt index 18b8d61a454..a9f9a9a877c 100644 --- a/Ros2Native/CMakeLists.txt +++ b/Ros2Native/CMakeLists.txt @@ -9,67 +9,136 @@ include (ExternalProject) set (PROJECT_INSTALL_PATH ${CMAKE_CURRENT_BINARY_DIR}/install) -ExternalProject_add ( - foonathan_memory - URL https://github.com/eProsima/foonathan_memory_vendor/archive/refs/heads/${CARLA_FOONATHAN_MEMORY_VENDOR_TAG}.zip - CMAKE_ARGS - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DBUILD_SHARED_LIBS=ON - -DFOONATHAN_MEMORY_FORCE_VENDORED_BUILD=ON -) +if (WIN32) + ExternalProject_add ( + foonathan_memory + URL https://github.com/eProsima/foonathan_memory_vendor/archive/refs/heads/${CARLA_FOONATHAN_MEMORY_VENDOR_TAG}.zip + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DBUILD_SHARED_LIBS=OFF + -DFOONATHAN_MEMORY_FORCE_VENDORED_BUILD=ON + ) -# Note: We are using GIT_REPOSITORY instead URL for fastdds because fastdss contains submodules -# and we need the .git folders to download the submodules -ExternalProject_add ( - fastdds - GIT_REPOSITORY https://github.com/eProsima/Fast-DDS.git - GIT_TAG ${CARLA_FASTDDS_TAG} - CMAKE_ARGS - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DBUILD_SHARED_LIBS=ON - -DBUILD_TESTING=OFF - -DCOMPILE_EXAMPLES=OFF - -DCOMPILE_TOOLS=OFF - -DTHIRDPARTY_Asio=FORCE - -DTHIRDPARTY_fastcdr=FORCE - -DTHIRDPARTY_TinyXML2=FORCE - -DSQLITE3_SUPPORT=OFF - -DOPENSSL_FOUND:BOOL=ON - -DOPENSSL_INCLUDE_DIR:FILEPATH=${UE_OPENSSL_INCLUDE} - -DOPENSSL_SSL_LIBRARY:FILEPATH=${UE_OPENSSL_LIBS}/libssl.a - -DOPENSSL_CRYPTO_LIBRARY:FILEPATH=${UE_OPENSSL_LIBS}/libcrypto.a - DEPENDS foonathan_memory -) + ExternalProject_add ( + fastcdr + GIT_REPOSITORY https://github.com/eProsima/Fast-CDR.git + GIT_TAG v1.1.0 + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DBUILD_SHARED_LIBS=OFF + ) -ExternalProject_Add ( - carla-ros2-native-lib - DEPENDS fastdds - SOURCE_DIR ${PROJECT_SOURCE_DIR}/LibCarlaRos2Native - CMAKE_ARGS - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -) + # Note: We are using GIT_REPOSITORY instead URL for fastdds because fastdss contains submodules + # and we need the .git folders to download the submodules + ExternalProject_add ( + fastdds + GIT_REPOSITORY https://github.com/eProsima/Fast-DDS.git + GIT_TAG ${CARLA_FASTDDS_TAG} + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DBUILD_SHARED_LIBS=OFF + -DBUILD_TESTING=OFF + -DCOMPILE_EXAMPLES=OFF + -DCOMPILE_TOOLS=OFF + -DTHIRDPARTY_Asio=FORCE + -DTHIRDPARTY_fastcdr=FORCE + -DTHIRDPARTY_TinyXML2=FORCE + -DSQLITE3_SUPPORT=OFF + -DSECURITY=OFF + DEPENDS foonathan_memory + ) -set (CARLA_PLUGIN_BINARY_PATH ${CMAKE_SOURCE_DIR}/Unreal/CarlaUnreal/Plugins/Carla/Binaries/Linux) + ExternalProject_Add ( + carla-ros2-native-lib + DEPENDS fastdds + SOURCE_DIR ${PROJECT_SOURCE_DIR}/LibCarlaRos2Native + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DCMAKE_CXX_STANDARD=17 + ) +else() + ExternalProject_add ( + foonathan_memory + URL https://github.com/eProsima/foonathan_memory_vendor/archive/refs/heads/${CARLA_FOONATHAN_MEMORY_VENDOR_TAG}.zip + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DBUILD_SHARED_LIBS=ON + -DFOONATHAN_MEMORY_FORCE_VENDORED_BUILD=ON + ) -make_directory (${CARLA_PLUGIN_BINARY_PATH}) + # Note: We are using GIT_REPOSITORY instead URL for fastdds because fastdss contains submodules + # and we need the .git folders to download the submodules + ExternalProject_add ( + fastdds + GIT_REPOSITORY https://github.com/eProsima/Fast-DDS.git + GIT_TAG ${CARLA_FASTDDS_TAG} + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DBUILD_SHARED_LIBS=OFF + -DBUILD_TESTING=ON + -DCOMPILE_EXAMPLES=OFF + -DCOMPILE_TOOLS=OFF + -DTHIRDPARTY_Asio=FORCE + -DTHIRDPARTY_fastcdr=FORCE + -DTHIRDPARTY_TinyXML2=FORCE + -DSQLITE3_SUPPORT=OFF + -DOPENSSL_FOUND:BOOL=ON + -DOPENSSL_INCLUDE_DIR:FILEPATH=${UE_OPENSSL_INCLUDE} + -DOPENSSL_SSL_LIBRARY:FILEPATH=${UE_OPENSSL_LIBS}/libssl.a + -DOPENSSL_CRYPTO_LIBRARY:FILEPATH=${UE_OPENSSL_LIBS}/libcrypto.a DEPENDS foonathan_memory + ) -add_custom_command ( - TARGET carla-ros2-native-lib - POST_BUILD - COMMAND - ${CMAKE_COMMAND} -E copy - ${PROJECT_INSTALL_PATH}/lib/*.so* - ${CARLA_PLUGIN_BINARY_PATH} -) + ExternalProject_Add ( + carla-ros2-native-lib + DEPENDS fastdds + SOURCE_DIR ${PROJECT_SOURCE_DIR}/LibCarlaRos2Native + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + ) +endif() carla_add_custom_target ( carla-ros2-native "Build the ROS2-Native CARLA subproject." DEPENDS carla-ros2-native-lib ) + +set (CARLA_PLUGIN_BINARY_PATH ${CMAKE_SOURCE_DIR}/Unreal/CarlaUnreal/Plugins/Carla/Binaries) +make_directory (${CARLA_PLUGIN_BINARY_PATH}) + +if (WIN32) + add_custom_command ( + TARGET carla-ros2-native-lib + POST_BUILD + COMMAND + ${CMAKE_COMMAND} -E copy + ${PROJECT_INSTALL_PATH}/lib/carla-ros2-native.lib + ${PROJECT_INSTALL_PATH}/lib/libfastcdr-1.1.lib + ${PROJECT_INSTALL_PATH}/lib/libfastrtps-2.11.lib + ${PROJECT_INSTALL_PATH}/lib/foonathan_memory-0.7.3.lib + ${CARLA_PLUGIN_BINARY_PATH} + ) +else() + add_custom_command ( + TARGET carla-ros2-native-lib + POST_BUILD + COMMAND + ${CMAKE_COMMAND} -E copy + ${PROJECT_INSTALL_PATH}/lib/*.so* + ${CARLA_PLUGIN_BINARY_PATH} + ) +endif() diff --git a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt index f9d4c9e0f04..05c99e74019 100644 --- a/Ros2Native/LibCarlaRos2Native/CMakeLists.txt +++ b/Ros2Native/LibCarlaRos2Native/CMakeLists.txt @@ -30,12 +30,21 @@ file ( ${LIBCARLA_SOURCE_PATH}/carla/ros2/types/*.h ) -add_library ( - carla-ros2-native - SHARED - ${LIBCARLA_ROS2_HEADERS} - ${LIBCARLA_ROS2_SOURCES} -) +if (WIN32) + add_library ( + carla-ros2-native + STATIC + ${LIBCARLA_ROS2_HEADERS} + ${LIBCARLA_ROS2_SOURCES} + ) +else () + add_library ( + carla-ros2-native + SHARED + ${LIBCARLA_ROS2_HEADERS} + ${LIBCARLA_ROS2_SOURCES} + ) +endif() target_include_directories ( carla-ros2-native @@ -50,10 +59,21 @@ target_compile_definitions ( BOOST_ASIO_ENABLE_BUFFER_DEBUGGING ) -target_link_libraries ( - carla-ros2-native PUBLIC - ${CMAKE_INSTALL_PREFIX}/lib/libfastrtps.so -) +if(WIN32) + target_link_libraries ( + carla-ros2-native PUBLIC + ${CMAKE_INSTALL_PREFIX}/lib/libfastrtps-2.11.lib + ${CMAKE_INSTALL_PREFIX}/lib/libfastcdr-1.1.lib + ${CMAKE_INSTALL_PREFIX}/lib/foonathan_memory-0.7.3.lib + Shlwapi.lib + ) + +else() + target_link_libraries ( + carla-ros2-native PUBLIC + ${CMAKE_INSTALL_PREFIX}/lib/libfastrtps.so + ) +endif() install ( TARGETS diff --git a/UE5_BUILD_README.md b/UE5_BUILD_README.md deleted file mode 100644 index ab47da01ad6..00000000000 --- a/UE5_BUILD_README.md +++ /dev/null @@ -1,174 +0,0 @@ -> [!IMPORTANT] -> This is a work in progress!! This version of CARLA is not considered a stable release. Over the following months many significant changes may be made to this branch which could break any modifications you make. We advise you to treat this branch as experimental. - -# Building CARLA in Linux with Unreal Engine 5.3 - -> [!NOTE] -> This build process is implemented and tested for Ubuntu 22.04. CARLA UE5 will not be supported for Ubuntu 20.04. - -## Set up the environment - -This guide details how to build CARLA from source on Linux with Unreal Engine 5.3. - -Clone the `ue5-dev` branch of CARLA on your local machine: - -```sh -git clone -b ue5-dev https://github.com/carla-simulator/carla.git CarlaUE5 -``` - -Run the setup script with your GitHub credentials: -> [!NOTE] -> * This version of CARLA requires the **CARLA fork of Unreal Engine 5.3**. You need to link your GitHub account to Epic Games in order to gain permission to clone the UE repository. If you have not already linked your accounts, follow [this guide](https://www.unrealengine.com/en-US/ue4-on-github) - -```sh -cd CarlaUE5 -env GIT_LOCAL_CREDENTIALS=your_user@your_token bash -x CarlaSetup.sh -``` - -The Setup.sh script installs all the required packages, including Cmake, debian packages, Python packages and Unreal Engine 5.3. It also downloads the CARLA content and builds CARLA. This script can therefore take a long time to complete. - -The setup script will install by default Python 3 using `apt`. If you want to target an existing Python installation, you should use the `--python-root=PATH_TO_PYTHON` argument with the relevant Python installation path. You can use `whereis python3` in your chosen environment and strip the `/python3` suffix from the path. - -> [!NOTE] -> * This version of CARLA requires the **CARLA fork of Unreal Engine 5.3**. You need to link your GitHub account to Epic Games in order to gain permission to clone the UE repository. If you have not already linked your accounts, follow [this guide](https://www.unrealengine.com/en-US/ue4-on-github) -> * For using CARLA Unreal Engine 5 previous builds, **ensure CARLA_UNREAL_ENGINE_PATH environment variable is defined** pointing to the CARLA Unreal Engine 5.3 absolute path. If this variable is not defined, the Setup.sh script will download and build CARLA Unreal Engine 5 and **this takes more than 1 extra hour of build and 225Gb of disk space**. -> * CARLA cannot be built on an external disk, Ubuntu is not giving the required read/write/execution permissions for builds. - - -## Build and Run CARLA UE5 - -The setup script launches the following commands itself, you will need to use the following commands once you modify the code and wish to relaunch: - -* Configure: - -```sh -cmake -G Ninja -S . -B Build --toolchain=$PWD/CMake/Toolchain.cmake \ --DLAUNCH_ARGS="-prefernvidia" -DCMAKE_BUILD_TYPE=Release -DENABLE_ROS2=ON \ --DBUILD_CARLA_UNREAL=ON -DCARLA_UNREAL_ENGINE_PATH=$CARLA_UNREAL_ENGINE_PATH -``` - -> [!NOTE] -> If you intend to target a specific Python installation, you should add both these arguments to the above cmake command: `-DPython_ROOT_DIR=PATH` and `-DPython3_ROOT_DIR=PATH`. - -* Build CARLA: - -```sh -cmake --build Build -``` - -* Build and install the Python API: - -```sh -cmake --build Build --target carla-python-api-install -``` - -* Launch the editor: - -```sh -cmake --build Build --target launch -``` - -## Build a package with CARLA UE5 - -```sh -cmake --build Build --target package -``` - -The package will be generated in the directory `$CARLA_PATH/Build/Package` - -## Run the package - -Run the package with the following command. - -```sh -./CarlaUnreal.sh -``` - -If you want to run the native ROS2 interface, add the `--ros2` argument - -```sh -./CarlaUnreal.sh --ros2 -``` - -If you want to install the Python API corresponding to the package you have built: - -```sh -pip3 install PythonAPI/carla/dist/carla-*.whl -``` - -# Building CARLA in Windowswith Unreal Engine 5.3 - -## Set up the environment - -This guide details how to build CARLA from source on Windows with Unreal Engine 5.3. - -Clone the `ue5-dev` branch of CARLA on your local machine: - -```sh -git clone -b ue5-dev https://github.com/carla-simulator/carla.git CarlaUE5 -``` - -Run the setup script: - -```sh -cd CarlaUE5 -CarlaSetup.bat -``` - -The Setup.bat script installs all the required packages, including Visual Studio 2022, Cmake, Python packages and Unreal Engine 5. It also downloads the CARLA content and builds CARLA. This batch file can therefore take a long time to complete. - -> [!NOTE] -> * This version of CARLA requires the **CARLA fork of Unreal Engine 5.3**. You need to link your GitHub account to Epic Games in order to gain permission to clone the UE repository. If you have not already linked your accounts, follow [this guide](https://www.unrealengine.com/en-US/ue4-on-github) -> * For using CARLA Unreal Engine 5 previous builds, ensure CARLA_UNREAL_ENGINE_PATH environment variable is defined pointing to the CARLA Unreal Engine 5 absolute path. If this variable is not defined, Setup.bat script will download and build CARLA Unreal Engine 5 and **this takes more than 1 extra hour of build and a 225Gb of disk space**. -> * Setup.bat script checks if there is any Python version installed at the top of the PATH variable, and installs Python otherwise. **To use your own version of Python, ensure that the PATH variable is properly set for Python before running the script**. -> * **Windows Developer Mode should be active**, otherwise build will fail. Please see [here](https://learn.microsoft.com/en-us/gaming/game-bar/guide/developer-mode) for instructions on how to activate Developer Mode. -> * **CARLA cannot be built on an external disk**, Windows does not give the required read/write/execution permissions for builds. - - -## Build and Run CARLA UE5 - -The Setup.bat file launches the following commands itself, you will need to use the following commands once you modify the code and wish to relaunch: - -> [!IMPORTANT] -> Ensure CARLA_UNREAL_ENGINE_PATH environment variable is defined pointing to the CARLA Unreal Engine 5.3 absolute path. Setup.bat sets this variable, but I may not be set if another approach was followed to install the requirements. - -* **Configure**. Open x64 Native Tools Command Prompt for VS 2022 at the CarlaUE5 folder and runn the following command: - -```sh -cmake -G Ninja -S . -B Build -DCMAKE_BUILD_TYPE=Release -DBUILD_CARLA_UNREAL=ON -DCARLA_UNREAL_ENGINE_PATH=%CARLA_UNREAL_ENGINE_PATH% -``` - -* **Build CARLA**. Open the x64 Native Tools Command Prompt for VS 2022 at the CarlaUE5 folder and run the following command: - -```sh -cmake --build Build -``` - -* **Build and install the Python API**. Open the x64 Native Tools Command Prompt for VS 2022 at the CarlaUE5 folder and run the following command:: - -```sh -cmake --build Build --target carla-python-api-install -``` - -* **Launch the editor**. Open the x64 Native Tools Command Prompt for VS 2022 at the CarlaUE5 folder and run the following command: - -```sh -cmake --build Build --target launch -``` - -## Build a package with CARLA UE5 - -> [!IMPORTANT] -> The package build for Carla UE5 is not yet fully tested for Windows. - -Open the x64 Native Tools Command Prompt for VS 2022 at the CarlaUE5 folder and run the following command: - -```sh -cmake --build Build --target package -``` - -The package will be generated in the directory `Build/Package` - -## Run the package - -The package build is not yet tested for Windows diff --git a/Unreal/CMakeLists.txt b/Unreal/CMakeLists.txt index 0df769df376..795a1b160b4 100644 --- a/Unreal/CMakeLists.txt +++ b/Unreal/CMakeLists.txt @@ -148,10 +148,18 @@ foreach (UE_DEP ${UE_DEPENDENCIES}) ) endforeach () -set ( - CARLA_UNREAL_LIBRARIES - $ -) +if(WIN32) + set ( + CARLA_UNREAL_LIBRARIES + $ + shlwapi.lib + ) +else() + set ( + CARLA_UNREAL_LIBRARIES + $ + ) +endif() foreach (UE_DEP ${UE_DEPENDENCIES}) get_target_property (UE_DEP_TYPE ${UE_DEP} TYPE) diff --git a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs index e0c8c4eb329..b95f35d913a 100644 --- a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs +++ b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs @@ -128,7 +128,8 @@ void AddDynamicLibrary(string library) "RHI", "Renderer", "ProceduralMeshComponent", - "MeshDescription" + "MeshDescription", + "Projects" }); if (EnableCarSim) @@ -171,15 +172,26 @@ void AddDynamicLibrary(string library) TestOptionalFeature(EnableRos2Demo, "Ros2 demo", "WITH_ROS2_DEMO"); string CarlaPluginSourcePath = Path.GetFullPath(ModuleDirectory); - string CarlaPluginBinariesLinuxPath = Path.Combine(CarlaPluginSourcePath, "..", "..", "Binaries", "Linux"); - AddDynamicLibrary(Path.Combine(CarlaPluginBinariesLinuxPath, "libcarla-ros2-native.so")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfoonathan_memory-0.7.3.so")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfastcdr.so")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfastcdr.so.1")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfastcdr.so.1.1.0")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfastrtps.so")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfastrtps.so.2.11")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesLinuxPath, "libfastrtps.so.2.11.2")); + string CarlaPluginBinariesPath = Path.Combine(CarlaPluginSourcePath, "..", "..", "Binaries"); + if (Target.Platform == UnrealTargetPlatform.Win64) + { + PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "carla-ros2-native.lib")); + PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps-2.11.lib")); + PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "libfastcdr-1.1.lib")); + PublicAdditionalLibraries.Add(Path.Combine(CarlaPluginBinariesPath, "foonathan_memory-0.7.3.lib")); + PublicAdditionalLibraries.Add("Shlwapi.lib"); + } + else + { + AddDynamicLibrary(Path.Combine(CarlaPluginBinariesPath, "libcarla-ros2-native.so")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfoonathan_memory-0.7.3.so")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastcdr.so")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastcdr.so.1")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastcdr.so.1.1.0")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps.so")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps.so.2.11")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps.so.2.11.2")); + } } } } diff --git a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Game/CarlaEpisode.cpp b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Game/CarlaEpisode.cpp index 89969e53cfd..ba5550c4e92 100644 --- a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Game/CarlaEpisode.cpp +++ b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Game/CarlaEpisode.cpp @@ -94,38 +94,12 @@ bool UCarlaEpisode::LoadNewEpisode(const FString &MapString, bool ResetSettings) { bool bIsFileFound = false; - FString FinalPath = MapString.IsEmpty() ? GetMapName() : MapString; - FinalPath += !MapString.EndsWith(".umap") ? ".umap" : ""; + FString FinalPath = UCarlaStatics::FindMapPath(MapString); - if (MapString.StartsWith("/Game")) + if(FPaths::FileExists(FinalPath)) { - // Some conversions... - FinalPath.RemoveFromStart(TEXT("/Game/")); - FinalPath = FPaths::ProjectContentDir() + FinalPath; - FinalPath = IFileManager::Get().ConvertToAbsolutePathForExternalAppForRead(*FinalPath); - - if (FPaths::FileExists(FinalPath)) { - bIsFileFound = true; - FinalPath = MapString; - } - } - else - { - if (MapString.Contains("/")) return false; - - // Find the full path under Carla - TArray TempStrArray, PathList; - IFileManager::Get().FindFilesRecursive(PathList, *FPaths::ProjectContentDir(), *FinalPath, true, false, false); - if (PathList.Num() > 0) - { - FinalPath = PathList[0]; - FinalPath.ParseIntoArray(TempStrArray, TEXT("Content/"), true); - FinalPath = TempStrArray[1]; - FinalPath.ParseIntoArray(TempStrArray, TEXT("."), true); - FinalPath = "/Game/" + TempStrArray[0]; - - return LoadNewEpisode(FinalPath, ResetSettings); - } + bIsFileFound = true; + FinalPath = MapString; } if (bIsFileFound) diff --git a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Game/CarlaStatics.cpp b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Game/CarlaStatics.cpp index 231400b3687..8999725465b 100644 --- a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Game/CarlaStatics.cpp +++ b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Game/CarlaStatics.cpp @@ -8,21 +8,82 @@ #include "Carla.h" #include +#include "Interfaces/IPluginManager.h" +#include "Misc/Paths.h" +#include "Modules/ModuleManager.h" #include "HAL/FileManagerGeneric.h" #include + +TArray UCarlaStatics::GetAllPluginContentPaths() +{ + TArray OutContentDirs; + const TArray> Plugins = IPluginManager::Get().GetDiscoveredPlugins(); + for (const TSharedRef& Plugin : Plugins) + { + if (Plugin->GetLoadedFrom() == EPluginLoadedFrom::Engine) + { + continue; + } + + FString ContentDir = Plugin->GetContentDir(); + if (FPaths::DirectoryExists(ContentDir)) + { + OutContentDirs.Add(ContentDir); + } + } + return OutContentDirs; +} + + TArray UCarlaStatics::GetAllMapNames() { TArray TmpStrList, MapNameList; - IFileManager::Get().FindFilesRecursive( - MapNameList, *FPaths::ProjectContentDir(), TEXT("*.umap"), true, false, false); - MapNameList.RemoveAll( [](const FString &Name) { return Name.Contains("TestMaps");}); - MapNameList.RemoveAll( [](const FString &Name) { return Name.Contains("OpenDriveMap");}); + TArray PathList; + + PathList.Add(FPaths::ProjectContentDir()); + PathList.Append(GetAllPluginContentPaths()); + + for(const FString &Path : PathList) { + if (FPaths::DirectoryExists(Path)) { + UE_LOG(LogCarla, Log, TEXT("Path: %s"), *Path); + IFileManager::Get().FindFilesRecursive(MapNameList, *Path, TEXT("*.umap"), true, false, false); + } + } + + // Filter out undesired maps + MapNameList.RemoveAll([](const FString& Name) { + return Name.Contains("TestMaps") || Name.Contains("OpenDriveMap") || Name.Contains("Sublevels"); + }); + for (int i = 0; i < MapNameList.Num(); i++) { - MapNameList[i].ParseIntoArray(TmpStrList, TEXT("Content/"), true); - MapNameList[i] = TmpStrList[1]; - MapNameList[i] = MapNameList[i].Replace(TEXT(".umap"), TEXT("")); - MapNameList[i] = "/Game/" + MapNameList[i]; + MapNameList[i] = FPaths::GetBaseFilename(*MapNameList[i]); } return MapNameList; } + +FString UCarlaStatics::FindMapPath(const FString &MapName) +{ + TArray ContentPaths; + + ContentPaths.Add(FPaths::ProjectContentDir()); + ContentPaths.Append(GetAllPluginContentPaths()); + + // Look for matching map files + for (const FString& Path : ContentPaths) + { + TArray FoundFiles; + IFileManager::Get().FindFilesRecursive(FoundFiles, *Path, TEXT("*.umap"), true, false); + + for (const FString& FilePath : FoundFiles) + { + FString FileName = FPaths::GetBaseFilename(FilePath); // just "MyMap", no path, no extension + if (FileName.Equals(MapName, ESearchCase::IgnoreCase)) + { + return FilePath; // Return the full path of the first matching map. Only one map is expected. + } + } + } + + return FString(); +} diff --git a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Game/CarlaStatics.h b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Game/CarlaStatics.h index 1dcaa1ee1f9..553fb225e22 100644 --- a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Game/CarlaStatics.h +++ b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Game/CarlaStatics.h @@ -41,9 +41,15 @@ class CARLA_API UCarlaStatics : public UBlueprintFunctionLibrary UFUNCTION(BlueprintPure, Category="CARLA", meta=(WorldContext="WorldContextObject")) static UCarlaSettings *GetCarlaSettings(const UObject *WorldContextObject); + UFUNCTION(BlueprintPure, Category="CARLA") + static TArray GetAllPluginContentPaths(); + UFUNCTION(BlueprintPure, Category="CARLA") static TArray GetAllMapNames(); + UFUNCTION(BlueprintPure, Category="CARLA") + static FString FindMapPath(const FString &MapName); + UFUNCTION(BlueprintPure, Category="CARLA", meta=(WorldContext="WorldContextObject")) static ACarlaRecorder* GetRecorder(const UObject *WorldContextObject); diff --git a/Unreal/CarlaUnreal/Plugins/CarlaTools/Content/OnroadMapGenerator/BP_OpenDriveToMap.uasset b/Unreal/CarlaUnreal/Plugins/CarlaTools/Content/OnroadMapGenerator/BP_OpenDriveToMap.uasset index c5852501dacd9db91ee04881099019b1747b25bf..83d7d8238e6ddc0edee5545a1de29033de1b8da0 100644 GIT binary patch literal 768438 zcmd442Yehw^1nR`29q&4gKcs!&XH&(Dxwert!#*HGEc4<9i2=RMwE{>x*6zaDY$ zc3X8(*>US{GVPf0wKu-~;=0$r@{h%`p0<4@e|t|OkkanYz>2d$*C-CBNmc0t)KrSGhL z##yQEo2<8`%1REn@U@Du_iu6SjcXn=f4$mw`m5~oS+~6ZNy*vYto%mbMZ@o{*l`<` zeShn6L0=tvmsU5|S64PR)~9-pZ)k3;t{q$5G$PrMY_4u;Z0=n$p=x|nvZ1WGZcehY zQMdF+mtbWH;Oj&Xtf{MA1_VJ59sBm_J7h>%pCP3~2M-)jGIZeZJ{A22mJaXVzkI;J zzC%lg3dMb<>%pr>2EjaCemF={c|QnLUobV12xbV55*%H5^h;YTzP$W`-Glb{ z_nN%_FTF=D{Hl4mlTTg$*7es^6#@0okT{h8h2clKBpjWL;KSRoR?Oro8m)8XJPQCXWANJ)WFg z(_Gio(z~R-HQCf$*U&Pexw>gq@X4Epm8~7QUE0{3oHBm;fytVd;D?dDc3nMkue@Pq zT|+WBZuetH!dai-^x5}s%~{`I>!#OshsVBsg5~CI-x8ko4Q@-0TPr;67aUZ2*?r+@ z|KP0y9(yx99T2>}+F}0*PX`7KYi)20b@dB=n>y&fob?Yzj-Gr1X9I#U8!f(tvw^|S z%b)ftXM=*C-K*zuHaIwEmoA%eHYC_)!KBqW8yZ}C@!(mU4G$igUG^@zKD?%;b#`Ul z>}2rVCfCeE@rKt(K}+kaQ>n_v$xYRB8-mmBd}W1hc1NWXnj349sZ{XQsNcRo6yXz< zjb+JHOLOD=V0!sKHd-ZJJhpL8GDxg9Wje!mcx`P}S!3(;`lS0C{CMo~N252~7}?OG z|G~jeoO07zVbPrGhMHvUgt~^Zx>Qqr_59$7_5Ry+d2ZD=&8iNnwp;C+@T$34_g3ig z`{S!|kE`zG^~u>uRaUv)`2E7hgry@JYLoMVkFI;VU&uRURiYg1{q-ZYZCF*M^~vhy z;D}!PCc|cgSR+$YtLy7(T?K2_+_897BULpf*)X$ZR&c|>?@K}!L;Oj}+2VU-OLBIw z(*do=wKYt#Yf3h^%nwH1@}IgDs3R4MFPOIYp?|F(UYAVhUea1uUt8BOvwNGx2nLLK zB^7o;O82KGXLc{GuCGrv2M0br@#U~Bsj}*p>h6`*l5J4)?Wa9M$)r-rmZ0hWt^O~R zF;`*F2B(gF>C3Q9smU$XEp;{B$0k#=f|@_=y&ZZ#JX+e_wQttQsXbAhl3;_;*N>;$ zrw^~MZ=73}tWUNurhflwwNI(Cq&k%xlbn;RA6G4{dUWAg`y=a;>Xw>Wlj{yi1_$o( z(;DmWcxiP*W#i15^~tGqsk-TP^>vcU_?x#~h89dOOU|fnt#3iwTAPy&3W_8W{ami$D$kxo{kOrJcfaW2|-$6Md*;tE=8LOXfv<$G+~HN=>kOg06# zw(huLsK=EWI!%quEy1!~`)-Emm~JH#X3bC4)ue)JAG`5M6w>TL#D)D>fBpNRZp?S) zw|Zu9>iDgG3A<~4OEOse@6#TlttGlJ=>;E->-7+WxHS07)MvLrcCsQht@YI{$#8(m zyw$16!Cj5_?7x+}TThQ-B-`2TDkrp1(}QP!I;?N^Ol)V&+u{BE?7E+9)(+1Ma67a^ z*BHGI9fyH)#6z?Z$(E|no?g1vW#9Mgc;A`fb~XL`>3^Qxo{bFK+z$JmLA`1>kJhUm zuBmRRn%vT?|LstZ7@nBYu419i!GFnRwn(dIw!?m8(;YqzKrT3k#a#Y;9P zxV5D{J2B+Xd6JC zst~fVy)JEf@k-A#!)TMqSV^j`seZnXhuT#-rT2*K+qHL6bwh3A?27uvYQ;{vn3-&c z-({07-)D50Bj8-0oi%tjXT4t5b zO4b}SuCcVSzFrQ#v7x=1KK|H0uWiTn;yaRIU! zl;EDv4muJak!fjyZ|9u9#hvn@VO#IKbNV^qjdabakqvw89n^mC z@;msf2+8n9)n37I-+%CZ)?0fAeHSk{J?pJ~f{&kW*v;L-^IL!sc5n5Kr+kG!D+_K| zeonU)IFqFtotz)6`e5t62)E7h1smS{MK>#PeyjZB!!8YAeZA8gnE^lu{wlNE=~t*$>P)rRoa4Xb>Ba{8(r z{cewc(;pSCRU9x=RR!Pwe8FjWK4NMLCfChus8(>244aY)R-C!jT?_-=C)8)wc3QWy z8c?>dXiQ^`>zw1(du*e&QnRVSUw>Y8(@+9D9zNag{?9KX7H8^KCsG=vq4AqgtqINZ z*Nt4wwK<&Eg{l->xZ(9Xpd)1>-oU8t-Z!XwVBWK?ES#l5)wkS-wq%+0FaODV1CV!FtCBEkdhp`Azw}0Z%7cwJS}P3r%4E5pBYm(Lo=hrt92*6gdn{AxhqljApvzc zDrqwpH8d3@7p~G{!)$kk4cnuxwpMZUt9Q(N1pVyr?66@(tqsAgrH>xlR(ZP?9k=_N z|HB`Ik4End8&<|FudxY{jBlu)9}J%H;>W0G7++6ltkd-S=Dk+l+%efYyRGjgzIyTQ z=wW$tb7ONT=ax{Q4R?TcPSh_1gZllePj|1u{ON^lms|+0$rA#mMI5 z9`kDzjkHMCOg(UQiS<7C3g4vY8N!I6tw(;o=IvhzsVnMRQ?n)|l_epF z_3X%cx6L+#Q||A7C>>hSTqm^p`Qcz+_OT~dM$l%Py}2secAH&LDl1NR!BzYGvJL}p zM9|#*{0DK+7Sy^BG8GKF?34$nvaQ^C>f=_}tCGQG#pxJ0xTeedm(w!475chS*L_}v zV);Vs)r46}Py{ROFz3ifMY_>uLEhhBhiz!KCLHphVJgG9(O}f@2fMpQwJ_`(o5N5y zSp3Xud(kB$8pmlu7}CA=-f6-A-&1pkS3+VRx1D``J zL!8nHKZRMlJ%VR1e&%N6HZqvE;D#sA_b?$<*;pw99z0aG)?Vn!$OfNW`|p~=)}!l3 zHYlbFjy`(YRb)U$HYh+)GV73J#gTdtSG_oB6numex6=>)`2=*23ng}3iY!=R<-c5v z2B_4T<#DaEHClqpzTadVyp9Skzq))TIgiZAf}3Lmw>{o{7{)F0cAMWjbFJli5mpI- zJ|zNg^OUV8kNv-ldu`8E%slo9e@{Vh_*~n)DMMCYKuTqFKg@BJ%SwcXrYdyBp?lqS z*0ilL0v@Ssena)_x*CGms^LoGRVkdRBJ3Bp!^Z|6ch7}N5L4wcdxxzytQLcqwMrMK zSB1H}_b)y2H)c$oAyzrRzWe;IR!2FqpiiId^B8m29Pz0WbjY*gc5L;$HetTJbB{Ya zBGfgsA$)t`5sOe4BD6bp+3Rd{N#}DLn`=`+X|Hj2gwm=@%}%yVNhO=hl8VTck1+#6 z0;g882<8qt?G$=uj6~VqH>ZMCHeKd9hCKJe(cx3K!St2BeSvY^Vd@w>blNYwU<}68 z&79Rz(l{?-J;z-(^o#IThk0Re*UejAPPE39F|Iwl zrXYTeU!zP-R2&0GKqf19T5Q?~c!XnuEjYB@f=*!wA zgQ1(0FQRkksWvJ{eZ9gcWHK%}*O}w$>B;)wj`_!Lhvum?^cT-hxPLu=9h$V;b{*Ug z(dxcBxq5bR@z-yDiVRfHW|&_ccJCf*D(%wpG}KP)~*6cbg$sCeNR{>Qm}W>T=97l=g1?e;GW+utcS~RF8|H4kFAO*6qS}A z+*)04YgwP~c>Fz#Qu#Ec$HIwub^XW&xzki|)KwGb(V=ec5F|%`p5U_4turP^pZ7bq z!p|(sp$>oZ_Ql~tVSX)mx9>;uutDRSn9x+$%SkhtY7_LftFPUK2zGpPot7y_B$bVk zt!1hw4o+Hk<4w^0Y&SJq-)7U1!*brf zHVW3B7`C{zg_xrEf*ogs7~v%jIT%qp`+|_wu*g(0SY`H^V^KxrDSi0y_^NMhg43N) zU2{kbL$a;R6Tsk$Z^tl2XE1eC(r0T(u||F5g|Mc-VR^rA(ub-W^b_h;WrfxRd|aIhemVX6uJm+x#~g-)`TpT63~GBq z(NQwlQjaxE1!tUp*xRrdKA~J;YF4T8g~1MIpY=Um7fzHE$u}}b2yJ_XbUPVTF53Bm zkPn68%D@qj2X8$8`@xI|^>4Vcu1%I2n+!JVo zJrWw{VErFX^GysxLbgOGy&3G(>;6;1D%wq|R(Rw7yJ0$#)(nOv=cll0kusmS3}&p* zXD=F=Evp$czqMI{0jg|PeK7T(*X*pkE_tb)IO?7i^I3fGjvNb25@;>W*Vd|XcPz{$r zXS;{YdQx-epn0>N?}zM$OHeK=bVW68}Mf~rM-8WlDty~-9Q1MVMk=HaM} z1><8vud&V=TkY$xU5IX0|I(?aUgEJ`Tpaq4%c|C%5XvUmQaMYSp_SOl^{mRBzWBrY z=}^Clr}U{;<2nuQWfuMII~ttQnvFtIC5cD=ebA4LFiO0|KJ$m~-eR1m7j{C!a^&T2 zUXJ=kip`ksJNhp_g<@)KZI8i%8@?* z49Y`2=3No88`?TqdpD6-e9Q0&@RV{EYpa_^hm%6pVP+xN>EY%rJW8u})STVp+`W87 zx@^Ph6I}EQ64sL{4#(BeN3MQ&*wyWq3W6O5ZWX5HGgg~wOJ5j3j8&<%(H~DaI!wLk zJQY-)l^DsOsjO~RKHJ%V>z-{|9dfSBWu^Mvx51_qC1*EP$p}}4m~!pfL{epuL~!U% zCk$p)vkhxZV`EcQDFZ0koJM`%cG!NK|IqVXMxLE}`a9i19#w3smcfA)CmjTC zhL_y5?wld8k}kFl2t$AW_XqaCOwuqDr2VO2!_61<4~vx&88o0xga-gXzWzE?x)EECSqY2pRto!-1ylOeuNV>N7Z)c<=x1vQ73nJfmuO7?y_F-r(!^pZq7I&Gs{vviUT)dA0HXKv&w8 zhFemDy8hiiBaLLYoamjhD_We=!gee?-|?;2|Hj@WLv%TChd80WRg;RK>FVAAF4a(` zG!Su>*9JRuId26t*Exn>&u+dqL&zCX;{F>R*!)~d+Il=#duabv@qle5mdtetmSEcp zn|k4q+V10FQ)B9;H&<%~xcec!H)0HDQ`V}|;D(LXnuWRQkb&2|6IXxzJUmOgq@2os zeE*8?!;J*&??`*_w&83$HiB~(?)5gQuQpp}IV)@2Z`+hyfSd3ufK}RG;P;%iXeu_^uMP%X8t>R2 zjrZ3s%B>pRFSz^R^H)X1vPpT;OaC~4(U?WJpFBSJCJ?;G>Tixt7~Qvg9KZivEM_u5|c^L{PjI2A`A__HjRnw z2nyCbecjs`km(IOC!E~060Ue;gEr*3wa=E|_q8v75HxvE=cR(DH+gR!y!q^Li44F& zE^Z4p{CVdWBRSzxrMp9=X=~K0$EACL$44lSa0EG5k4YW{otKF z-Z?9BE82>8)?W4pgydTp_DYaCcAt$Re7jXb0*d6pt?cy*Zo2BuzDzj$Q^s?7xH<8{ z7nj=(Lzi*WPbhavKL1681$AdA(lBW@?d5ad!wC8(GrBr>sA|VE2~7O$kuxe4GnTU+ z-EBnTaWu%^8Qsv>538WV1% z^-o$HgxMd|eCF8^N!l&V>VoEH)+h;Ybu=!k47uRPu;JmYs7T=@LI&J4?x`K(qTNXWf*X{v(0$ZlZX{c_{i=w}NK zOgv!_sg>BE%T8?ESm4FCVdqJd9PoMEhn+;R1<*dd?)3Q{9ZSO>4= zuiH}27w>Ro60Wn^vg(lsd`%s;E^t!aJ+C41$u;_NO8YrO&rg=W1HE?k$dBjI>l_m< z;VOf>W_x&%iV^LZfQj+g1XQOo7>Vn0VjB z#QQcT-ghzax@PfPnR<_0R)~prWK6nzJDg9xemh5W!!JE|f_Jv?mdR3|`Csc(_;?~q z`wY+eRA|4y9ux0hS@7=hWj4kbZ~x4LXJZV!C$r#Lf4u7Nf%i%tJhLeu3h%H`%Gu={ z#rtOrybo00l`-)iii!7JOuQFk;vE`8F7Jqs#WCsw@6(ugO)==cq59s8f%ls5wunI& zy!&I;w{^_=$W!ylHZDzHUKL%kYlzbpg_wAo$Hdz! zCf?pL@s5vy_lo#EGKT!XJ30p5%fdT6Cf=hl+DCoAWvS2XuK7sp^HW*sGd%N=;60rO z&wM0!|Ca~Pd?a|!WWl@3ms!k5{P%1YJZs-i{@x|R`#A>Q#lrg~3*Ozn%wkC5$>*}* znP2$L-$TT_pMy`f@fO9qH74F|G4XDXiFZd#yuZf8yE7&p%cguflZ*9vXL!~}o#9y@ zb%tj#LuYuVYn|c!Ev8)V&4OpoTI@v}_IwsR<84_Vd!eTn$G~IW^L9+UA7bK#Yvnom z*V+f&^JCVxVwQL^lV9q)E=GOWm$zc#jn0B+eQvS(rK)eaEbYt0yGVFlvf#a~@^CQt zKbCMMtF~<~SIE15>_d}$v#hA?T2-~Hs|`UXTl%{GB^+W$yZ4B%jMc1n_@htvchdA+ zN&CM>KOeoDJ(6d+t%85}^1doL&7c4NaejLCa6Wn``?_9_@J7*o{$UdHxA^l@7Z*{|J!{jn?+fQI*LXiKLhn&8&tH}T zy@z~Vnf(1ZLeKbn=!fF*cTt3%$zZ=93#WH>4*nKpq4&*Fr1yR#o*u! zl%ERc&xc+?CcR@L^!oYp{eLYUJ&PycZ%;4V(~3yX;t5E#dU<~M+tTIlao>kjZ#D&b zy9xO0o3LozUFZ6nFaC`7-(wMa5BbWX^e$M+^sK$`_i%*XbcpKndJ*YayacI(Lux^= z)3Qrfo_~+X({j(y`=6(G<5H&Qs|}~z7N14=yR^&FO>>Y`k|{u6Xn;K7-x~ zOgi-`DIz_K&!88+5k$u)yA_W=i_f5Ug@Did>lcrn#b?mlj*a8`9KS*F=vjOQy|;a0 z?bfY}N6+Fj=$U?=wnOpgS$qaPvo8-9k={8F(uc#j;hFgCRXqMI9)#X7zrpE=BGR*X zFe=Yw`WBBriwB{X^zuwCMS4GZ-$2!H!Ja8-kuUhbv-R3ip!c-znKW51DT?v!80(oxg$sAu%IK7`$AD?XWFk{d=(c81D#uQF(ZInWv zZ1kuddiVG~-f?1a>9O+`dNvLFsIqW++2jcg`p?G0JTK38_9+g%RXjc8&)oW+RmGvl z4r=(zq&G8smxOM1@{y{y<-s#iv&ob3o^3qLJ*YVR8NJN$aL&Pn)5|sB zy?pXSPuq>Z!wRRDjX&&XwEt|pe{^JV>1E3EvZD*9mrb7CJbyOcSMg+SIdSRH`yn!B zn5DC)*yv4yQGM<^t#EpKQ>i}L=$SuSgRe^Iv)Xxu)0>}%9&Q2sd>z92Y<79!^h`gq z@yB;sp!XL~=7%c^r#bG-kX ze0SmW*3Y6ZM$h!~eoyb?`-)4CX*)7K*3-M{;lk-<>p$ZUzYD$Dp5Atk7ndG>33{ja zwBUJ97MC7=A}Y_#pDQjs>^Ah4_4f1HmkOt6{vq3VFnc!5%kzdei%SnRfxk*mZ{_!j zOAj*8JIm{5)rW=C%Qqg(ewKSOUoS44UOxK*Z@`6Ko`b(CoL)Zu$ZbRKJ@5Zs_^!D0 zaO=?9+4Fb%kA>6AHXi7=sDD`7llkv&h11LCkBlDkB=~#5^SA7Be&DMt-zVREC7XXY zdN$q<_4Hm|sc?GP^d;00`9)kK=fgai3Ec{(myJK8XZ~-I=kKKT3a2+Ei+?wI)_)6p zzF>z<3a6J%UyPplTjTG>?uFCK$DjGz2fY0pw^ecJnZGsuR@uI|^vvHHe}CyyTzYHx z@vy+lvwmRV^z!KoU+zVBUib7q8(KKMeEPz7j-hwH9}kc1S~$IY{PC@D=)LXf?O#$j zy?p$c{j~YtP8EgI%V$4r{`b1)Z|(5SUShbDPd@)JB#%Ag>*}GtczU0YDV)E2^w!Iu z_jvePyH1$X?LW%j`ktQImrE-P=P#eW@X`w8dAA>b!}lqiUOsv93l-7+`|*I{(%UG5 z-V4)1B&|p+UThT5@jr z&&^YX)5~YiHuLm;@tb7c3g2L=!cIQ<#(TDWo$=RQ^>W_D=LcU~P&j}2==JpU?)Ucd zt&<9;mrtIXdwK_Z`|{^g3#XTDzG?E@!qeNz%X6i(3a6J(o?B+fv(Lqa)5|B%tvo%8 z2S2~8aC-Ut!`7ajjlUbNDx6+E{0!pu9h2uKHx*7VpFFqo^o}+Ad28YH z^7-5CJw01bopx8@^zzy3UY?%Wm)GtsoL)YCA^Q>SzjGceoL;{Eqju=o`orW$3#XTl zKWG8A{xIaJ!s+FUCoF$v@n`Tt;q>y!)ADDtygyp>YT@*<@dsbg{F%+iR(i8=dfE7c zFX-9&iqZS{?c&fQ&lBZuQ%~mce-}>x4@n`Yi`=1m}FPnWadZ-EG;c#z1cldAN z^sAwXO#AX~_}fQfxRX!5@t04YW?yVs z?CJ2e^PLdW?R@m?djQe(TkF3L_GL(MGh={e8sm4I{D-q583h) z#-G`<@F%B46!i9&)e%O>k6lrZ#{*Q;4}U(aaQ^a*2aA`?zWlPVaC+J7 z3*#W0{rvTq!s%tx7o%tP)AlcIbV}j$vh|4fxeDch+FTuIRrDyiV;=yAt zC@wv-FE;*my`*q@`TEbspUqd!yrMYtSm$Rvn0^lN^S{@^A22G+zP#-pkH&*W&-Am> z)9ZFqarra*d8GG8wYL^dFB^aCV~EPr@;(2#qi}lJ@=NSvh}yG@Jbw@0T{yjL`f2n` zUyR=V_Z63(jrU_be?LB0TzWR%Z}R$i_}>esm(6~%FC^N3rZ3w)Q8+!*m+ut>_@NjO zPw=jELJcTbes_hZ3#WIvC-Pl{9^&Jj>qhTlFVE|rFPxsqGaEhAPm6a)yi#0xrk}>& z({B`q9^qJ2p7VTsR`*Wf^z5C0QF$6YZSbqM6jSHujt^de_M91F= z-d<1bQ5<^YL8A1`UcbF%ap>XyqV$Zvn(c~1k9kp)p7HnTj>Vxzd={m5yYIiI{!5SE zw=xPM6Mm2=n=yln%IP}oZD82B<;#GF_e#N1Oe~8k%*y~H5>4np?@g5xy_=hMx z+b{KhGmAqH`x2#R{7sr&TzZ-M`QPTk>DhSrI$~eYmycvz^goOz=6L^b#=OGmSv--A zo{jfwy?^L>cyZ~OJdNJXM=m{jUq$4J{ros0&+ZV`XV0Swr)T3KN{{iEjo#d2i$jm` zmyOf0~dZwRIdYG>$y@S1eu6}yq^e$(R=@X@gzC`KS z*ZvlqSvb8Bel8NFhd+waJJIuZ-k%GnmyJJajnZ4>$3ypv3a58v7J0I6l#SjamllT} z>47M{>wTMQuPB_}8>*X6wEr0IQF=f7@vz!eh0|Nh*A=D5c+W;}#p{bhkNHEC-hX_X zy4+kGdieJ!J(K50w-<*V-`kAR+sX6y@4E}9XX}m8{$qV5O3!|~V3YfcLyz^2C_NkR z?>|sDy=>#1`E8V*`G?~kDV$z5|3H2|O3(Ov`|-l*W#fnS z+3zQ<^i1LOZ2joJ8UB5-Y^KF$Bm8)H`Psth*?9OOLJybtspwh!xuuuq#xE64?_$-> zCmTKEZy!%@_^XA}`M9{24vtZx_$sL;orcJ?u67Wzzfg-K9tG z^9+6Aw`=u3oF8@d>m9@1FPz>nzW<{1kY_e}!#^z!J>(gsXRo!{CyW%A_J=Dx1O#4_Ve?VWmhXMJ(K5do?cbA!s*TQ9UA2if0T{C zOV%u$p6N?Add8pS=YLwexb$qi8@*lED=t0shOuw@a?}RJrAOWXddA<|8x@xxZYauM z&rOR%kNIX)KU@5GIHG%T>6w07|9#!FIP{p`X5(+%mc^x)$=@Se7nfe<_}g^5;?lG6 zXX9b|4#lO19gU8^t9L98J^XDpeOcV6xb#e4Or8hyFD^aP7aQ-31{Rl|>5I`@cSv#R zW!meLh835d*=y^+XLc?wJ!+4Rhc$OA4n5`%(eYsRdg}0{M{jW?9%P*VHxdutMu9%J zl@?C#F9ezTMCsxGplAANuWhXzRUCTwqbPqyZ^wznp@%(-(ldGfuxD}Tp)XN-#^3b^ z6o(%9)+oJmyuP#~3#WHR7JXrU6s30&ilfhp^@Y>3_j!C084rx{FC*h&4-&rmT-8)K zy<=Qe!N(DL*v+pZ^t$0F^!a>Y;q)wDmyMqJBcu20F~y~4MKsl}lOUr~LT>FMo$M&a}Z`0*Fj7o%tK(yyH8bIsX>)3foHjh^Y}Y|r17 z=M_#bAAhEwT|K=uE-aj0KK`&XfXQ?HONvX6+M(CQ^S93Bh10Y3hiLyX4x;*L<8Om2 z3#XUOo*6yUPouZ(HN~Na4B^k{+4m`jUSBx9Z2DsK?E75H`TiSrQ*r4Lr$zO1w_A!! zk2no_#^27j7ndG!8uYCHhTmCSdcAhr-`a-v1r(SmE@t*)wQhU+jIxHXi0ZQCxbc3AD|A9{yBu>Dl{?jlVxV zQ#ieR_S4>H+#iRb&za8`PA^~ottT4Dv#%e2kG)nny?p%H`;1rj%W&VlSvb9X{Mq}A z&3-QTLE-fB@n`QdHhRl{TwHn^`TkqO_g~jf3#XS)o|Zqe@v#0Eh11I?Pn#e8;O*Ha zUlmR-AAgziqjkP1EVCeDQXM(h-?PofjGo22=8qmz8Jk%mM<pz>1eYj%b^s>#z zh^w>p-{MsYr z;@K?=r?-BVe4WuV`(pX5FSjY2UN-(12T}br|M30xh11KXpGJ?`qxyM3@51S2(@&$9 zsV@!v3a6J(o~AE09u684srF@8kY=B`tV8udwotEUO2st{CLks&-i=Y)9W>&aC#=sZ1gN&@R+B! z{Mh2qLxxd#-tXx>HL1AtOrF1adME5vI6WJGQF$7FCeOcmddD45IK6EBXY_2n!}@Qh z+Tze7zK-@^Uj_)D0}H2@O`b;2`p@X~Z7L2u;?F35eLR2D=M-+xO|J1_iWz$dN&*BNw&(^bxLy!0++JB~> zS6@(Ede(o&-z%3DhaUbt%Afg%uGbV!FPnZEJ>&0lKOP>vap}?fPb8iYd%^GC??dxZ zub;QxmZryTj{rt@6|Yw3I)!Rd|dFEU_)K^(eWceFF`-S$AW(d#t8Zf{wu(a zj1%s70Wsk7x-O?oFkUc0u!mr*V1(cYL51K)!6?B5J+rZZc>FuTCOZE~$Nqwqb&gD4 z6-*Xvs_V@JlXPAwctWtJ;O~MpReqR`dkOmL{7W611ak%bbls}sd_l8dj$j|b-hx`e zzJiIu=`Yw(u!CTbV6cF3wz*&nL3hDa;cltpR)VC?x7KkR!Tvh`o1l-*57M!Rj`MV! zCFrU10Xps{_)0KY*Oh`v0@`0Ect%hqs1{5Y)Cgt>W(p1$93XgBaG>C?g4u$4!M%cQ zRnJ{IZl~itI`-1BLC1pycME#!I;CTapi%IgV4%vF!``9uDS|r%(*)bA>`)#5DL6!c zj=m;1!k@pc^%BJf-uK1iR?`Pdc6=I9+g>;6=fyg5Lzo z=>G3I(%6JxH^CrXo*}qjaI#=`mF+56Rj|FT|0Ot6u&=K76I`J4^8}v@1`9qB>?jx_ z_*&3KIC~5B5mX4yR@rbJmlc!=9@h0R!D7LMg1-pP5-g{C7wdSApj_uebzEM@u7Znn z{(#_oL5Z$Q1%KB0xq=mRzM^0?0kU~paEV}lT^}HLTIZJvM(BK`;0v8UBIqr+T(Fbi zQ^6I2%LM-?7%jY=bzDiuD|LKOut+dU*Lw(77c8smcLd#ZzKf1s1n&y25?mv=T7a&+ zC%9Iyis0XZF~WaH#~TG>b^bpc*U+&_FimisuCEu|AmI7`2yPPSR`9+*e&CPj8XxX$ zAOQbY*-hj?*(Q-A_qgWB$F4VXm*HP{>M6Khb(|moXLEn8L&)Qn{+fHwc$}?#nGWH{ z>fTmYoNwok;Z6NPR=otD3Hk{>7Ep#Bp;x9Kl+jQ0nf23hI`1QROz>X;ZN)Z&+c$E} zJ<6yb9OzZ}vi>@b_T|`D>ck#lGwXagHi~k_;xPioBlR#oDQDcADq!qT&RC+HF@Y{J z7AQyWX$RxOuDJ&;I*z`h-`qp*!G(XWkq6_4GWe$qd0Zyod2|%rzEZ$F^cGz75xt}g z9qlUkP3ODnxSQZn!R>(f?pyi6;MBQ za!whvt*lJf__$FzKB;o}C>K007$^8qFkZm(^w)L5p$|t2pfSRijnxsHJtEgUPZ_v8 z$MdFJ(1SKU^eNo~4;}c20DZv!)0Qy;^pbMqV9!I3I-w6uo`)W7r_EMI+rgXQ@6l$? zDKow%>iTg3^%G}6caq>$!4m?;aHWovb3WOZo4=<{?o%hvEiXXEQ*`{N0N-_o0G~!X zrwY*REd}^##^jy?d@lF*^7qZpQ~%z+41W*KKK|Nb0C4v8W!;6t^?rg`g0BQz?=OHZ z@c`Ec2&x5*0@_d|m@eSnGy%Fs+qnjBrhsR-1`qrif6bAy83Ni@D}dJK0%8-MN%}H) z<{Dg{qh78#QdaG+X*=T|KDf{M00HIn#ess^f_lMOYU^Khg!Vy#YjsVm^EaLIEI8oX zSmHUm=9vZo&k&p3qjR1?F7V5^0H;YXS3n)qOWDDK%;%a_2JggZ;G{eban9X3r>rHT z40^2so+HKsXO6$N7>+XNe<`3X)~e* ztlg&$yQYpa1cq<)&Quw(9)8T?E$Ti?u$;<>xp?+$0d)=2@jUJc&JkQ77%B+uyKpH# zR{*ZXYk$@?b?_YJ)U{Xuo%03A-~k<%7l8X00rgT3e)1w6d7d)vLzh?)S{DjF7w`;Y zhkC)~8QKLtbwlf70Xz{y^6Vu7;znXTVm)F$p1oA?e}bI_#FCU3F$-GLDp8 zrsJmq$`%RWhdLkBIdrZNd?BDt+Gw~}>KYovp5W5Ps|42wt`;8GSNm%lkK6-?a&VT> z@mj%q0_a~SAilg_NA6R`IpsG9%tmo;IJEIb0lZApvlgpT_f3NT2xtp3M&8JjXKoho z%r`oIEBH_Vy;}rUeyh&Gqr^%dFs7G04{U4DLU^e z_^U5FP{(@(cM0whU<;}1P65wM(~)PG<53rQly9eN>HwE#D8r^w)*_&s`Y3PEk#g)Z z<$n`Uevpn$f_Vb!rX7?sHwB-v`+OPp0y{z(V-UQPb!2Q(hOSb^xVXrdp&OK;TUQF8 z{g428GROG0&gnP$=wShKFUADdj|glo#P#0=^ec1z<#n`ptwiUg0^~hhz`e%=&kOnp zeijgWf2Sk$JT90hAim@JAA&K0(E|7&mU%+QNrK4&+HC&d5SpC7O0QU`F z_NI>H55Rp(z+9jE{}NF4wtzV<{JkR}-rq$>aNZSw^PT`Z0B`>mOw-MWbY#BC{r?CU z%RKYGKYpMi`0xTxjOSYg(D_I}e}AtdI3Ejo2}TO&XK+5@D4Z^U&KC=I6r3lxP(azI zg5HA51y=~V3O*Bz*E8b;)U~mWUmgDp>yh{@9A^;pZXpVP(S7W z6`-qq1y(=p{8G?Q&(GD7Hhm@7Pe3kel7MHw77P{)5g2W7|0h6}H|mHiDWl&_UbpC+ zvTq}0$dEF|%3}iN8$antTaYKRrF~rgAoyAEqkv~PQdTY)Cjf_Msf+n5IN+nZ;88#A zXS|@d#|W6W9(cM|4C-I7hbN;fI$OoTc-N1?NyEpp00A`&|Xp1s%@0cY)5iCbr<& zbNw|woqD*27wiE#GFrzgb;Qp6pKKBzWH(CJ&kK+xI%oHg)dF2(3y>Z5I(i>oPgEIp z0p3s6FOS@ z1=#;qT^}ZxFW5`aEZ9e|x1d(AuVAVmDVQVJUob#`O<+Dh+@IrPZ};cx_;TcoU%pL8 z!y|{VtFF0+UXRxCJAcjmcB0Oy8{V)Vj7Rjnui!BO&oS0N(-Azb8UN91^t`{y(R*;1 z3s3gvoB4B|>#lS7vwC{ydS2wZr>>1x@R=_n6T{yk<9bV7BP;HA5p3nJk)1uWwaSpA z;cVltkt<~Ye*a#7PJD5fKi^*Gcj}zB?4Wb{%j)f=>jqsPEI@WU>e~91J~q7GDo^RU zML<2wLl27FM=#J1YYTP{`v)#_FY2^=#8G$nYw`zEbPnIlElrn08>Z_8{+ziR=d=U+G*Cxu7T5UolXS%H@Emg{#u)doPlI&CW^r%#$i2`u z=$diHy%HT6dz_d0bLuG5`NO`P>vCNW)$z{)t}Aqn&*3?)N9g)e9T}&TF*jh`a*tT* z5ns-|QIUJtnw?cj=F6yW zqRRg6uffBYeWfG#_%_Zfb+kG-r+iP9Q$`)c9dGK$JezBdlr7LX*Tf=k>BxMRYmSuB zKhVKPf32g*4<4}bR)*b&7O=0*_Y+VLN3Q8Fu8D8n){*%b*BmKB?$8NspRTXdIdx$p zr|J6NI{r`akicZC)9?cxAL{Gu1MW(KlKR$UQ*&KIORy$a6RO5HB^%0`>*gdY8^=~R z1qUV);hJX~-iTyFvbnk?SzB6Pol1q@59{z$RcSCs&%Jsp(sAw2Ui${R+k0|Nb6rzQ z@A8J3bq&cK+Xy++FNC&|Qjwk6*gT&)9bs#HY2)ms#)f1=ODYsrpJ1Knb7jd?NTRM0 zi=(yEb~o!%P4(6D$5qcxhBw!W-lR0uR9)k4tropCp}J*O4w<#XtDN7I41bNSWJ2ZM z6UwW`H8#(#t`EPp5K6G3zItXVT;d)uVBnAeLkETD6?G+L)h*S*r0ajxlr|Cmo2{e- zXM?36uEhOavF&Poe>OttxJJ3aQTkh|wB8)00uPoMrL%7`22oB(;a#iJCCmDfHT*H5zBW0e&#Wa=#KjE# z>!HwcittQkb|1BNPcNCY?D;8@Rg+|kqz+b1xyqOGRIJrRl*n;7i|U;z3QbBkA0#@pI!{Pv9gU^M%Y;bn zWs>rA=_1-_yyUuX^z-wwp>J&;Ej83iO7vi>LbnQyi&>!*XK0dD9!he$v}d|nGh4hS zWHOfypVrP%;;KX~NQnl0m8*Q^r9{`{2i?iyXr_R1(kMB=UuXAC3-Zf%HQ(CukivA? zAI8a^;?dcnG@bnQRQP)OC=8gccA^J1?poAe6Vz^O)^yoAtlGg^s)84IViYg}`h??u znx1p^pd|z6Kw&k8y*(x93@af+?)pD}yG=@CRd=mgGFw(CZO2xRRfkyzEVZ+U-InON z@gZOIskPOP*~hnWHbI)vp!Pa>M%%q+Ec#{%S|oqxac1ecwPHPM<8qvOutiH$J+k&y z4=t49$qo#0W~lEIiUyXXUmDaaNzq_T&k8jKIjs|`4)Y`1YUw`_tQ+eY(}xn#t<`8i zzEjkG*RSivs>AdFEk>i#-ok7~x@5^bnvMBNwX7x_Y1#cpuKOFrYQO14QhEs;XHTui z^XsPdjLEErqM8}fuX*~*c<-TUc%7uuqAR?_MzLCC`rO`TIC~JSF`3S&f2tPgKp;~oDM3&H|#5gsYrqoE%L?{VuN{sWI^?_MRA}6fq z^iW&VKCpYN+N{6Z#|b@RJ!>*yyf`b4BsimAu=pmYgf{iW;myWrevhA~m(b>*IQ5zi zjZ*8(>zD?O4@Y`USf0>E(Kz*)r6>(0UmM!MN?D3SRZBt}PM4$(yf1#&^`BXrt$ZDY zS`E{(sT#|0o{relC0lo(WnN}XXuYw2tzisSr?UpNG(BqeP@Q=6I%y%6{$TM!jAVXv znxeJ2dWsoM8aF*($$od64lVj)vjDT1$hbw?XfdSg`*eJh>;ASK+F=o1$N5?!Fwc)q zPxES#kj+4B#BD1X5!1{FJrrJwe}(q9%@U{^--(^gR<^yTXVxTpv|-wVMX%L{l7u!a zFP(Op9MiJ~)0l)N-Ht}Kd%a?{+v1EdO4yntrpaf{kvy(vx$pFj#gAFf3S|{aH4_=E1o8--^%oyQbT&|9G?ngC_s-j~$CE(rt&614I2wX(p3h8>fZ+G+(t3@Kg%52sV#Nb3m+eh0)pSA*~ z3(>pLnd-2m)C$wc5wf>rNG61S-eri=J|sO}JHy+_x6A6y?i(vSR$*C>Qbo$s)ME0v zjk4E7C`gg0!OiV^%g%R(gKtY{k!R_QE%W*=6G;Tov1Aud%d)*e!g9MNwF&BtR`JDO z<|vu-_+6J$Yb{oV!c6I5$1GOo7`yqlSlhGrxOs8ns`fdF-D5p(QkaWb+AEnjE$ zm_>)t$R(}0m6}WALGZcL!gT{TpRqLpv*S^`9?~S{-mEfU6G~#W)n;PRc1)AMNYi)q zk(qJxiqcs1S|l@2T0KDauR_N%#V>tz-ZwlOARketXlAIc`|IuyU6%;2pYVt2dYI1f zz-T=G^7om|8*+K!C`W1ETkh-bsNH61+iP1wZE~&Y_=H8X_*%4vxw6eaM&x|T>gg+t zJvzlA0vg#V7E&A4DHd_Z=uWYS2F7%Xg|{EuDHi^CT&Gz0%JH3I;n^m1iiPKym=mju zztc||n9z2)Ts@n{L;jOv;L!t>G4SYvDKYTqg{d*{=!ZQ$UjFg2w#Q<|$GktK5f{zj zwa?(~6|2s5JXU*K!dk&>{WEWz9u<4Xs?{t>U$wBmtV3C7KL+XVK#j%<{T-nhPlfCV zv!TAS9s^`Y%7j}M+LC_qN!Xo)HjKovB^!ShsnCYD z3U|L)Eiper9(A^SUP9Zaa_OjLJNt(5YeHY{$c1UMpXmBeRjl?{PcR1^Dw&o_vcvSR zOg+$7)*C4g77W$(5ZxUb_QfC_O9aEzBPIIB7@8J~p7|y+!o(JxXNId|)oZ%nUQdw+ zQJG~{9o2-c<7kb^W`LwIKs@5phKOfo?1MrL9Hdg@P@-$*_7z@7D}*~xavPv~$fhP1 zJ9j^36IU6P4M68eqV-vW`Z!6l*ker6$r3ZyR+s%+D9io3W zbLu4?chyyI@z!5*Kre=Ai*2qMQZg3TYk929zRI?CI>Y0dC;y}CF_!IP6{l4G3tgP9 z9(B2R#`P>wGAccl0XIyd3r20{65iZnb<8#rO`w-Vf~J`x)sm$CF_WlJj7ct*yd4o^ zB5Y0P6fIVUp9Y^Zo)}VcIoyQk#c8?C{i5}dyKy^L5^7VNT5Nt9ttCCbJm?SCk9 z*}Nqxt8~0E$JcF|k&ZWP7UKHbo{sGV&#|~HP`^Vv!tWu1W(;0ls(J1g2!S6 zU`gH1%@boi+rwkU)f+|^E6|KCbj##)lCP(u##;`wTrG3E_sol&-03qmLooRz^p$a^ z1NkLl`ZqIdAMr&(U-ZhQJPC4{)_IUJSSG2rittY=oe}n zk!iW28*(({zwrL#*NK5#EWpkJG_)+lKx6xh*156hb+n=b+N@>Nikb!Bn9c~aFU=Ku zoabB8v4?F8r{$Jy59;|jpHJJFbX5B1SbT5pu`+cc+kR-gb?()^guY4|$Ho}1`L*Q2 zC8~?a9q)|aP4C@vmLs9B{l{sSXep3EM9*cI@dT{G zvPME5K@Upw5w%i(iS95Lc4L6Da+M_X%9l7YTgPKzW5^iQi5|J0mK;*MCRVK`HRk7J zoskl~%6bEQkY%UmS&e`X7m=amtSYl+1ULA%Yh%$ft4sDZy{jQ}@9uT6>M|{ApQFmm zU^_|)y%Z;oluaJ!Hv0fs0mELoQAe*53Ant5TW?3t&;jC5#voRVk#IvSdL8{e8jGwM ziS1`i)}|%(_cz9BiS>*{PeipHcU9jMt1gowlE7xd3;PqyvSXdd`nent+~Unj^q0}W z=%j?m_b*FC&pkz5=rf*>ac;XK&|hpCrL1GpChQhgmc5|#+RaNu502Ou>elMY!*jeg zqX>)4&J47qTzJ?{w@U*H;r4DM^h%{A(MmWV&cycs$Q0@WLu%xrpv`J7cFk-bM@oi? z)~!oK57{y1u>`~#M7qqi=)YkhS4fnx!B}C2=Au>Xhx0$TEfGCxqGwq1gabS*+JihD zr&vtdLR{oDiWcFGhUiX0uew+gc|w8y84z-W?C2q^9`vx-)J<&S{2x&mI*RPwn&KTx zL=P{{+9fqJi$IplX|XEU7U;RrfQE3zP8~EA%R>MCb&2TV>F71$2Pje#v4XSm=qGxC zy+Lak0YqwWhkgzgtvi>99<^b)&=`6MyT~ZRFS^(i8H0gL@w;xsx=0q^d)E@tBd^Se zKu_`e&}04&fAkq+fDy<{jX0AriIgd!9}{{t*plc=nVvdiGQa7V$5!T;g)o1qDwF{e!CJ=#O8ITF_ zHe(u1L|4e$BRhOQ9uRHBKHj@T^ynEUaaIRhO)jb=_Ms=BPftM!D#W;MHv=>3gkG<< zB>jUGN7BqM7}szJZ+K?L5OE9EnEfr-6UIH%@c~$zgkIeihhDb+*;D>_uE(p5^OU!7Ytnq@ zHlden#NpcVswJ9zyZLug&pjOLSzFa;AFGiuWw$juT%FX&l$9u^<=gkHyQfP_L#=nK z7;gUWvZrpp`XjMgVRA;ph+y$0$QRp$6-FanHiy{^mXQ(eW~0RS$e*#3(Cb;^NUURY z$EdP@>F5rc=~CO@VXfm%?)@E)#%jsx9?Pw*xHV>Wqmm(ae-nC*ljEtQ?pW_-W@jqG zoG8}Fy+%3PCrJQfdIc&z-bXul?vo8~`qa%hJWBKG`>+rzpSDpxS!q-aq|)qm+Fe!?YDmbx}07%B_au!`$4=SxaI+qFAgs zmJMHob#t@wCu7k|&oKG^snZJAUp@3wAEP7-Rur*usqhbnZgjR6 zk3)<@*2=|n#0JDHr8+VmvD{>Vo{mK?ZJXJbF}H1(H{S<{@|4gkC3E$kSvq)5@B4lx z7JVCOHjj#GfPFXh*;qB1=h-@u>K2{BDc`RhzQG-S(b|D|%8fwoAv1&9K5a$t#5Kp0PpCcXtJg7 z%dCMon%JEyXR%+5MbE~7vy*5~x!P>sBSh=Dl4oz|8?mT%j2$dOaPffcLTMjSSnR-z&hT@`4sXV4iCK;GTLZH9 z-dnM1vo#|2(zU{GI%fP{(!Ys0OF0 zW=3Q0#cKWLvDy%i;=glpYHQBy2DV-PL{&D*5_$o099gg8vG$PFVFtv`mMMxxk#<5a zPL5ND=?9h)uZzcJ{R7L0{lO1mADQQ3m#{?4Yl+ABCOI~#Ty0MTA1o0)x0jB&3Hc{1 zGya{d12)>lNZ4<3H|)KmeT@C|s?3M6=&kFqEH|Gm{%!xhn2%!BYjVRole47lF4BVo zCpShH(qleLq(~;kt!pyta=EaCURE8apUmqRAML%2d*2L^AR5)G8b66ut8qc5fV>&K z&ior+=_~?$Kz`7*o<4GK8-PpZm&76DxE9BvXI8hf)_)qSwzWN$$t3@(_h+%{j7o$! z0WIgd2Dg_V+YN1^DV|3Z6}^2pHFPTtc3B*+$5nFy2jDR?K~DSC3eewgK?s+TGVpO6^#h* zy6>4pJuUGgZ#r;KG6zfZ`(-Tp#;?ody9gOugnfcXXR{b(_%eElF-X1+-pQz0_U|iC z&vDJHb;Y(4n=?hdbNW33(eHMpzkgsBCw;ev_5)}7Z^J)Aw3hMoOc!$DCiJpp8$s!( zqGvWD+G~@`+jZP6^tGp(zfNmaR0h%a_ayX6+c+9yJ%)9`&SN=UUK8uWtjDb%*vdTK zg}EU!X_t+*9{VO1y(N>yx4zDfaf$IiF3j`v&%rdf|SqR;4+bu9zVkM?c1DpT&C7j6N&*>{4k_4L`-I#q@%H z$G>1{-OQL-8ES2#bwjgKQl!2z)(uE+<5cL3>$eCqqOu2yf+KpW7RG^V=}Ho9=_mT{=!<&6XOzT_dGsJZI^* z){*l=Hv&?a?C3VS<>CeEbhXB#hrXhi_@sH_Va(!kNIQ`ABs2}_PvoBxI>l@$M z#ICcRl#UB+m5JR_$#BL;)W7@^$=lfjq9V6Tg}ER5pWFts_R?X>HD=MRj%2c&#FB!S=_HyEzw{cqB)63q)lh{)H68jR75E_Z^A(mv` z${qvG*}Ko0g|o?SFU3lpUdPyg@yNf-d`GnP(Y^ZEt~s)_WJ!6yb>_NMuIDl{AuGp{ zK%atI7q=~|L?t4`~AQ{$5LCVfM{kVznpaBI-cUgPK8ehab;X-ET+6?8|i4)1l^w#?FA&RzmuUf8JERVRO;-?;Ziz(RM za$;L6z*?hIEOK~jc8bLeaIH?U_7K+Eonnm?);gVHjS|+nonnm^)_R>{Z7!_!JytxQ zO5{f#lwGZ?jiVd%HuFck4YL(89b|d%eRz4YUU+oo{R#cRb*|pDoDJ_vnHkQ6*+rk* zHf@-*rj?%? z@}@hgJ~uYmH-g95RnKh}tDQE7Vy4ZW-^`j4LHAho^b|$@k#{HCPTXYCmCK46|M1AV zmXib43AwoUhtM-UV$o~A0@Lxky|w}q)w1;7To(l}PKM;!z0otLt{Te>cjXF}`mOVa-?#wCuk z`~mSBHlI0`t%A4}Gv+-m8g_F!v?LL1pObg94LgSKAZn7Vc$a%hae9k>>W-e@A?LHk zX%D@Bm>zHc^giL!z5LUi&25$oWyYK0uu;s8oD}VP$0d>&GcLvny5VM(mRDfJ5CJoj za63uyn9P9PJARziNXU1^>7n)(%6&UHZH?0V%Ul%a?nEtA6gStm1^eWbzpckkP=Arv zAli2Cl4AEqx+f{eXOK7OpGcH< zOLmNWgWFlb3ZTm&5ibxyv3`J!bQsu6m$!8>(tstRhlSy3w|2&=KNbplZl5TlkvN77 z1hI*;RQO5eWQ@&$OGpoH;EwzZypYYn8Zz(0Cc1ea=R|^7M7JXcn=x4Q26=iNeS!I_ z9rc8*aX1?=IOj9wC9whNr`*^dvP7J@5s3s{eu}oUN(oO$6iH(L$f+Pr;w#25qnKza zp?kTs+Gh3b*Kyo$qcGoLT#O1w&)#~Mo*N^>mRfC$j-8fTZTqUWonuLMO=0q{J=fN= zEg{G7o6wJ=F3A|fw$d}qJ&3;8YgS#L z;C8E%b;lb*nN>sLf2i2_BMNfgNgxZD2zHA_&*W7pYso(7_Hs-6@kFqDtoqC*;irjD z&||Cs`vlo3MLv*BE8kMW9$~le>gYM%9+@IR-m>fD<@%FcY-j$|<_+nUy=js6TALM4 z-~In?-Or@Vj=Xsqb8b&!QZmBsN8b=ovP4p*$I0co?>8W6moq_@F2{?##p=72R`-1i z=FDz3O~e*QE91AnELMFRs(<ClKBX_Z)^a*hX^Ehk)-i+BY z?>WvTZS&Kvh0z(x=vZwu+mXrPm{?C6hgdLXV62eyojQCm*+()_@al3RZhr%7J>&$y zba59MzOgwuw0UG7^_}}wI^I#A{_PXja(ll3US-#j_H0KV3Oyoqy1UlbCb@n zOwNgGwu)7W7R`!mw&8Z3u(y$KKew|{bjEG$Zyl>ml>nLv< zS-HmKUOAt%p6V^@&F?=ZG#`z_m01M08_#|Z79Zfg6~kYCzl#yKPpleEPDGOK4TR-<;f9ejw9#b@sijj&I8~O>B|XZ2vyN{bF&u zmDg#?B3VJ{LQVvqle6sv1qK@6OrK!-8=z5>2iALFz@}2qbD19 zJ}YJMr-$)ndIVv?qwnB~zTv7WR_(?OI>U?~u3UBj?LaSBcfnFKA7@VxI>X%6?V{kE zG01zu9XB1vmaVI$-*ue`s$;dzo~)IBBA3e^m+3j_SQOE5k62Bo&+vXK`^G3EkoRrJ z=^gW>nOc}DmP^xdzBCz&ibagPp9KrgJfDnMT)&i%^^e2N+FsY9yEOQ|(jk%vQ44Rb zwl?s->^ODy^mP(l;q|fHE|X1+<)SOb4^|!BV%)e~7i%rV^5mO_sFqo==-Es#*KYz? z`_pget@HJE)ZDaJFuC(~T(@eKRErMG`K0Y#ZU3gxgL2~AoC#m;`jx-!zn$;qADPiu zeJrV1FCbmkUhog(*NM*EP9A(FvwA!zF|f#rJs+5zWR}^_m>XD2P`@|{bsU%J(KS<6$i=q2H9Qx-=@a?A z%r*ShSX|lov~N2QnPG|DyU}N8j1XVjuPR6P;m(Owzex@I=XQaSHAZ^w9Tx7LC+v;E zPqW&??9)YU%%PYmx%ZRK%_)WSJfVHtu{6=v<6YAGi09?3&oXl40)}*u>-<=J+c=Fc z&qHF>+gX2&5Qn@e0)ISRYlB2lvm^!HR_?SY|G2dNBD29hJ@QO08YE9gwuyejb`lv9 z0lIIl;LY3!Abvv256dZE8~d5EVZVcGeUG;G_lR(Cc+MIvLSp9uc`*Bz2#$!wb*|pB z_H>lyk+JGEPR%!4e8UXVy|1G-{522WQJ1z!iC{sj+O4n1*|4@utl?r2dXBsVzK&Rg zQAQ?H zTC00n&c<;>h({!Tz_#Nh@le=&GMPx3RTp}Md>i(ReSr8#-Za1)$>Y%5 z;txxSIK4sMl9-=N7c2G0d72&lj*Xx3!sU%OChJ6Se9mWBp>#bM&HV9ALFP2f8`3)7 z@oJprRjeamk4MTz@l9}A*;~)$x|aw}h$Xd++FBOf>DouS9(`+aw0&uQPmD#u#{qC(hSYD!9bdTr^OY7zsZXU}j6j@2u@`gzYC&!|{WJljXAE%o1l~IWJUwgGqjX7D^?B2d^5jI1ZTveXS^_Fe&OZIE9di;nc=rO`6klA;^gd{*y)V0VfTx6;0O)DADkDfO%@Hal2flbqN{d^;QUy1m{t+v zyS%O24Ub=R^GdYIWpT~3vNz6s7mqlc=#qWWe~v}ZzT=o{c4@pYF70{ah zwV?B;C3EiD{ugJU&EC|^?C^!LI5SD+*O2JDBy!QaC?}UTs`eJI7k7%akFYN36pOtu zm&W4I=I)cjh#(opG3oaqkr{S(+^puZSaq7zT&9{VFDtubH`pERvKr2x53Mb4+v_4EDOL~vzJOdIhX zYro1r6K@Vk-hvE28FI2dNQ+VGzDw&?rrbMc$$kn zfwhW(3#8qG$Z%vTT`rq^;WZzJ43s>7C`)CsSmVkUZZh=dIki z^tU5EeSPB+wZF62g&DU+o^IXZrdah`f3Sbk?crpO>+S&j}_~W&f=Gj{M?*VzS&}!j?dqc^LcAAZwA0~cHHgkdiYjfLwa=Dx00rR>BU&R>fJ2RNJ3UT#^#L`(`P7UYZosfpJ?biFVe8+hf&|)&p`QWD?0E zV#C}nWA^c&1GW#5F~~}d+lkIBojq!U)apByh#vlf+_}rZu%n%<3mWETZrmqtMoi;Y zCEUA*T*e&_^VeAP%wpOMbc(#?EXA9=hdPelnta^vW#H|I%*a%@@AA9$x;>(JL-wG# zRRC60S@UA#(B8XZ(X;jSZRNe)Zvv8&q6T^)z5kwh1Z`j*>-OJgda>N^X#0Qcoe8`r zS5@c#Pj*yf2lq}OM3yAo>86*+l60q=H3^V_vb3a=bQb8OlkN_igo!u|%D8}l2r9Cv zxPlw&=rrKIF$ju^436W1xTA~$Ds#X8Q@?kr{&lPB-uhR)e*L;$f2!aA)pF0hXZ@XX zZ{7d9ik{Rx-0ed@`R81EcT%tMgZx`WTgzvdp5u^Bz9*?SLICDF*Y(TrR?O(BB(T1M_u27$XcQ=kI@ZeUmmB-3D7aV;EPv+`J29uo zSdzi7faQ^nt>d(J@X14&cd{7`5CQdC5CL^{@&(p~fC_#!iJqh+?@SKHclK2Gv09n^ zT2gE3J<){hgeYe9WvrKf%#(42XhxmJ-kL%#)TV94I=%n(Bzjd}UH89wn-h8B8CV_b z?@FP^%p!B8*;oHY(UZC-5RNdO@h;~g*M2i;6!H#Dy#KAFR_c;u6=JYBx$?0 z*xDp8i0ue~TupN3HSiVYeL0J*8GhLpB>6iD{G+Ea{{3!JU!8yP5q~hL6?s?NvyIuj zD?(<+oDo$yzM-8xms4z5Gf`D+igfv=*Bj@nevbt&rkU%N*@u$al}zwmwxX9TmsvBz zgP=KTQp8MZ2DXD3D|v~Sh8VHKmD%ql(Nnd(DTDJ7ofBwLs}s*Wm-}!*sct<&I?8ZY zW*=$1SG7)$)aZ>m;gxm17Zmwpg~fH+T%<5ZUIHb6Bps!vS|wQ{k;T_Pnv@gckKYt3}j;t%!MExbrWQMt|R;&2kSfFWy{J``$X$ zCEEV0q_)LbTjxe40IflzKz@e&v0nTKUd!Hvp$><>aW^#*eAp)odd)t?ddA8iDoS{M zb|E%-)Sptc(Nol(Y#$YW`csWhD>D**%KTrM{Y~R@vRS8UZ$hoi{CzMCbuyRk z-xW{D#>x@NMvbnV77qT^>k?N4dtv5*(uvc!=lk)9mnK#YtlYMXP{&u@mEZY;T zkZ)|Dx+3cOc;I)t;c1T@{^L7sF1I>U{ zu}v~li<9h-n?g@-lr-f%@zHqB^X~jgq?x&PUDK!+Gm&zhLX5Efx3?u-0R2#@18JiTAX>9WFcOs= zTb~VXB9;^H!MoTi*N9dr^rX-3LoT0ZRGv?jv%K3BZPq2Bc<*W!*TK-G75g154?R6J#os`z*_a?s^FonFYPsPhoqLoDSBk@%Mq2yU~R2F zIjhxtL3~tD$<-`(Wu%s~k*nRYpjVfx;w~u0F!G&}`X;N=im&qM?wr(uMu#3S5;7$u zV_5?lLEXpJO_N996RFne9=s`aB<4y}^iFaS_K)@aOOjer&xw!J3t6$kI%P(HE%V9# z2YXrmN5(_8 OMZ?(tG^OX_^|L}u1!JEb4*LxLNNGVmMq6zEH*zjpYeL`QE;SLj zPlmy0c=ra&z%SWf*xZ*T(UT9nEX4FHL!XZZ{pUR(d=F!=|JfTgr}y;IzG;wpAiby0 zST2%+;k@0LZ+-psJt469C%8d`_M@l>E_Y!MzY(`4%);4d@Y z=LLFqPok$NC(TrJ-5Y!>ySe7@2zxOJVktHoZg1NXH!K4nx>){*P9kTt0zU2u^zNBN z?_S|f{`pE@U&*Yj&a)tDd?}+ir)bsZu8D&BXLHx}SrWcqtbVp>@3?y>^+ZUeDvSFR z&w4f?K2-4{wNSq2k($cQK?>SE!S|kj$}H^((+REY@Y;sIGij?+$v`bzysW@Ewl4OX zc^`b0*L{;lpF65APij?Oh{}X^)wfk|%wVB~%w^fG0%RmqIf=~pDlANUHLT3OqM&Cw zwK5ZqV@Gq-OFWD+imy!Sog~hlR=mAnyPAGg(z6uyTFRktJdUJ)ux?mgT_E)VTpAFf{&ayp{iwW0M*Nv&%%Xb!Wq7U^sz58i{c z$#t2JX1vtQtUAezIyo4za95yrT0yU_U&?m9zr0sL9mw_;I6bMSvaiLr)yiuO%B|in zsa0`z(X*&`O>g1fKdE(b*HAds1TZP+hFEKB%|V^4FDH`NnhatN`#E8|_67|*?;2n0 z+*N%K?v~%SV6WX2{Zh80NLuEn@E*I{*gD5EliJj{$vv=dy>Cq92Lak>+2g|A7h>e_ z#wW?8I<;*%DIc6k~4n7Ib#E6h7*%AM+bdV0- z%jSS~2itg161_G_P`$l5Sd2^J!AWgu4CD*oD-O_$We)t!75tZFLRRy_(($dV$zojx z_Wh6~dhL>^kK(MPR^_{ScY(b5XyC>R0{8Wv{7S(0DS9GqASFDR)s=`Sw(f>Z83d1H z!GvVh$e66x_JXt-1orhcdiH-gntEkdy;Ig-?LGDJoIc}k@wLoOP-{fHuq7HzvXgHPJ$ri) zY(rjvhorto=5DJ}S@U4^STq@}wYr4OyP~06v*WRaGpG8Z=kompl4LeIp~Vo6jOh<)f9c18d3RklviR`=R`xAD`W4!#3z zdssoQu5FsP@Nty!qr9t+mwkw>m3mvM3z4I;7VB83Z?lStwY-l=8nISL)n_+pr@oJ9 zjM5{MD5?6!nk(LIjJ0%rQcIE&9@CfDZ7c_EK zStM_@Q@Oo5+`YT;ZoLCpuR(O5Sqc40u>_5pTAhs?Z-JNLjNv$<05w!9*+eg@Uc?}K zgMi$PTJVKg^sMp+FUb+%BvIRHn(VZWk2PPYll>5ANWtION1^fX$syPchj% zrl8mCTe!En=4d5UZ}YftLf=rjo3Fe4Rh zA~_NTL!up^WOM~=3B8N6=%J6afwtfc&4y?fe}R=Ta`e=2Ip@(9umm&I>~Va=rJNZqj3>`Xfqo4A*;~iz3_-gj@1od zLmMx8$R5Et^b8Y_lfX?@OQJ!@5!?XQ2VIe66PM6vcu5U}3

lD(D&2G9p!6e@ehT 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 literal 771549 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�T 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 n#?Wg#Dzfqi-c9wT#n!%sLj>9VPJkLh|% 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 G{{H~}JX7xg diff --git a/Unreal/CarlaUnreal/Plugins/CarlaTools/Content/OnroadMapGenerator/Blueprints/BP_RoofPropsGenerator.uasset b/Unreal/CarlaUnreal/Plugins/CarlaTools/Content/OnroadMapGenerator/Blueprints/BP_RoofPropsGenerator.uasset index 8e7b889bb193792dddcc6766d5b2d013242c055c..3496e03a1585c6e355cb9152611f079cfceece0b 100644 GIT binary patch literal 377715 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 a$Ts1{jC9%@z{;sG5B)NWK0LK`-2VfvNAC~- diff --git a/Unreal/CarlaUnreal/Plugins/CarlaTools/Content/OnroadMapGenerator/Blueprints/DT_BuildingStyles.uasset b/Unreal/CarlaUnreal/Plugins/CarlaTools/Content/OnroadMapGenerator/Blueprints/DT_BuildingStyles.uasset index eb5c3d0e18fb6550a74ffcc56293fc8874b067ec..486ac083055eeb71b6ef1759e708b087daca52c4 100644 GIT binary patch literal 25576 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 literal 20848 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 V$9QI}HFwt%`9JPNy#x2b{vY*MS)2d> diff --git a/Unreal/CarlaUnreal/Plugins/CarlaTools/Source/CarlaTools/CarlaTools.Build.cs b/Unreal/CarlaUnreal/Plugins/CarlaTools/Source/CarlaTools/CarlaTools.Build.cs index ca054149b4c..673ebfafc99 100644 --- a/Unreal/CarlaUnreal/Plugins/CarlaTools/Source/CarlaTools/CarlaTools.Build.cs +++ b/Unreal/CarlaUnreal/Plugins/CarlaTools/Source/CarlaTools/CarlaTools.Build.cs @@ -112,7 +112,14 @@ public CarlaTools(ReadOnlyTargetRules Target) : // "StreetMapImporting", // "StreetMapRuntime", "Chaos", - "ChaosVehicles" + "ChaosVehicles", + "AssetTools", + "UnrealEd", + "EditorStyle", + "AssetRegistry", + "MeshDescription", + "MeshUtilitiesCommon", + "Projects" }); if (EnableNVIDIAOmniverse) diff --git a/Unreal/CarlaUnreal/Plugins/CarlaTools/Source/CarlaTools/Private/BlueprintLibrary/CarlaToolsFunctionLibrary.cpp b/Unreal/CarlaUnreal/Plugins/CarlaTools/Source/CarlaTools/Private/BlueprintLibrary/CarlaToolsFunctionLibrary.cpp new file mode 100644 index 00000000000..4ee05072261 --- /dev/null +++ b/Unreal/CarlaUnreal/Plugins/CarlaTools/Source/CarlaTools/Private/BlueprintLibrary/CarlaToolsFunctionLibrary.cpp @@ -0,0 +1,302 @@ +// Copyright (c) 2024 Computer Vision Center (CVC) at the Universitat Autonoma +// de Barcelona (UAB). +// +// This work is licensed under the terms of the MIT license. +// For a copy, see . + +#include "BlueprintLibrary/CarlaToolsFunctionLibrary.h" + +#include +#include "AssetRegistry/AssetRegistryModule.h" + +#include "AssetToolsModule.h" +#include "Materials/MaterialInstance.h" +#include "StaticMeshAttributes.h" +#include "RenderingThread.h" +#include "PhysicsEngine/BodySetup.h" +#include "Engine/StaticMeshActor.h" +#include "UObject/SavePackage.h" +#include "Engine/StaticMesh.h" +#include "StaticMeshOperations.h" +#include "Modules/ModuleManager.h" +#include "Misc/PackageName.h" +#include "Misc/Paths.h" + +#if WITH_EDITOR +#include "Editor/EditorEngine.h" +#include "Editor/Transactor.h" +#endif +#include "Components/HierarchicalInstancedStaticMeshComponent.h" +#include + +DEFINE_LOG_CATEGORY(LogCarlaToolsFunctionLibrary); + +void UCarlaToolsFunctionLibrary::SubdivideTriangles(const TArray &InTriangles, int Factor, TArray &OutTriangles) +{ + if (Factor <= 1) + { + OutTriangles = InTriangles; + return; + } + + TArray Working = InTriangles; + + for (int f = 1; f < Factor; ++f) + { + TArray Next; + for (const UCarlaToolsFunctionLibrary::FTriangle &T : Working) + { + FVector3f A = T.V0; + FVector3f B = T.V1; + FVector3f C = T.V2; + + FVector3f AB = (A + B) * 0.5f; + FVector3f BC = (B + C) * 0.5f; + FVector3f CA = (C + A) * 0.5f; + + Next.Add({A, AB, CA}); + Next.Add({AB, B, BC}); + Next.Add({CA, BC, C}); + Next.Add({AB, BC, CA}); + } + Working = Next; + } + + OutTriangles = Working; +} + +void UCarlaToolsFunctionLibrary::ChunkAndSubdivideStaticMesh(UStaticMesh *SourceMesh, FString MeshName, int ChunkSize, FString OutputFolder) +{ + if (!SourceMesh || !SourceMesh->GetRenderData()) + return; + + const FStaticMeshLODResources &LOD = SourceMesh->GetRenderData()->LODResources[0]; + const FPositionVertexBuffer &PositionBuffer = LOD.VertexBuffers.PositionVertexBuffer; + const FIndexArrayView IndexArray = LOD.IndexBuffer.GetArrayView(); + + TArray AllTriangles; + TArray TriangleMaterialIndices; + + // Extract triangles and their material indices + for (int32 SectionIndex = 0; SectionIndex < LOD.Sections.Num(); ++SectionIndex) + { + const FStaticMeshSection &Section = LOD.Sections[SectionIndex]; + for (uint32 i = 0; i < Section.NumTriangles; ++i) + { + int32 Index0 = IndexArray[Section.FirstIndex + i * 3 + 0]; + int32 Index1 = IndexArray[Section.FirstIndex + i * 3 + 1]; + int32 Index2 = IndexArray[Section.FirstIndex + i * 3 + 2]; + + FVector3f V0 = PositionBuffer.VertexPosition(Index0); + FVector3f V1 = PositionBuffer.VertexPosition(Index1); + FVector3f V2 = PositionBuffer.VertexPosition(Index2); + + AllTriangles.Add({V0, V1, V2}); + TriangleMaterialIndices.Add(Section.MaterialIndex); + } + } + + // Group triangles by region and material index + TMap>> RegionMaterialTriangles; + + for (int32 i = 0; i < AllTriangles.Num(); ++i) + { + const auto &T = AllTriangles[i]; + FVector3f Center = (T.V0 + T.V1 + T.V2) / 3.0f; + FIntPoint Region(FMath::FloorToInt(Center.X / ChunkSize), FMath::FloorToInt(Center.Y / ChunkSize)); + int32 MaterialIndex = TriangleMaterialIndices[i]; + + RegionMaterialTriangles.FindOrAdd(Region).FindOrAdd(MaterialIndex).Add(T); + } + + FAssetToolsModule &AssetTools = FModuleManager::LoadModuleChecked("AssetTools"); + int32 ChunkIndex = 0; + + // Process each chunk + for (const auto &RegionPair : RegionMaterialTriangles) + { + if (RegionPair.Value.Num() == 0) + continue; + + FMeshDescription MeshDesc; + FStaticMeshAttributes Attributes(MeshDesc); + Attributes.Register(); + Attributes.GetVertexInstanceNormals(); + Attributes.GetVertexInstanceTangents(); + Attributes.GetVertexInstanceBinormalSigns(); + Attributes.GetVertexInstanceUVs().SetNumChannels(1); + + TMap VertexMap; + TMap PolygonGroups; + + for (const auto &MatPair : RegionPair.Value) + { + int32 MaterialIndex = MatPair.Key; + const auto &Triangles = MatPair.Value; + + FPolygonGroupID PGID = MeshDesc.CreatePolygonGroup(); + PolygonGroups.Add(MaterialIndex, PGID); + + for (const auto &T : Triangles) + { + FVertexID VIDs[3]; + FVector3f Verts[3] = {T.V0, T.V1, T.V2}; + + for (int i = 0; i < 3; ++i) + { + if (!VertexMap.Contains(Verts[i])) + { + FVertexID VID = MeshDesc.CreateVertex(); + Attributes.GetVertexPositions()[VID] = Verts[i]; + VertexMap.Add(Verts[i], VID); + } + VIDs[i] = VertexMap[Verts[i]]; + } + + TArray VInsts; + for (int i = 0; i < 3; ++i) + { + FVertexInstanceID InstanceID = MeshDesc.CreateVertexInstance(VIDs[i]); + VInsts.Add(InstanceID); + Attributes.GetVertexInstanceUVs().Set(InstanceID, 0, FVector2f(Verts[i].X * 0.01f, Verts[i].Y * 0.01f)); + } + + MeshDesc.CreatePolygon(PGID, VInsts); + } + } + + // Compute normals/tangents + FStaticMeshOperations::ComputeTriangleTangentsAndNormals(MeshDesc, 0.0001f); + FStaticMeshOperations::ComputeTangentsAndNormals(MeshDesc, EComputeNTBsFlags::Normals | EComputeNTBsFlags::Tangents); + + // Create and save new mesh + FString AssetName = FString::Printf(TEXT("%s_%d"), *MeshName, ChunkIndex++); + FString PackagePath = OutputFolder + "/" + AssetName; + UPackage *Package = CreatePackage(*PackagePath); + + UStaticMesh *NewMesh = NewObject(Package, *AssetName, RF_Public | RF_Standalone); + NewMesh->InitResources(); + NewMesh->SetNumSourceModels(1); + NewMesh->CreateMeshDescription(0, MoveTemp(MeshDesc)); + NewMesh->CommitMeshDescription(0); + + // Set materials + for (const auto &PG : PolygonGroups) + { + if (SourceMesh->GetStaticMaterials().IsValidIndex(PG.Key)) + { + NewMesh->GetStaticMaterials().Add(SourceMesh->GetStaticMaterials()[PG.Key]); + } + else + { + NewMesh->GetStaticMaterials().Add(FStaticMaterial()); + } + } + + NewMesh->Build(false); + NewMesh->PostEditChange(); + NewMesh->MarkPackageDirty(); + + FAssetRegistryModule::AssetCreated(NewMesh); + FString Filename = FPackageName::LongPackageNameToFilename(PackagePath, TEXT(".uasset")); + UPackage::SavePackage(Package, NewMesh, EObjectFlags::RF_Public | EObjectFlags::RF_Standalone, *Filename); + } +} + +void UCarlaToolsFunctionLibrary::SplitStaticMeshByMaterial(UStaticMesh *SourceMesh, FString BaseName, FString OutputFolder, int SubdivisionFactor) +{ + if (!SourceMesh || !SourceMesh->GetRenderData()) + return; + + const FStaticMeshLODResources &LOD = SourceMesh->GetRenderData()->LODResources[0]; + const FPositionVertexBuffer &PositionBuffer = LOD.VertexBuffers.PositionVertexBuffer; + const FIndexArrayView Indices = LOD.IndexBuffer.GetArrayView(); + + FAssetToolsModule &AssetTools = FModuleManager::LoadModuleChecked("AssetTools"); + + for (int32 SectionIndex = 0; SectionIndex < LOD.Sections.Num(); ++SectionIndex) + { + const FStaticMeshSection &Section = LOD.Sections[SectionIndex]; + int32 MaterialIndex = Section.MaterialIndex; + + TArray Triangles; + + for (uint32 i = 0; i < Section.NumTriangles; ++i) + { + int32 Index0 = Indices[Section.FirstIndex + i * 3 + 0]; + int32 Index1 = Indices[Section.FirstIndex + i * 3 + 1]; + int32 Index2 = Indices[Section.FirstIndex + i * 3 + 2]; + + Triangles.Add({PositionBuffer.VertexPosition(Index0), + PositionBuffer.VertexPosition(Index1), + PositionBuffer.VertexPosition(Index2)}); + } + + TArray Subdivided; + SubdivideTriangles(Triangles, SubdivisionFactor, Subdivided); + + FMeshDescription MeshDesc; + FStaticMeshAttributes Attributes(MeshDesc); + Attributes.Register(); + Attributes.GetVertexInstanceNormals(); + Attributes.GetVertexInstanceTangents(); + Attributes.GetVertexInstanceBinormalSigns(); + Attributes.GetVertexInstanceUVs().SetNumChannels(1); + + TMap VertexMap; + FPolygonGroupID PolyGroupID = MeshDesc.CreatePolygonGroup(); + + for (const FTriangle &T : Subdivided) + { + FVertexID VIDs[3]; + FVector3f Verts[3] = {T.V0, T.V1, T.V2}; + + for (int i = 0; i < 3; ++i) + { + if (!VertexMap.Contains(Verts[i])) + { + FVertexID VID = MeshDesc.CreateVertex(); + Attributes.GetVertexPositions()[VID] = Verts[i]; + VertexMap.Add(Verts[i], VID); + } + VIDs[i] = VertexMap[Verts[i]]; + } + + TArray VInsts; + for (int i = 0; i < 3; ++i) + { + FVertexInstanceID InstanceID = MeshDesc.CreateVertexInstance(VIDs[i]); + VInsts.Add(InstanceID); + Attributes.GetVertexInstanceUVs().Set(InstanceID, 0, FVector2f(Verts[i].X * 0.01f, Verts[i].Y * 0.01f)); + } + + MeshDesc.CreatePolygon(PolyGroupID, VInsts); + } + + FStaticMeshOperations::ComputeTriangleTangentsAndNormals(MeshDesc, 0.0001f); + FStaticMeshOperations::ComputeTangentsAndNormals(MeshDesc, EComputeNTBsFlags::Normals | EComputeNTBsFlags::Tangents); + + FString AssetName = FString::Printf(TEXT("%s_Mat%d"), *BaseName, SectionIndex); + FString PackagePath = OutputFolder + "/" + AssetName; + UPackage *Package = CreatePackage(*PackagePath); + + UStaticMesh *NewMesh = NewObject(Package, *AssetName, RF_Public | RF_Standalone); + NewMesh->InitResources(); + NewMesh->SetNumSourceModels(1); + NewMesh->CreateMeshDescription(0, MoveTemp(MeshDesc)); + NewMesh->CommitMeshDescription(0); + + if (SourceMesh->GetStaticMaterials().IsValidIndex(MaterialIndex)) + { + NewMesh->GetStaticMaterials().Add(SourceMesh->GetStaticMaterials()[MaterialIndex]); + } + + NewMesh->Build(false); + NewMesh->PostEditChange(); + NewMesh->MarkPackageDirty(); + + FAssetRegistryModule::AssetCreated(NewMesh); + FString Filename = FPackageName::LongPackageNameToFilename(PackagePath, TEXT(".uasset")); + UPackage::SavePackage(Package, NewMesh, EObjectFlags::RF_Public | RF_Standalone, *Filename); + } +} diff --git a/Unreal/CarlaUnreal/Plugins/CarlaTools/Source/CarlaTools/Public/BlueprintLibrary/CarlaToolsFunctionLibrary.h b/Unreal/CarlaUnreal/Plugins/CarlaTools/Source/CarlaTools/Public/BlueprintLibrary/CarlaToolsFunctionLibrary.h new file mode 100644 index 00000000000..5b62c5e653d --- /dev/null +++ b/Unreal/CarlaUnreal/Plugins/CarlaTools/Source/CarlaTools/Public/BlueprintLibrary/CarlaToolsFunctionLibrary.h @@ -0,0 +1,41 @@ +// Copyright (c) 2024 Computer Vision Center (CVC) at the Universitat Autonoma +// de Barcelona (UAB). +// +// This work is licensed under the terms of the MIT license. +// For a copy, see . + +#pragma once + + +#include +#include "CoreMinimal.h" +#include "Kismet/BlueprintFunctionLibrary.h" +#include "MeshDescription.h" +#include "ProceduralMeshComponent.h" +#include + +#include "CarlaToolsFunctionLibrary.generated.h" + + +DECLARE_LOG_CATEGORY_EXTERN(LogCarlaToolsFunctionLibrary, Log, All); + +UCLASS(BlueprintType) +class CARLATOOLS_API UCarlaToolsFunctionLibrary : public UBlueprintFunctionLibrary +{ + GENERATED_BODY() + + struct FTriangle + { + FVector3f V0, V1, V2; + }; + +public: + UFUNCTION(BlueprintCallable) + static void ChunkAndSubdivideStaticMesh(UStaticMesh* SourceMesh, FString MeshName, int ChunkSize = 100, FString OutputFolder = TEXT("/Game/Result") ); + + static void SubdivideTriangles(const TArray& InTriangles, int Factor, TArray& OutTriangles); + + UFUNCTION(BlueprintCallable) + static void SplitStaticMeshByMaterial(UStaticMesh* SourceMesh, FString BaseName, FString OutputFolder, int SubdivisionFactor); + +}; diff --git a/Util/SetupUtils/InstallPrerequisites.bat b/Util/SetupUtils/InstallPrerequisites.bat index e07293ebe87..4b21ddd41b0 100644 --- a/Util/SetupUtils/InstallPrerequisites.bat +++ b/Util/SetupUtils/InstallPrerequisites.bat @@ -48,15 +48,42 @@ rem -- MAIN -- :main rem -- INSTALL VISUAL STUDIO -- -if not exist %cd%\Temp ( - mkdir %cd%\Temp +set "vcvars64_found=" + +echo Checking if Visual Studio 2022 needs to be installed... +if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" +) +if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" +) +if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" +) +if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" +) +if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" +) +if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" ( + set "vcvars64_found=true" +) + +if "%vcvars64_found%"=="" ( + echo Visual Studio 2022 not found. Installing required components... + if not exist %cd%\Temp ( + mkdir %cd%\Temp + ) + pushd Temp + curl -L -O https://aka.ms/vs/17/release/vs_community.exe || exit /b + popd Temp + %cd%\Temp\vs_community.exe --add %visual_studio_components% --installWhileDownloading --passive --wait || exit /b + del %cd%\Temp\vs_community.exe + rmdir %cd%\Temp +) else ( + echo Visual Studio 2022 found. Skipping installation. ) -pushd Temp -curl -L -O https://aka.ms/vs/17/release/vs_community.exe || exit /b -popd Temp -%cd%\Temp\vs_community.exe --add %visual_studio_components% --installWhileDownloading --passive --wait || exit /b -del %cd%\Temp\vs_community.exe -rmdir %cd%\Temp rem -- INSTALL NINJA -- ninja --version >nul 2>nul From cae9e1c7935f5252f9aeb9e5b36d96aa8d79bb03 Mon Sep 17 00:00:00 2001 From: rbelleisle Date: Sat, 24 May 2025 13:59:35 -0400 Subject: [PATCH 16/18] Fix to the linux build --- Ros2Native/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ros2Native/CMakeLists.txt b/Ros2Native/CMakeLists.txt index a9f9a9a877c..caa074afb6b 100644 --- a/Ros2Native/CMakeLists.txt +++ b/Ros2Native/CMakeLists.txt @@ -86,7 +86,7 @@ else() -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${PROJECT_INSTALL_PATH} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DBUILD_SHARED_LIBS=OFF + -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON -DCOMPILE_EXAMPLES=OFF -DCOMPILE_TOOLS=OFF From 7d7e0127a0ed3e2f520b4fa5adcf7bac774957f1 Mon Sep 17 00:00:00 2001 From: rbelleisle Date: Sat, 24 May 2025 14:11:02 -0400 Subject: [PATCH 17/18] added to changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba19da0946b..0e97bcab5ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## LATEST Changes * Added actor description as Actor TAGs +* Got Windows ROS2 Build working ## CARLA 0.10.0 From dcf3f7a39a6e31b836047f85e5f229f92a7fb6d4 Mon Sep 17 00:00:00 2001 From: rbelleisle Date: Mon, 26 May 2025 15:23:55 -0400 Subject: [PATCH 18/18] Update fastdds version in build cs file and syntax in cmake building fastdds --- Ros2Native/CMakeLists.txt | 3 ++- Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Ros2Native/CMakeLists.txt b/Ros2Native/CMakeLists.txt index caa074afb6b..e90dcd7fd73 100644 --- a/Ros2Native/CMakeLists.txt +++ b/Ros2Native/CMakeLists.txt @@ -97,7 +97,8 @@ else() -DOPENSSL_FOUND:BOOL=ON -DOPENSSL_INCLUDE_DIR:FILEPATH=${UE_OPENSSL_INCLUDE} -DOPENSSL_SSL_LIBRARY:FILEPATH=${UE_OPENSSL_LIBS}/libssl.a - -DOPENSSL_CRYPTO_LIBRARY:FILEPATH=${UE_OPENSSL_LIBS}/libcrypto.a DEPENDS foonathan_memory + -DOPENSSL_CRYPTO_LIBRARY:FILEPATH=${UE_OPENSSL_LIBS}/libcrypto.a + DEPENDS foonathan_memory ) ExternalProject_Add ( diff --git a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs index b95f35d913a..4a030cf58d4 100644 --- a/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs +++ b/Unreal/CarlaUnreal/Plugins/Carla/Source/Carla/Carla.Build.cs @@ -190,7 +190,7 @@ void AddDynamicLibrary(string library) RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastcdr.so.1.1.0")); RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps.so")); RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps.so.2.11")); - RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps.so.2.11.2")); + RuntimeDependencies.Add(Path.Combine(CarlaPluginBinariesPath, "libfastrtps.so.2.11.3")); } } }