diff options
| author | ras0219 <533828+ras0219@users.noreply.github.com> | 2020-09-09 20:40:15 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-09 20:40:15 -0700 |
| commit | f6df03b4a819bf78bc0cdf8b2369ffffc44cd894 (patch) | |
| tree | ae3b16c8082f8202e9a01004e4b17cfdcfd52658 /ports/irrxml | |
| parent | 32b6c3a134022db7b985ed5f7d1f2ff13a96a140 (diff) | |
| download | vcpkg-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.txt | 56 | ||||
| -rw-r--r-- | ports/irrxml/disable_asm_calls.patch | 20 | ||||
| -rw-r--r-- | ports/irrxml/portfile.cmake | 22 | ||||
| -rw-r--r-- | ports/irrxml/vcpkg.json | 6 |
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" +} |
