]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/ogre/portfile.cmake
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / ogre / portfile.cmake
1 if (EXISTS "${CURRENT_INSTALLED_DIR}/Media/HLMS/Blendfunctions_piece_fs.glslt")
2 message(FATAL_ERROR "FATAL ERROR: ogre-next and ogre are incompatible.")
3 endif()
4
5 if(NOT VCPKG_TARGET_IS_WINDOWS)
6 message("${PORT} currently requires the following library from the system package manager:\n Xaw\n\nIt can be installed on Ubuntu systems via apt-get install libxaw7-dev")
7 endif()
8
9 vcpkg_from_github(
10 OUT_SOURCE_PATH SOURCE_PATH
11 REPO OGRECave/ogre
12 REF 7d0c8181ac43ad20bdba326abbd3deeddf310f0b #v1.12.9
13 SHA512 f223075f49a2465cd5070f5efa796aa715f3ea2fefd578e4ec0a11be2fd3330922849ed804e1df004209abafaa7b24ff42432dd79f336a56063e3cf38ae0e8c9
14 HEAD_REF master
15 PATCHES
16 toolchain_fixes.patch
17 fix-dependency.patch
18 fix-findimgui.patch
19 disable-dependency-qt.patch
20 )
21
22 file(REMOVE "${SOURCE_PATH}/CMake/Packages/FindOpenEXR.cmake")
23
24 if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
25 set(OGRE_STATIC ON)
26 else()
27 set(OGRE_STATIC OFF)
28 endif()
29
30 # Configure features
31
32 vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
33 d3d9 OGRE_BUILD_RENDERSYSTEM_D3D9
34 java OGRE_BUILD_COMPONENT_JAVA
35 python OGRE_BUILD_COMPONENT_PYTHON
36 csharp OGRE_BUILD_COMPONENT_CSHARP
37 overlay OGRE_BUILD_COMPONENT_OVERLAY
38 zziplib OGRE_CONFIG_ENABLE_ZIP
39 strict OGRE_RESOURCEMANAGER_STRICT
40 )
41
42 # OGRE_RESOURCEMANAGER_STRICT need to be 0 for OFF and 1 for ON, because it is used 'as is' in sources
43 string(REPLACE "OGRE_RESOURCEMANAGER_STRICT=ON" "OGRE_RESOURCEMANAGER_STRICT=1" FEATURE_OPTIONS "${FEATURE_OPTIONS}")
44 string(REPLACE "OGRE_RESOURCEMANAGER_STRICT=OFF" "OGRE_RESOURCEMANAGER_STRICT=0" FEATURE_OPTIONS "${FEATURE_OPTIONS}")
45
46 vcpkg_configure_cmake(
47 SOURCE_PATH ${SOURCE_PATH}
48 PREFER_NINJA
49 OPTIONS
50 -DOGRE_BUILD_DEPENDENCIES=OFF
51 -DOGRE_BUILD_SAMPLES=OFF
52 -DOGRE_BUILD_TESTS=OFF
53 -DOGRE_BUILD_TOOLS=OFF
54 -DOGRE_BUILD_MSVC_MP=ON
55 -DOGRE_BUILD_MSVC_ZM=ON
56 -DOGRE_INSTALL_DEPENDENCIES=OFF
57 -DOGRE_INSTALL_DOCS=OFF
58 -DOGRE_INSTALL_PDB=OFF
59 -DOGRE_INSTALL_SAMPLES=OFF
60 -DOGRE_INSTALL_TOOLS=OFF
61 -DOGRE_INSTALL_CMAKE=ON
62 -DOGRE_INSTALL_VSPROPS=OFF
63 -DOGRE_STATIC=${OGRE_STATIC}
64 -DOGRE_CONFIG_THREAD_PROVIDER=std
65 -DOGRE_BUILD_RENDERSYSTEM_D3D11=ON
66 -DOGRE_BUILD_RENDERSYSTEM_GL=ON
67 -DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=ON
68 -DOGRE_BUILD_RENDERSYSTEM_GLES=OFF
69 -DOGRE_BUILD_RENDERSYSTEM_GLES2=OFF
70 -DFREETYPE_FOUND=ON
71 # Optional stuff
72 ${FEATURE_OPTIONS}
73 # vcpkg specific stuff
74 -DOGRE_CMAKE_DIR=share/ogre
75 )
76
77 vcpkg_install_cmake()
78 vcpkg_fixup_cmake_targets()
79
80 file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
81 file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
82
83 file(GLOB REL_CFGS ${CURRENT_PACKAGES_DIR}/bin/*.cfg)
84 if(REL_CFGS)
85 file(COPY ${REL_CFGS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
86 file(REMOVE ${REL_CFGS})
87 endif()
88
89 file(GLOB DBG_CFGS ${CURRENT_PACKAGES_DIR}/debug/bin/*.cfg)
90 if(DBG_CFGS)
91 file(COPY ${DBG_CFGS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
92 file(REMOVE ${DBG_CFGS})
93 endif()
94
95 if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
96 file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
97 endif()
98
99 #Remove OgreMain*.lib from lib/ folder, because autolink would complain, since it defines a main symbol
100 #manual-link subfolder is here to the rescue!
101 if(VCPKG_TARGET_IS_WINDOWS)
102 if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "Release")
103 file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
104 if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
105 file(RENAME ${CURRENT_PACKAGES_DIR}/lib/OgreMain.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMain.lib)
106 else()
107 file(RENAME ${CURRENT_PACKAGES_DIR}/lib/OgreMainStatic.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMainStatic.lib)
108 endif()
109 endif()
110 if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "Debug")
111 file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
112 if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
113 file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMain_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMain_d.lib)
114 else()
115 file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMainStatic_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMainStatic_d.lib)
116 endif()
117 endif()
118
119 file(GLOB SHARE_FILES ${CURRENT_PACKAGES_DIR}/share/ogre/*.cmake)
120 foreach(SHARE_FILE ${SHARE_FILES})
121 file(READ "${SHARE_FILE}" _contents)
122 string(REPLACE "lib/OgreMain" "lib/manual-link/OgreMain" _contents "${_contents}")
123 file(WRITE "${SHARE_FILE}" "${_contents}")
124 endforeach()
125 endif()
126
127 # Handle copyright
128 file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
129
130 vcpkg_copy_pdbs()