aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-11-22 00:41:45 -0800
committerGitHub <noreply@github.com>2017-11-22 00:41:45 -0800
commit71be72e11d6db258e6192e4c94e49594f01f34b0 (patch)
treeecb47c7b8171a003226f09b7162c8b5691c02317
parent27a523e61cd84a7b44bfe51d1661c97b1c4447b7 (diff)
parent3c4a4560c6c04b4011a3e3148183359d79ee717b (diff)
downloadvcpkg-71be72e11d6db258e6192e4c94e49594f01f34b0.tar.gz
vcpkg-71be72e11d6db258e6192e4c94e49594f01f34b0.zip
Merge pull request #2092 from lazyhamster/ogre_1_10
[ogre] Update port to Ogre version 1.10.8.
-rw-r--r--ports/ogre/0001-use-vcpkg-freeimage.patch17
-rw-r--r--ports/ogre/0002-ogre-cmake-dir-as-option.patch19
-rw-r--r--ports/ogre/0003-use-flat-installation.patch41
-rw-r--r--ports/ogre/001-cmake-install-dir.patch46
-rw-r--r--ports/ogre/CONTROL12
-rw-r--r--ports/ogre/OGREConfig.cmake37
-rw-r--r--ports/ogre/portfile.cmake109
7 files changed, 133 insertions, 148 deletions
diff --git a/ports/ogre/0001-use-vcpkg-freeimage.patch b/ports/ogre/0001-use-vcpkg-freeimage.patch
deleted file mode 100644
index 0266e5e89..000000000
--- a/ports/ogre/0001-use-vcpkg-freeimage.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/OgreMain/CMakeLists.txt b/OgreMain/CMakeLists.txt
-index 6a43378..22f950e 100644
---- a/OgreMain/CMakeLists.txt
-+++ b/OgreMain/CMakeLists.txt
-@@ -220,7 +220,11 @@ endif ()
- list(APPEND HEADER_FILES ${THREAD_HEADER_FILES})
-
- # Add needed definitions and nedmalloc include dir
--add_definitions(-DOGRE_NONCLIENT_BUILD -DFREEIMAGE_LIB -D_MT -D_USRDLL)
-+# vcpkg specific patch: we removed -DFREEIMAGE_LIB
-+# from the defines, because vcpkg's freeimage can
-+# be both static or dynamic, and FREEIMAGE_LIB
-+# remove all the symbol exporting declaration from FreeImage.h
-+add_definitions(-DOGRE_NONCLIENT_BUILD -D_MT -D_USRDLL)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/nedmalloc)
-
- set(LIBRARIES ${PLATFORM_LIBS})
diff --git a/ports/ogre/0002-ogre-cmake-dir-as-option.patch b/ports/ogre/0002-ogre-cmake-dir-as-option.patch
deleted file mode 100644
index c5d75e20c..000000000
--- a/ports/ogre/0002-ogre-cmake-dir-as-option.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt
-index 4c496b7..feb4017 100644
---- a/CMake/CMakeLists.txt
-+++ b/CMake/CMakeLists.txt
-@@ -14,10 +14,12 @@
- #############################################################
-
- if(WIN32 OR APPLE)
-- set(OGRE_CMAKE_DIR "CMake")
-+ set(OGRE_DEFAULT_CMAKE_DIR "CMake")
- else()
-- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
-+ set(OGRE_DEFAULT_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
- endif()
-+set(OGRE_CMAKE_DIR ${OGRE_DEFAULT_CMAKE_DIR} CACHE STRING "Install directory for CMake files.")
-+mark_as_advanced(OGRE_DEFAULT_CMAKE_DIR)
-
- set(INST_FILES
- Packages/FindOIS.cmake
diff --git a/ports/ogre/0003-use-flat-installation.patch b/ports/ogre/0003-use-flat-installation.patch
deleted file mode 100644
index c5a382c1f..000000000
--- a/ports/ogre/0003-use-flat-installation.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-diff --git a/CMake/Utils/OgreConfigTargets.cmake b/CMake/Utils/OgreConfigTargets.cmake
-index c6b3b40..2da7ebf 100644
---- a/CMake/Utils/OgreConfigTargets.cmake
-+++ b/CMake/Utils/OgreConfigTargets.cmake
-@@ -41,15 +41,28 @@ if (NOT OGRE_RUNTIME_OUTPUT)
- set(OGRE_RUNTIME_OUTPUT ${OGRE_BINARY_DIR}/bin)
- endif ()
-
-+option(OGRE_NO_INSTALLATION_SUFFIXES_ON_WIN32 "Do not install in configuration-specific directories in Windows" FALSE)
-+
- if (WIN32)
-- set(OGRE_RELEASE_PATH "/Release")
-- set(OGRE_RELWDBG_PATH "/RelWithDebInfo")
-- set(OGRE_MINSIZE_PATH "/MinSizeRel")
-- set(OGRE_DEBUG_PATH "/Debug")
-- set(OGRE_LIB_RELEASE_PATH "/Release")
-- set(OGRE_LIB_RELWDBG_PATH "/RelWithDebInfo")
-- set(OGRE_LIB_MINSIZE_PATH "/MinSizeRel")
-- set(OGRE_LIB_DEBUG_PATH "/Debug")
-+ if (OGRE_NO_INSTALLATION_SUFFIXES_ON_WIN32)
-+ set(OGRE_RELEASE_PATH "")
-+ set(OGRE_RELWDBG_PATH "")
-+ set(OGRE_MINSIZE_PATH "")
-+ set(OGRE_DEBUG_PATH "")
-+ set(OGRE_LIB_RELEASE_PATH "")
-+ set(OGRE_LIB_RELWDBG_PATH "")
-+ set(OGRE_LIB_MINSIZE_PATH "")
-+ set(OGRE_LIB_DEBUG_PATH "/")
-+ else ()
-+ set(OGRE_RELEASE_PATH "/Release")
-+ set(OGRE_RELWDBG_PATH "/RelWithDebInfo")
-+ set(OGRE_MINSIZE_PATH "/MinSizeRel")
-+ set(OGRE_DEBUG_PATH "/Debug")
-+ set(OGRE_LIB_RELEASE_PATH "/Release")
-+ set(OGRE_LIB_RELWDBG_PATH "/RelWithDebInfo")
-+ set(OGRE_LIB_MINSIZE_PATH "/MinSizeRel")
-+ set(OGRE_LIB_DEBUG_PATH "/Debug")
-+ endif ()
- set(OGRE_PLUGIN_PATH "/opt")
- set(OGRE_SAMPLE_PATH "/opt/samples")
- elseif (UNIX)
diff --git a/ports/ogre/001-cmake-install-dir.patch b/ports/ogre/001-cmake-install-dir.patch
new file mode 100644
index 000000000..cf73bc977
--- /dev/null
+++ b/ports/ogre/001-cmake-install-dir.patch
@@ -0,0 +1,46 @@
+diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt
+index 3382de139..404c56e5e 100644
+--- a/CMake/CMakeLists.txt
++++ b/CMake/CMakeLists.txt
+@@ -13,10 +13,12 @@
+ # directory, but can also be used for custom projects.
+ #############################################################
+
+-if(WIN32 OR APPLE)
+- set(OGRE_CMAKE_DIR "CMake")
+-else()
+- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
++if (NOT DEFINED OGRE_CMAKE_DIR)
++ if(WIN32 OR APPLE)
++ set(OGRE_CMAKE_DIR "CMake")
++ else()
++ set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
++ endif()
+ endif()
+
+ set(INST_FILES
+diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake
+index 0181259e2..346188c73 100644
+--- a/CMake/InstallResources.cmake
++++ b/CMake/InstallResources.cmake
+@@ -245,12 +245,14 @@ endif ()
+ # Create the CMake package files
+ include(CMakePackageConfigHelpers)
+
+-if (WIN32)
+- set(OGRE_CMAKE_DIR CMake)
+-elseif (UNIX)
+- set(OGRE_CMAKE_DIR lib/OGRE/cmake)
+-elseif (APPLE)
+-endif ()
++if (NOT DEFINED OGRE_CMAKE_DIR)
++ if (WIN32)
++ set(OGRE_CMAKE_DIR CMake)
++ elseif (UNIX)
++ set(OGRE_CMAKE_DIR lib/OGRE/cmake)
++ elseif (APPLE)
++ endif ()
++endif()
+ configure_package_config_file(${OGRE_TEMPLATES_DIR}/OGREConfig.cmake.in ${OGRE_BINARY_DIR}/cmake/OGREConfig.cmake
+ INSTALL_DESTINATION ${OGRE_CMAKE_DIR}
+ PATH_VARS CMAKE_INSTALL_PREFIX)
diff --git a/ports/ogre/CONTROL b/ports/ogre/CONTROL
index 588c6413b..879d78e39 100644
--- a/ports/ogre/CONTROL
+++ b/ports/ogre/CONTROL
@@ -1,4 +1,14 @@
Source: ogre
-Version: 1.9.0-1
+Version: 1.10.9-1
Build-Depends: freeimage, freetype, zlib, zziplib
Description: 3D Object-Oriented Graphics Rendering Engine
+
+Feature: d3d9
+Description: Build Direct3D9 RenderSystem
+
+Feature: java
+Description: Build Java (JNI) bindings
+
+Feature: python
+Description: Build Python bindings
+Build-Depends: python3
diff --git a/ports/ogre/OGREConfig.cmake b/ports/ogre/OGREConfig.cmake
deleted file mode 100644
index a20544431..000000000
--- a/ports/ogre/OGREConfig.cmake
+++ /dev/null
@@ -1,37 +0,0 @@
-#.rst:
-# OGREConfig
-# ------------
-#
-# Dummy OGREConfig to simplify use of OGRE-provided FindOGRE module.
-#
-# This file is provided as part of the vcpkg port of OGRE .
-# It is meant to be found automatically by find_package(OGRE),
-# but then offloads all the real work to the FindOGRE module by temporarly
-# adding its directory to CMAKE_MODULE_PATH
-#
-# See the FindOGRE module to see the defined variables::
-#
-
-# Temporarly add the directory in which OGREConfig.cmake is contained to
-# get access to the FindOGRE module
-get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
-set(ORIGINAL_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH})
-list(APPEND CMAKE_MODULE_PATH ${SELF_DIR})
-find_package(OGRE MODULE)
-
-# Leave CMAKE_MODULE_PATH as we found it
-set(CMAKE_MODULE_PATH ${ORIGINAL_CMAKE_MODULE_PATH})
-
-# Handle components
-# imported from https://github.com/Kitware/CMake/blob/v3.7.1/Modules/CMakePackageConfigHelpers.cmake#L300
-macro(check_required_components _NAME)
- foreach(comp ${${_NAME}_FIND_COMPONENTS})
- if(NOT ${_NAME}_${comp}_FOUND)
- if(${_NAME}_FIND_REQUIRED_${comp})
- set(${_NAME}_FOUND FALSE)
- endif()
- endif()
- endforeach()
-endmacro()
-
-check_required_components(OGRE) \ No newline at end of file
diff --git a/ports/ogre/portfile.cmake b/ports/ogre/portfile.cmake
index a0989a4a2..2e604ee58 100644
--- a/ports/ogre/portfile.cmake
+++ b/ports/ogre/portfile.cmake
@@ -1,17 +1,19 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/sinbad-ogre-dd30349ea667)
+
+set(OGRE_VERSION 1.10.9)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ogre-${OGRE_VERSION})
+
vcpkg_download_distfile(ARCHIVE
- URLS "https://bitbucket.org/sinbad/ogre/get/v1-9-0.zip"
- FILENAME "ogre-v1-9-0.zip"
- SHA512 de7315a2450ecf0d9073e6a8f0c54737e041016f7ad820556d10701c7d23eefab9d3473476a8e95447c30ab21518b8e4cfb0271db72494ea67a3dea284c9a3d3
+ URLS "https://github.com/OGRECave/ogre/archive/v${OGRE_VERSION}.zip"
+ FILENAME "ogre-${OGRE_VERSION}.zip"
+ SHA512 2e68b30da6dc2e1df6575970623a14057675b069536ed0ac87faeefc8e295965ff7427c99385f29ab803b02bd5294f6886293aabdd17ec8c92f80baf53587457
)
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-use-vcpkg-freeimage.patch"
- "${CMAKE_CURRENT_LIST_DIR}/0002-ogre-cmake-dir-as-option.patch"
- "${CMAKE_CURRENT_LIST_DIR}/0003-use-flat-installation.patch"
+ PATCHES
+ "${CMAKE_CURRENT_LIST_DIR}/001-cmake-install-dir.patch"
)
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
@@ -20,41 +22,82 @@ else()
set(OGRE_STATIC OFF)
endif()
+# Configure features
+
+if("d3d9" IN_LIST FEATURES)
+ set(WITH_D3D9 ON)
+else()
+ set(WITH_D3D9 OFF)
+endif()
+
+if("java" IN_LIST FEATURES)
+ set(WITH_JAVA ON)
+else()
+ set(WITH_JAVA OFF)
+endif()
+
+if("python" IN_LIST FEATURES)
+ set(WITH_PYTHON ON)
+else()
+ set(WITH_PYTHON OFF)
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS -DOGRE_USE_BOOST:BOOL=OFF
- -DOGRE_BUILD_RENDERSYSTEM_D3D9:BOOL=OFF
- -DOGRE_INSTALL_DEPENDENCIES:BOOL=OFF
- -DOGRE_COPY_DEPENDENCIES:BOOL=OFF
- -DOGRE_BUILD_TOOLS:BOOL=OFF
- -DOGRE_CMAKE_DIR:STRING=share/ogre
- -DOGRE_STATIC:BOOL=${OGRE_STATIC}
- -DOGRE_INSTALL_SAMPLES:BOOL=OFF
- -DOGRE_INSTALL_TOOLS:BOOL=OFF
- # We disable this option because it is broken and we rely on vcpkg_copy_pdbs
- -DOGRE_INSTALL_PDB:BOOL=OFF
- -DOGRE_BUILD_DOCS:BOOL=OFF
- -DOGRE_INSTALL_DOCS:BOOL=OFF
- -DOGRE_INSTALL_SAMPLES_SOURCE:BOOL=OFF
- -DOGRE_NO_INSTALLATION_SUFFIXES_ON_WIN32:BOOL=ON
+ PREFER_NINJA
+ OPTIONS
+ -DOGRE_BUILD_DEPENDENCIES=OFF
+ -DOGRE_BUILD_SAMPLES=OFF
+ -DOGRE_BUILD_TESTS=OFF
+ -DOGRE_BUILD_TOOLS=OFF
+ -DOGRE_BUILD_MSVC_MP=ON
+ -DOGRE_BUILD_MSVC_ZM=ON
+ -DOGRE_INSTALL_DEPENDENCIES=OFF
+ -DOGRE_INSTALL_DOCS=OFF
+ -DOGRE_INSTALL_PDB=OFF
+ -DOGRE_INSTALL_SAMPLES=OFF
+ -DOGRE_INSTALL_TOOLS=OFF
+ -DOGRE_INSTALL_CMAKE=ON
+ -DOGRE_INSTALL_VSPROPS=OFF
+ -DOGRE_STATIC=${OGRE_STATIC}
+ -DOGRE_UNITY_BUILD=OFF
+ -DOGRE_USE_STD11=ON
+ -DOGRE_CONFIG_THREAD_PROVIDER=std
+ -DOGRE_NODE_STORAGE_LEGACY=OFF
+ -DOGRE_BUILD_RENDERSYSTEM_D3D11=ON
+ -DOGRE_BUILD_RENDERSYSTEM_GL=ON
+ -DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=ON
+ -DOGRE_BUILD_RENDERSYSTEM_GLES=OFF
+ -DOGRE_BUILD_RENDERSYSTEM_GLES2=OFF
+# Optional stuff
+ -DOGRE_BUILD_COMPONENT_JAVA=${WITH_JAVA}
+ -DOGRE_BUILD_COMPONENT_PYTHON=${WITH_PYTHON}
+ -DOGRE_BUILD_RENDERSYSTEM_D3D9=${WITH_D3D9}
+# vcpkg specific stuff
+ -DOGRE_CMAKE_DIR=share/ogre
)
vcpkg_install_cmake()
-# Add a OGREConfig.cmake to simplify the process of finding vcpkg OGRE
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/OGREConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/ogre)
-
-# Remove debug includes
+# Remove unwanted files
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-# Remove debug CMake files
-# Note that at the moment OGRE do not export imported targets,
-# so we do not need to copy the debug imported targets in the
-# release CMake path
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/ogre)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(GLOB REL_CFGS ${CURRENT_PACKAGES_DIR}/bin/*.cfg)
+file(COPY ${REL_CFGS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+
+file(GLOB DBG_CFGS ${CURRENT_PACKAGES_DIR}/debug/bin/*.cfg)
+file(COPY ${DBG_CFGS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+
+file(REMOVE ${REL_CFGS} ${DBG_CFGS})
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/ogre)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/ogre/COPYING ${CURRENT_PACKAGES_DIR}/share/ogre/copyright)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/ogre RENAME copyright)
-vcpkg_copy_pdbs() \ No newline at end of file
+vcpkg_copy_pdbs()