aboutsummaryrefslogtreecommitdiff
path: root/ports/irrxml
diff options
context:
space:
mode:
authorras0219 <533828+ras0219@users.noreply.github.com>2020-09-09 20:40:15 -0700
committerGitHub <noreply@github.com>2020-09-09 20:40:15 -0700
commitf6df03b4a819bf78bc0cdf8b2369ffffc44cd894 (patch)
treeae3b16c8082f8202e9a01004e4b17cfdcfd52658 /ports/irrxml
parent32b6c3a134022db7b985ed5f7d1f2ff13a96a140 (diff)
downloadvcpkg-f6df03b4a819bf78bc0cdf8b2369ffffc44cd894.tar.gz
vcpkg-f6df03b4a819bf78bc0cdf8b2369ffffc44cd894.zip
[assimp][irrxml][kubazip][poly2tri][polyclipping] Extract vendored dependencies (#13264)
* [assimp] Fix -config.cmake files * [assimp] Fix linux build and provide backwards-compatible alias * [assimp][irrxml][kubazip][poly2tri][polyclipping] Extract vendored dependencies * [assimp] Use find_dependency(); add ZLIB dependency * [polyclipping] Do not suffix upstream binaries Co-authored-by: Robert Schumacher <roschuma@microsoft.com> Co-authored-by: Stefano Sinigardi <stesinigardi@hotmail.com>
Diffstat (limited to 'ports/irrxml')
-rw-r--r--ports/irrxml/CMakeLists.txt56
-rw-r--r--ports/irrxml/disable_asm_calls.patch20
-rw-r--r--ports/irrxml/portfile.cmake22
-rw-r--r--ports/irrxml/vcpkg.json6
4 files changed, 104 insertions, 0 deletions
diff --git a/ports/irrxml/CMakeLists.txt b/ports/irrxml/CMakeLists.txt
new file mode 100644
index 000000000..71a2facf6
--- /dev/null
+++ b/ports/irrxml/CMakeLists.txt
@@ -0,0 +1,56 @@
+cmake_minimum_required(VERSION 3.2)
+project(irrXML)
+enable_language(CXX)
+
+set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed")
+set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed")
+set(INSTALL_INCLUDE_DIR "include" CACHE PATH "Path where headers will be installed")
+set(INSTALL_CMAKE_DIR "share/irrxml" CACHE PATH "Path where cmake configs will be installed")
+
+# Make relative paths absolute (needed later on)
+set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR})
+foreach(p LIB BIN INCLUDE CMAKE)
+ set(var INSTALL_${p}_DIR)
+ if(NOT IS_ABSOLUTE "${${var}}")
+ set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")
+ endif()
+endforeach()
+
+set(SOURCES
+ ${CMAKE_CURRENT_LIST_DIR}/src/CXMLReaderImpl.h
+ ${CMAKE_CURRENT_LIST_DIR}/src/fast_atof.h
+ ${CMAKE_CURRENT_LIST_DIR}/src/heapsort.h
+ ${CMAKE_CURRENT_LIST_DIR}/src/irrArray.h
+ ${CMAKE_CURRENT_LIST_DIR}/src/irrString.h
+ ${CMAKE_CURRENT_LIST_DIR}/src/irrTypes.h
+ ${CMAKE_CURRENT_LIST_DIR}/src/irrXML.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/src/irrXML.h
+)
+
+add_library(${CMAKE_PROJECT_NAME} ${SOURCES})
+
+if(MSVC)
+ target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE _SCL_SECURE_NO_WARNINGS)
+ target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS)
+endif(MSVC)
+
+if (WIN32 AND BUILD_SHARED_LIBS)
+ set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
+endif()
+
+set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES PUBLIC_HEADER src/irrXML.h)
+target_include_directories(${CMAKE_PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:${RELATIVE_INSTALL_INCLUDE_DIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src>)
+
+install(TARGETS ${CMAKE_PROJECT_NAME} EXPORT ${CMAKE_PROJECT_NAME}Targets
+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
+ PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}"
+ COMPONENT dev
+)
+
+install(EXPORT ${CMAKE_PROJECT_NAME}Targets
+ FILE ${CMAKE_PROJECT_NAME}Config.cmake
+ NAMESPACE ${CMAKE_PROJECT_NAME}::
+ DESTINATION "${INSTALL_CMAKE_DIR}"
+)
diff --git a/ports/irrxml/disable_asm_calls.patch b/ports/irrxml/disable_asm_calls.patch
new file mode 100644
index 000000000..5ce45e645
--- /dev/null
+++ b/ports/irrxml/disable_asm_calls.patch
@@ -0,0 +1,20 @@
+--- a/src/irrTypes.h
++++ b/src/irrTypes.h
+@@ -79,17 +79,13 @@ typedef unsigned short wchar_t;
+ #endif // microsoft compiler
+
+ //! define a break macro for debugging only in Win32 mode.
+-#if defined(WIN32) && defined(_MSC_VER) && defined(_DEBUG)
+-#define _IRR_DEBUG_BREAK_IF( _CONDITION_ ) if (_CONDITION_) {_asm int 3}
+-#else
+ #define _IRR_DEBUG_BREAK_IF( _CONDITION_ )
+-#endif
+
+ //! Defines a small statement to work around a microsoft compiler bug.
+ /** The microsft compiler 7.0 - 7.1 has a bug:
+ When you call unmanaged code that returns a bool type value of false from managed code,
+ the return value may appear as true. See
+ http://support.microsoft.com/default.aspx?kbid=823071 for details.
+ Compiler version defines: VC6.0 : 1200, VC7.0 : 1300, VC7.1 : 1310, VC8.0 : 1400*/
+ #if defined(WIN32) && defined(_MSC_VER) && (_MSC_VER > 1299) && (_MSC_VER < 1400)
+ #define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX __asm mov eax,100
diff --git a/ports/irrxml/portfile.cmake b/ports/irrxml/portfile.cmake
new file mode 100644
index 000000000..1c5595505
--- /dev/null
+++ b/ports/irrxml/portfile.cmake
@@ -0,0 +1,22 @@
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO irrlicht/irrXML%20SDK
+ REF 1.2
+ FILENAME irrxml-1.2.zip
+ SHA512 b6a7f76305c6d1e74a66bc182bd260428b9aa0b1db444f79de56095a7d39e320429756329202b44d3159f6b4d9ff13b7ebb6b88ca3d087f09c3a4a3a0ce08995
+ PATCHES
+ disable_asm_calls.patch
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets()
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/irrxml/vcpkg.json b/ports/irrxml/vcpkg.json
new file mode 100644
index 000000000..3d7ad0332
--- /dev/null
+++ b/ports/irrxml/vcpkg.json
@@ -0,0 +1,6 @@
+{
+ "name": "irrxml",
+ "version-string": "1.2",
+ "description": "XML library from IRRLICHT Enging",
+ "homepage": "http://irrlicht.sourceforge.net"
+}