From 30be15eebf5a1ee1ecf9f892cd6705c4ac18c930 Mon Sep 17 00:00:00 2001 From: artcore-c Date: Mon, 9 Jun 2025 23:40:56 -0400 Subject: [PATCH 1/3] Add files via upload rviz/rviz_ogre_vendor/CMakeLists.txt Signed-off-by: artcore-c --- CMakeLists.txt | 150 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000..6fd853241 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,150 @@ +cmake_minimum_required(VERSION 3.10) +project(rviz_ogre_vendor) + +find_package(ament_cmake REQUIRED) +find_package(ament_cmake_vendor_package REQUIRED) + +if(WIN32) + set(FREETYPE_C_FLAGS "${CMAKE_C_FLAGS}") + if(MSVC) + set(FREETYPE_C_FLAGS "/wd4244 ${FREETYPE_C_FLAGS}") + set(FREETYPE_C_FLAGS "/wd4267 ${FREETYPE_C_FLAGS}") + set(FREETYPE_C_FLAGS "/wd4312 ${FREETYPE_C_FLAGS}") + set(FREETYPE_C_FLAGS "/wd4996 ${FREETYPE_C_FLAGS}") + endif() + + ament_vendor(freetype_vendor + VCS_URL https://github.com/freetype/freetype.git + VCS_VERSION VER-2-13-2 + CMAKE_ARGS + -DFT_DISABLE_ZLIB:BOOL=ON + -DFT_DISABLE_BZIP2:BOOL=ON + -DFT_DISABLE_PNG:BOOL=ON + -DFT_DISABLE_HARFBUZZ:BOOL=ON + "-DCMAKE_C_FLAGS=${FREETYPE_C_FLAGS}" + ) + + set(ZLIB_C_FLAGS "${ZLIB_C_FLAGS}") + if(MSVC) + set(ZLIB_C_FLAGS "/wd4267 ${ZLIB_C_FLAGS}") + endif() + + ament_vendor(zlib_vendor + VCS_URL https://github.com/madler/zlib.git + VCS_VERSION v1.3 + CMAKE_ARGS + # zlib doesn't use CMAKE_INSTALL_PREFIX correctly, so we need to override + -DINSTALL_BIN_DIR=/bin + -DINSTALL_LIB_DIR=/lib + -DINSTALL_INC_DIR=/include + -DINSTALL_MAN_DIR=/share/man + -DINSTALL_PKGCONFIG_DIR=/share/pkgconfig + "-DCMAKE_C_FLAGS=${ZLIB_C_FLAGS}" + ) +endif() + +set(OGRE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) +if(MSVC) + set(OGRE_CXX_FLAGS "/wd4101 ${OGRE_CXX_FLAGS}") + set(OGRE_CXX_FLAGS "/wd4244 ${OGRE_CXX_FLAGS}") + set(OGRE_CXX_FLAGS "/wd4267 ${OGRE_CXX_FLAGS}") + set(OGRE_CXX_FLAGS "/wd4334 ${OGRE_CXX_FLAGS}") + set(OGRE_CXX_FLAGS "/wd4477 ${OGRE_CXX_FLAGS}") + set(OGRE_CXX_FLAGS "/wd4996 ${OGRE_CXX_FLAGS}") +else() + set(OGRE_CXX_FLAGS "-Wno-deprecated-declarations ${OGRE_CXX_FLAGS}") + set(OGRE_CXX_FLAGS "-Wno-mismatched-new-delete ${OGRE_CXX_FLAGS}") + set(OGRE_CXX_FLAGS "-Wno-range-loop-construct ${OGRE_CXX_FLAGS}") + set(OGRE_CXX_FLAGS "-Wno-undef ${OGRE_CXX_FLAGS}") + set(OGRE_CXX_FLAGS "-Wno-misleading-indentation ${OGRE_CXX_FLAGS}") + + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set(OGRE_CXX_FLAGS "-Wno-implicit-const-int-float-conversion ${OGRE_CXX_FLAGS}") + else() + set(OGRE_CXX_FLAGS "-Wno-maybe-uninitialized ${OGRE_CXX_FLAGS}") + set(OGRE_CXX_FLAGS "-Wno-format-overflow ${OGRE_CXX_FLAGS}") + set(OGRE_CXX_FLAGS "-Wno-dangling-pointer ${OGRE_CXX_FLAGS}") + set(OGRE_CXX_FLAGS "-Wno-array-compare ${OGRE_CXX_FLAGS}") + set(OGRE_CXX_FLAGS "-Wno-stringop-overflow ${OGRE_CXX_FLAGS}") + endif() +endif() + +set(OGRE_CMAKE_ARGS) +if(NOT WIN32) + list(APPEND OGRE_CMAKE_ARGS -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON) +endif() + +if(APPLE) + list(APPEND OGRE_CMAKE_ARGS -DOGRE_ENABLE_PRECOMPILED_HEADERS:BOOL=OFF) + list(APPEND OGRE_CMAKE_ARGS -DCMAKE_OSX_ARCHITECTURES=x86_64) + + # Add MacPorts-specific linker paths and minizip configuration + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/opt/local/lib") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -L/opt/local/lib") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -L/opt/local/lib") + +list(APPEND OGRE_CMAKE_ARGS + -DCMAKE_EXE_LINKER_FLAGS="-L/opt/local/lib" + -DCMAKE_SHARED_LINKER_FLAGS="-L/opt/local/lib" + -DCMAKE_MODULE_LINKER_FLAGS="-L/opt/local/lib" +) + + # Explicit minizip configuration + find_library(MINIZIP_LIBRARY minizip + PATHS /opt/local/lib + NO_DEFAULT_PATH + REQUIRED) + list(APPEND OGRE_CMAKE_ARGS + -DMINIZIP_INCLUDE_DIR=/opt/local/include + -DMINIZIP_LIBRARY=${MINIZIP_LIBRARY} + ) +endif() + +ament_vendor(ogre_vendor + VCS_URL https://github.com/OGRECave/ogre.git + VCS_VERSION v1.12.10 + CMAKE_ARGS + -DOGRE_STATIC:BOOL=OFF + -DOGRE_INSTALL_PDB:BOOL=OFF + -DOGRE_BUILD_DEPENDENCIES:BOOL=OFF + -DOGRE_BUILD_TESTS:BOOL=OFF + -DOGRE_BUILD_SAMPLES:BOOL=FALSE + -DOGRE_INSTALL_SAMPLES:BOOL=FALSE + -DOGRE_INSTALL_SAMPLES_SOURCE:BOOL=FALSE + -DOGRE_CONFIG_THREADS:STRING=0 + -DOGRE_RESOURCEMANAGER_STRICT:STRING=2 + -DOGRE_BUILD_LIBS_AS_FRAMEWORKS:BOOL=OFF + -DOGRE_BUILD_COMPONENT_PYTHON:BOOL=FALSE + -DOGRE_BUILD_COMPONENT_JAVA:BOOL=FALSE + -DOGRE_BUILD_COMPONENT_CSHARP:BOOL=FALSE + -DOGRE_BUILD_COMPONENT_BITES:BOOL=FALSE + -DOGRE_BUILD_PLUGIN_DOT_SCENE:BOOL=FALSE + -DOGRE_BUILD_TOOLS:BOOL=FALSE + -DOGRE_CONFIG_ENABLE_ZIP:BOOL=ON + -DOGRE_BUILD_RENDERSYSTEM_GL:BOOL=TRUE + -DOGRE_BUILD_RENDERSYSTEM_D3D11:BOOL=OFF + -DOGRE_BUILD_RENDERSYSTEM_D3D9:BOOL=OFF + -DCMAKE_POLICY_DEFAULT_CMP0074=NEW + "-DCMAKE_CXX_FLAGS=${OGRE_CXX_FLAGS}" + ${OGRE_CMAKE_ARGS} + PATCHES patches +) + +if(TARGET ogre_vendor) + if(TARGET freetype_vendor) + ExternalProject_Add_StepDependencies(ogre_vendor configure freetype_vendor) + endif() + + if(TARGET zlib_vendor) + ExternalProject_Add_StepDependencies(ogre_vendor configure zlib_vendor) + endif() +endif() + +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + ament_lint_auto_find_test_dependencies() +endif() + +ament_package( + CONFIG_EXTRAS_POST "rviz_ogre_vendor-extras.cmake.in" +) From b6d1e683ef352db9c596e9e86da88532fbe09b0a Mon Sep 17 00:00:00 2001 From: artcore-c Date: Tue, 10 Jun 2025 00:02:22 -0400 Subject: [PATCH 2/3] Delete CMakeLists.txt Signed-off-by: artcore-c --- CMakeLists.txt | 150 ------------------------------------------------- 1 file changed, 150 deletions(-) delete mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 6fd853241..000000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,150 +0,0 @@ -cmake_minimum_required(VERSION 3.10) -project(rviz_ogre_vendor) - -find_package(ament_cmake REQUIRED) -find_package(ament_cmake_vendor_package REQUIRED) - -if(WIN32) - set(FREETYPE_C_FLAGS "${CMAKE_C_FLAGS}") - if(MSVC) - set(FREETYPE_C_FLAGS "/wd4244 ${FREETYPE_C_FLAGS}") - set(FREETYPE_C_FLAGS "/wd4267 ${FREETYPE_C_FLAGS}") - set(FREETYPE_C_FLAGS "/wd4312 ${FREETYPE_C_FLAGS}") - set(FREETYPE_C_FLAGS "/wd4996 ${FREETYPE_C_FLAGS}") - endif() - - ament_vendor(freetype_vendor - VCS_URL https://github.com/freetype/freetype.git - VCS_VERSION VER-2-13-2 - CMAKE_ARGS - -DFT_DISABLE_ZLIB:BOOL=ON - -DFT_DISABLE_BZIP2:BOOL=ON - -DFT_DISABLE_PNG:BOOL=ON - -DFT_DISABLE_HARFBUZZ:BOOL=ON - "-DCMAKE_C_FLAGS=${FREETYPE_C_FLAGS}" - ) - - set(ZLIB_C_FLAGS "${ZLIB_C_FLAGS}") - if(MSVC) - set(ZLIB_C_FLAGS "/wd4267 ${ZLIB_C_FLAGS}") - endif() - - ament_vendor(zlib_vendor - VCS_URL https://github.com/madler/zlib.git - VCS_VERSION v1.3 - CMAKE_ARGS - # zlib doesn't use CMAKE_INSTALL_PREFIX correctly, so we need to override - -DINSTALL_BIN_DIR=/bin - -DINSTALL_LIB_DIR=/lib - -DINSTALL_INC_DIR=/include - -DINSTALL_MAN_DIR=/share/man - -DINSTALL_PKGCONFIG_DIR=/share/pkgconfig - "-DCMAKE_C_FLAGS=${ZLIB_C_FLAGS}" - ) -endif() - -set(OGRE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) -if(MSVC) - set(OGRE_CXX_FLAGS "/wd4101 ${OGRE_CXX_FLAGS}") - set(OGRE_CXX_FLAGS "/wd4244 ${OGRE_CXX_FLAGS}") - set(OGRE_CXX_FLAGS "/wd4267 ${OGRE_CXX_FLAGS}") - set(OGRE_CXX_FLAGS "/wd4334 ${OGRE_CXX_FLAGS}") - set(OGRE_CXX_FLAGS "/wd4477 ${OGRE_CXX_FLAGS}") - set(OGRE_CXX_FLAGS "/wd4996 ${OGRE_CXX_FLAGS}") -else() - set(OGRE_CXX_FLAGS "-Wno-deprecated-declarations ${OGRE_CXX_FLAGS}") - set(OGRE_CXX_FLAGS "-Wno-mismatched-new-delete ${OGRE_CXX_FLAGS}") - set(OGRE_CXX_FLAGS "-Wno-range-loop-construct ${OGRE_CXX_FLAGS}") - set(OGRE_CXX_FLAGS "-Wno-undef ${OGRE_CXX_FLAGS}") - set(OGRE_CXX_FLAGS "-Wno-misleading-indentation ${OGRE_CXX_FLAGS}") - - if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set(OGRE_CXX_FLAGS "-Wno-implicit-const-int-float-conversion ${OGRE_CXX_FLAGS}") - else() - set(OGRE_CXX_FLAGS "-Wno-maybe-uninitialized ${OGRE_CXX_FLAGS}") - set(OGRE_CXX_FLAGS "-Wno-format-overflow ${OGRE_CXX_FLAGS}") - set(OGRE_CXX_FLAGS "-Wno-dangling-pointer ${OGRE_CXX_FLAGS}") - set(OGRE_CXX_FLAGS "-Wno-array-compare ${OGRE_CXX_FLAGS}") - set(OGRE_CXX_FLAGS "-Wno-stringop-overflow ${OGRE_CXX_FLAGS}") - endif() -endif() - -set(OGRE_CMAKE_ARGS) -if(NOT WIN32) - list(APPEND OGRE_CMAKE_ARGS -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON) -endif() - -if(APPLE) - list(APPEND OGRE_CMAKE_ARGS -DOGRE_ENABLE_PRECOMPILED_HEADERS:BOOL=OFF) - list(APPEND OGRE_CMAKE_ARGS -DCMAKE_OSX_ARCHITECTURES=x86_64) - - # Add MacPorts-specific linker paths and minizip configuration - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/opt/local/lib") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -L/opt/local/lib") - set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -L/opt/local/lib") - -list(APPEND OGRE_CMAKE_ARGS - -DCMAKE_EXE_LINKER_FLAGS="-L/opt/local/lib" - -DCMAKE_SHARED_LINKER_FLAGS="-L/opt/local/lib" - -DCMAKE_MODULE_LINKER_FLAGS="-L/opt/local/lib" -) - - # Explicit minizip configuration - find_library(MINIZIP_LIBRARY minizip - PATHS /opt/local/lib - NO_DEFAULT_PATH - REQUIRED) - list(APPEND OGRE_CMAKE_ARGS - -DMINIZIP_INCLUDE_DIR=/opt/local/include - -DMINIZIP_LIBRARY=${MINIZIP_LIBRARY} - ) -endif() - -ament_vendor(ogre_vendor - VCS_URL https://github.com/OGRECave/ogre.git - VCS_VERSION v1.12.10 - CMAKE_ARGS - -DOGRE_STATIC:BOOL=OFF - -DOGRE_INSTALL_PDB:BOOL=OFF - -DOGRE_BUILD_DEPENDENCIES:BOOL=OFF - -DOGRE_BUILD_TESTS:BOOL=OFF - -DOGRE_BUILD_SAMPLES:BOOL=FALSE - -DOGRE_INSTALL_SAMPLES:BOOL=FALSE - -DOGRE_INSTALL_SAMPLES_SOURCE:BOOL=FALSE - -DOGRE_CONFIG_THREADS:STRING=0 - -DOGRE_RESOURCEMANAGER_STRICT:STRING=2 - -DOGRE_BUILD_LIBS_AS_FRAMEWORKS:BOOL=OFF - -DOGRE_BUILD_COMPONENT_PYTHON:BOOL=FALSE - -DOGRE_BUILD_COMPONENT_JAVA:BOOL=FALSE - -DOGRE_BUILD_COMPONENT_CSHARP:BOOL=FALSE - -DOGRE_BUILD_COMPONENT_BITES:BOOL=FALSE - -DOGRE_BUILD_PLUGIN_DOT_SCENE:BOOL=FALSE - -DOGRE_BUILD_TOOLS:BOOL=FALSE - -DOGRE_CONFIG_ENABLE_ZIP:BOOL=ON - -DOGRE_BUILD_RENDERSYSTEM_GL:BOOL=TRUE - -DOGRE_BUILD_RENDERSYSTEM_D3D11:BOOL=OFF - -DOGRE_BUILD_RENDERSYSTEM_D3D9:BOOL=OFF - -DCMAKE_POLICY_DEFAULT_CMP0074=NEW - "-DCMAKE_CXX_FLAGS=${OGRE_CXX_FLAGS}" - ${OGRE_CMAKE_ARGS} - PATCHES patches -) - -if(TARGET ogre_vendor) - if(TARGET freetype_vendor) - ExternalProject_Add_StepDependencies(ogre_vendor configure freetype_vendor) - endif() - - if(TARGET zlib_vendor) - ExternalProject_Add_StepDependencies(ogre_vendor configure zlib_vendor) - endif() -endif() - -if(BUILD_TESTING) - find_package(ament_lint_auto REQUIRED) - ament_lint_auto_find_test_dependencies() -endif() - -ament_package( - CONFIG_EXTRAS_POST "rviz_ogre_vendor-extras.cmake.in" -) From 738f4f55dd0903f6bf176aa7e522b5c7fb5e2fcf Mon Sep 17 00:00:00 2001 From: artcore-c Date: Tue, 10 Jun 2025 00:14:53 -0400 Subject: [PATCH 3/3] Update CMakeLists.txt Fixed linker path propagation into external Ogre plugins (Codec_Assimp) on MacOS x86_64. Ensured CMake uses -L/opt/local/lib for libminizip resolution. Confirmed MacPorts file tree and symlinks valid. Signed-off-by: artcore-c --- rviz_ogre_vendor/CMakeLists.txt | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/rviz_ogre_vendor/CMakeLists.txt b/rviz_ogre_vendor/CMakeLists.txt index 6fdcfe0b7..3bd240a5f 100644 --- a/rviz_ogre_vendor/CMakeLists.txt +++ b/rviz_ogre_vendor/CMakeLists.txt @@ -76,7 +76,28 @@ endif() if(APPLE) list(APPEND OGRE_CMAKE_ARGS -DOGRE_ENABLE_PRECOMPILED_HEADERS:BOOL=OFF) - list(APPEND OGRE_CMAKE_ARGS -DCMAKE_OSX_ARCHITECTURES=arm64;x86_64) + list(APPEND OGRE_CMAKE_ARGS -DCMAKE_OSX_ARCHITECTURES=x86_64) + + # Add MacPorts-specific linker paths and minizip configuration + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/opt/local/lib") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -L/opt/local/lib") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -L/opt/local/lib") + +list(APPEND OGRE_CMAKE_ARGS + -DCMAKE_EXE_LINKER_FLAGS="-L/opt/local/lib" + -DCMAKE_SHARED_LINKER_FLAGS="-L/opt/local/lib" + -DCMAKE_MODULE_LINKER_FLAGS="-L/opt/local/lib" +) + + # Explicit minizip configuration + find_library(MINIZIP_LIBRARY minizip + PATHS /opt/local/lib + NO_DEFAULT_PATH + REQUIRED) + list(APPEND OGRE_CMAKE_ARGS + -DMINIZIP_INCLUDE_DIR=/opt/local/include + -DMINIZIP_LIBRARY=${MINIZIP_LIBRARY} + ) endif() ament_vendor(ogre_vendor @@ -127,3 +148,4 @@ endif() ament_package( CONFIG_EXTRAS_POST "rviz_ogre_vendor-extras.cmake.in" ) +