From 28f284ac2c8673ce921e7d0e207c9e1ac9e52ba5 Mon Sep 17 00:00:00 2001 From: elsid Date: Sun, 25 Feb 2024 18:31:29 +0100 Subject: [PATCH 1/4] Apply collada patch from vcpkg Source https://github.com/microsoft/vcpkg/blob/37c3e63a1306562f7f59c4c3c8892ddd50fdf992/ports/osg/collada.patch --- CMakeModules/FindCOLLADA.cmake | 38 +++++++++++-------------------- src/osgPlugins/dae/CMakeLists.txt | 4 +++- 2 files changed, 16 insertions(+), 26 deletions(-) diff --git a/CMakeModules/FindCOLLADA.cmake b/CMakeModules/FindCOLLADA.cmake index 28b2c02bda7..7caf3545eb8 100644 --- a/CMakeModules/FindCOLLADA.cmake +++ b/CMakeModules/FindCOLLADA.cmake @@ -29,10 +29,7 @@ IF(APPLE) ELSEIF(MINGW) SET(COLLADA_BUILDNAME "mingw") SET(COLLADA_BOOST_BUILDNAME ${COLLADA_BUILDNAME}) -ELSEIF((MSVC_VERSION GREATER 1910) OR (MSVC_VERSION EQUAL 1910)) - SET(COLLADA_BUILDNAME "vc14") - SET(COLLADA_BOOST_BUILDNAME "vc141") -ELSEIF(MSVC_VERSION EQUAL 1900) +ELSEIF(MSVC_VERSION GREATER_EQUAL 1900) SET(COLLADA_BUILDNAME "vc14") SET(COLLADA_BOOST_BUILDNAME "vc140") ELSEIF(MSVC_VERSION EQUAL 1800) @@ -61,6 +58,7 @@ ENDIF() FIND_PATH(COLLADA_INCLUDE_DIR dae.h + PATHS ${COLLADA_DOM_ROOT}/include $ENV{COLLADA_DIR}/include $ENV{COLLADA_DIR} @@ -69,27 +67,19 @@ FIND_PATH(COLLADA_INCLUDE_DIR dae.h /Library/Frameworks /opt/local/Library/Frameworks #macports /usr/local/include - /usr/local/include/colladadom - /usr/local/include/collada-dom - /usr/local/include/collada-dom2.5 - /usr/local/include/collada-dom2.4 - /usr/local/include/collada-dom2.2 - /opt/local/include/collada-dom - /opt/local/include/collada-dom2.5 - /opt/local/include/collada-dom2.4 - /opt/local/include/collada-dom2.2 /usr/include/ - /usr/include/colladadom - /usr/include/collada-dom - /usr/include/collada-dom2.5 - /usr/include/collada-dom2.4 - /usr/include/collada-dom2.2 /sw/include # Fink /opt/local/include # DarwinPorts /opt/csw/include # Blastwave /opt/include /usr/freeware/include ${ACTUAL_3DPARTY_DIR}/include + PATH_SUFFIXES + colladadom + collada-dom + collada-dom2.5 + collada-dom2.4 + collada-dom2.2 ) FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY @@ -117,7 +107,7 @@ FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY ) FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY_DEBUG - NAMES collada_dom-d collada14dom-d Collada14Dom-d libcollada14dom21-d libcollada14dom22-d collada-dom2.5-dp-d collada-dom2.5-dp-${COLLADA_BOOST_BUILDNAME}-mt-d collada-dom2.4-dp-d collada-dom2.4-dp-${COLLADA_BOOST_BUILDNAME}-mt-d + NAMES collada_dom-d collada14dom-d Collada14Dom-d libcollada14dom21-d libcollada14dom22-d collada-dom2.5-dp-d collada-dom2.5-dp-${COLLADA_BOOST_BUILDNAME}-mt-d collada-dom2.4-dp-d collada-dom2.4-dp-${COLLADA_BOOST_BUILDNAME}-mt-d collada-dom2.5-dp-${COLLADA_BOOST_BUILDNAME}-mt PATHS ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4-d ${COLLADA_DOM_ROOT} @@ -279,7 +269,7 @@ IF (COLLADA_STATIC_LIBRARY) ) FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY - NAMES libboost_filesystem boost_filesystem boost_filesystem-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_63 + NAMES libboost_filesystem boost_filesystem boost_filesystem-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_63 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt PATHS ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw @@ -287,7 +277,7 @@ IF (COLLADA_STATIC_LIBRARY) ) FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY_DEBUG - NAMES libboost_filesystem-d boost_filesystem-d boost_filesystem-mt-d libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_54 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_55 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_58 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_62 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_63 + NAMES libboost_filesystem-d boost_filesystem-d boost_filesystem-mt-d libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_54 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_55 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_58 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_62 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_63 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd PATHS ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw @@ -295,7 +285,7 @@ IF (COLLADA_STATIC_LIBRARY) ) FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY - NAMES libboost_system boost_system boost_system-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_63 + NAMES libboost_system boost_system boost_system-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_63 boost_system-${COLLADA_BOOST_BUILDNAME}-mt PATHS ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw @@ -303,7 +293,7 @@ IF (COLLADA_STATIC_LIBRARY) ) FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY_DEBUG - NAMES libboost_system-d boost_system-d boost_system-mt-d libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_54 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_55 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_58 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_62 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_63 + NAMES libboost_system-d boost_system-d boost_system-mt-d libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_54 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_55 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_58 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_62 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_63 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd PATHS ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw @@ -329,5 +319,3 @@ IF(COLLADA_DYNAMIC_LIBRARY OR COLLADA_STATIC_LIBRARY) ENDIF() ENDIF() - - diff --git a/src/osgPlugins/dae/CMakeLists.txt b/src/osgPlugins/dae/CMakeLists.txt index af03fb866c3..7eadfc2f38e 100644 --- a/src/osgPlugins/dae/CMakeLists.txt +++ b/src/osgPlugins/dae/CMakeLists.txt @@ -49,7 +49,9 @@ ELSE() ENDIF() ADD_DEFINITIONS(-DNO_BOOST) -ADD_DEFINITIONS(-DCOLLADA_DOM_SUPPORT141) +ADD_DEFINITIONS(-DCOLLADA_DOM_USING_141 + -DCOLLADA_DOM_SUPPORT141 + -DCOLLADA_DOM_SUPPORT150) IF (COLLADA_DOM_2_4_OR_LATER) ADD_DEFINITIONS(-DCOLLADA_DOM_2_4_OR_LATER) From 7195e5938b0554c8f000e4b4918388786704c13d Mon Sep 17 00:00:00 2001 From: elsid Date: Mon, 26 Feb 2024 00:13:10 +0100 Subject: [PATCH 2/4] Always install PDB files for all targets --- CMakeLists.txt | 4 ++++ CMakeModules/ModuleInstall.cmake | 13 +------------ CMakeModules/OsgMacroUtils.cmake | 14 +++----------- src/OpenThreads/win32/CMakeLists.txt | 13 +------------ 4 files changed, 9 insertions(+), 35 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c98408d84dc..21d2c05d423 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -408,6 +408,10 @@ IF(WIN32 AND NOT ANDROID) SET(CMAKE_SHARED_LINKER_FLAGS_DEBUG "/debug /INCREMENTAL:NO") SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "/debug /INCREMENTAL:NO") ENDIF(NOT OSG_MSVC_DEBUG_INCREMENTAL_LINK) + + SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DEBUG") + SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEBUG") + SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /DEBUG") ENDIF(MSVC) ENDIF(WIN32 AND NOT ANDROID) diff --git a/CMakeModules/ModuleInstall.cmake b/CMakeModules/ModuleInstall.cmake index 1a5448b8768..15a79f57789 100644 --- a/CMakeModules/ModuleInstall.cmake +++ b/CMakeModules/ModuleInstall.cmake @@ -33,18 +33,7 @@ INSTALL( ) IF(MSVC AND DYNAMIC_OPENSCENEGRAPH) - GET_TARGET_PROPERTY(PREFIX ${LIB_NAME} PREFIX) - IF("${PREFIX}" STREQUAL PREFIX-NOTFOUND) # Fix for PREFIX-NOTFOUND left in file names - SET(PREFIX "") - ENDIF() - IF ( ${CMAKE_GENERATOR} STREQUAL "Ninja" ) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}${LIB_NAME}${CMAKE_RELEASE_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph CONFIGURATIONS Release) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}${LIB_NAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph CONFIGURATIONS RelWithDebInfo) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}${LIB_NAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph CONFIGURATIONS Debug) - ELSE ( ${CMAKE_GENERATOR} STREQUAL "Ninja" ) - INSTALL(FILES ${OUTPUT_BINDIR}/${PREFIX}${LIB_NAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph CONFIGURATIONS RelWithDebInfo) - INSTALL(FILES ${OUTPUT_BINDIR}/${PREFIX}${LIB_NAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph CONFIGURATIONS Debug) - ENDIF ( ${CMAKE_GENERATOR} STREQUAL "Ninja" ) + INSTALL(FILES $ DESTINATION ${INSTALL_BINDIR} COMPONENT libopenthreads) ENDIF(MSVC AND DYNAMIC_OPENSCENEGRAPH) IF(NOT OSG_COMPILE_FRAMEWORKS) diff --git a/CMakeModules/OsgMacroUtils.cmake b/CMakeModules/OsgMacroUtils.cmake index b5abe4a8baf..cafd8725ba3 100644 --- a/CMakeModules/OsgMacroUtils.cmake +++ b/CMakeModules/OsgMacroUtils.cmake @@ -349,13 +349,7 @@ MACRO(SETUP_PLUGIN PLUGIN_NAME) ARCHIVE DESTINATION lib/${OSG_PLUGINS} COMPONENT libopenscenegraph-dev LIBRARY DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT}) IF(MSVC AND DYNAMIC_OPENSCENEGRAPH) - IF( ${CMAKE_GENERATOR} STREQUAL "Ninja" ) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_TARGETNAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT} CONFIGURATIONS RelWithDebInfo) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_TARGETNAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT} CONFIGURATIONS Debug) - ELSE( ${CMAKE_GENERATOR} STREQUAL "Ninja" ) - INSTALL(FILES ${OUTPUT_BINDIR}/${OSG_PLUGINS}/${TARGET_TARGETNAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT} CONFIGURATIONS RelWithDebInfo) - INSTALL(FILES ${OUTPUT_BINDIR}/${OSG_PLUGINS}/${TARGET_TARGETNAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT} CONFIGURATIONS Debug) - ENDIF( ${CMAKE_GENERATOR} STREQUAL "Ninja" ) + INSTALL(FILES $ DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT}) ENDIF(MSVC AND DYNAMIC_OPENSCENEGRAPH) ELSE(WIN32) INSTALL(TARGETS ${TARGET_TARGETNAME} @@ -463,8 +457,7 @@ MACRO(SETUP_APPLICATION APPLICATION_NAME) ELSE(APPLE) INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin COMPONENT openscenegraph ) IF(MSVC) - INSTALL(FILES ${OUTPUT_BINDIR}/${TARGET_NAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION bin COMPONENT openscenegraph CONFIGURATIONS RelWithDebInfo) - INSTALL(FILES ${OUTPUT_BINDIR}/${TARGET_NAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION bin COMPONENT openscenegraph CONFIGURATIONS Debug) + INSTALL(FILES $ DESTINATION bin COMPONENT openscenegraph) ENDIF(MSVC) ENDIF(APPLE) @@ -496,8 +489,7 @@ MACRO(SETUP_EXAMPLE EXAMPLE_NAME) ELSE(APPLE) INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples ) IF(MSVC) - INSTALL(FILES ${OUTPUT_BINDIR}/${TARGET_NAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples CONFIGURATIONS RelWithDebInfo) - INSTALL(FILES ${OUTPUT_BINDIR}/${TARGET_NAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples CONFIGURATIONS Debug) + INSTALL(FILES $ DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples) ENDIF(MSVC) ENDIF(APPLE) diff --git a/src/OpenThreads/win32/CMakeLists.txt b/src/OpenThreads/win32/CMakeLists.txt index 6b5b9bd78e9..be5d14f0323 100644 --- a/src/OpenThreads/win32/CMakeLists.txt +++ b/src/OpenThreads/win32/CMakeLists.txt @@ -58,18 +58,7 @@ INSTALL( ) IF(MSVC AND DYNAMIC_OPENSCENEGRAPH) - GET_TARGET_PROPERTY(PREFIX ${LIB_NAME} PREFIX) - IF("${PREFIX}" STREQUAL PREFIX-NOTFOUND) # Fix for PREFIX-NOTFOUND left in file names - SET(PREFIX "") - ENDIF() - IF( ${CMAKE_GENERATOR} STREQUAL "Ninja" ) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}${LIB_NAME}${CMAKE_RELEASE_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenthreads CONFIGURATIONS Release) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}${LIB_NAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenthreads CONFIGURATIONS RelWithDebInfo) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}${LIB_NAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenthreads CONFIGURATIONS Debug) - ELSE( ${CMAKE_GENERATOR} STREQUAL "Ninja" ) - INSTALL(FILES ${OUTPUT_BINDIR}/${PREFIX}${LIB_NAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenthreads CONFIGURATIONS RelWithDebInfo) - INSTALL(FILES ${OUTPUT_BINDIR}/${PREFIX}${LIB_NAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenthreads CONFIGURATIONS Debug) - ENDIF( ${CMAKE_GENERATOR} STREQUAL "Ninja" ) + INSTALL(FILES $ DESTINATION ${INSTALL_BINDIR} COMPONENT libopenthreads) ENDIF(MSVC AND DYNAMIC_OPENSCENEGRAPH) #commented out# INCLUDE(ModuleInstall OPTIONAL) From 19c1df120a094ea638d3db4a44545269b8275d89 Mon Sep 17 00:00:00 2001 From: elsid Date: Mon, 26 Feb 2024 09:21:24 +0100 Subject: [PATCH 3/4] Always expect compiler to use at least C++11 --- include/osg/ref_ptr | 4 ---- 1 file changed, 4 deletions(-) diff --git a/include/osg/ref_ptr b/include/osg/ref_ptr index eb8e3666250..ce0f760a99a 100644 --- a/include/osg/ref_ptr +++ b/include/osg/ref_ptr @@ -36,9 +36,7 @@ class ref_ptr ref_ptr() : _ptr(0) {} ref_ptr(T* ptr) : _ptr(ptr) { if (_ptr) _ptr->ref(); } ref_ptr(const ref_ptr& rp) : _ptr(rp._ptr) { if (_ptr) _ptr->ref(); } -#if __cplusplus >= 201103L ref_ptr(ref_ptr&& rp) noexcept : _ptr(rp._ptr) { rp._ptr = 0; } -#endif template ref_ptr(const ref_ptr& rp) : _ptr(rp._ptr) { if (_ptr) _ptr->ref(); } ref_ptr(observer_ptr& optr) : _ptr(0) { optr.lock(*this); } ~ref_ptr() { if (_ptr) _ptr->unref(); _ptr = 0; } @@ -55,7 +53,6 @@ class ref_ptr return *this; } -#if __cplusplus >= 201103L template ref_ptr& operator = (ref_ptr&& rp) { if (_ptr == rp._ptr) return *this; @@ -64,7 +61,6 @@ class ref_ptr rp._ptr = nullptr; return *this; } -#endif inline ref_ptr& operator = (T* ptr) { From fec7d6a4fba01680c179a3a9d77cb74212260195 Mon Sep 17 00:00:00 2001 From: elsid Date: Sun, 25 Feb 2024 16:04:04 +0100 Subject: [PATCH 4/4] Run CI on github --- .github/workflows/build.yaml | 97 ++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 .github/workflows/build.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 00000000000..fa08d685e1e --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,97 @@ +name: Build + +on: push + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + windows: + strategy: + fail-fast: true + + matrix: + conf: + - Release + + runs-on: windows-latest + + steps: + - uses: actions/checkout@v4 + + - name: Enable vcpkg downloads cache + uses: actions/cache@v4 + with: + path: 'C:/vcpkg/downloads' + key: vcpkg_downloads_cache_v1 + + - name: Enable vcpkg installed cache + uses: actions/cache@v4 + with: + path: 'C:/vcpkg/installed' + key: vcpkg_installed_cache_v1 + + - name: Install dependencies + run: > + vcpkg install --triplet x64-windows + collada-dom + freetype + libiconv + libjpeg-turbo + libpng + libxml2 + opengl-registry + tiff + zlib + + - uses: ilammy/msvc-dev-cmd@v1 + + - name: Configure + run: > + cmake + -G Ninja + -B ${{ github.workspace }}/build + -D CMAKE_BUILD_TYPE=${{ matrix.conf }} + -D CMAKE_TOOLCHAIN_FILE='C:/vcpkg/scripts/buildsystems/vcpkg.cmake' + -D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/build/install + -D CMAKE_CXX_STANDARD=11 + -D CMAKE_C_FLAGS='/DWIN32 /D_WINDOWS /Zi' + -D CMAKE_CXX_FLAGS='/DWIN32 /D_WINDOWS /GR /EHsc /Zi' + -D OPENGL_PROFILE=GL2 + -D OSG_MSVC_VERSIONED_DLL=OFF + -D OSG_DETERMINE_WIN_VERSION=OFF + -D OSG_FIND_3RD_PARTY_DEPS=OFF + -D OSG_USE_UTF8_FILENAME=ON + -D BUILD_OSG_PLUGINS_BY_DEFAULT=OFF + -D BUILD_OSG_PLUGIN_OSG=ON + -D BUILD_OSG_PLUGIN_DDS=ON + -D BUILD_OSG_PLUGIN_TGA=ON + -D BUILD_OSG_PLUGIN_BMP=ON + -D BUILD_OSG_PLUGIN_JPEG=ON + -D BUILD_OSG_PLUGIN_PNG=ON + -D BUILD_OSG_PLUGIN_FREETYPE=ON + -D BUILD_OSG_PLUGIN_DAE=ON + -D BUILD_OSG_PLUGIN_KTX=ON + -D BUILD_OSG_APPLICATIONS=OFF + -D BUILD_OSG_DEPRECATED_SERIALIZERS=OFF + -D DYNAMIC_OPENTHREADS=ON + -D DYNAMIC_OPENSCENEGRAPH=ON + + - name: Build + run: cmake --build ${{ github.workspace }}/build --parallel + + - name: Install + run: cmake --install ${{ github.workspace }}/build + + - name: Store osg build artifacts + uses: actions/upload-artifact@v4 + with: + name: osg-${{ github.sha }} + path: ${{ github.workspace }}/build/install + + - name: Store osg dependencies build artifacts + uses: actions/upload-artifact@v4 + with: + name: osg-dependencies-${{ github.sha }} + path: 'C:/vcpkg/installed'