mirror of
https://github.com/cemu-project/vcpkg.git
synced 2024-11-24 03:39:45 +00:00
[opencsg] Add new port (#5481)
* Add opencsg package * Make opencsg static only * Add patch for illegal character, fix line endings
This commit is contained in:
parent
91bb4183e1
commit
1073c3bf2b
46
ports/opencsg/CMakeLists.txt
Normal file
46
ports/opencsg/CMakeLists.txt
Normal file
@ -0,0 +1,46 @@
|
||||
cmake_minimum_required (VERSION 3.4)
|
||||
project (opencsg)
|
||||
|
||||
set(HEADERS
|
||||
include/opencsg.h
|
||||
)
|
||||
|
||||
set(SRCS
|
||||
src/area.cpp
|
||||
src/batch.cpp
|
||||
src/context.cpp
|
||||
src/channelManager.cpp
|
||||
src/frameBufferObject.cpp
|
||||
src/frameBufferObjectExt.cpp
|
||||
src/occlusionQuery.cpp
|
||||
src/opencsgRender.cpp
|
||||
src/openglHelper.cpp
|
||||
src/primitive.cpp
|
||||
src/primitiveHelper.cpp
|
||||
src/renderGoldfeather.cpp
|
||||
src/renderSCS.cpp
|
||||
src/scissorMemo.cpp
|
||||
src/settings.cpp
|
||||
src/stencilManager.cpp
|
||||
src/pBufferTexture.cpp
|
||||
RenderTexture/RenderTexture.cpp
|
||||
)
|
||||
|
||||
|
||||
add_library(opencsg ${SRCS} ${HEADERS})
|
||||
|
||||
include_directories(src include RenderTexture ".")
|
||||
find_package(GLEW REQUIRED)
|
||||
include_directories(${GLEW_INCLUDE_DIRS})
|
||||
target_link_libraries(opencsg PRIVATE GLEW::GLEW)
|
||||
|
||||
install(
|
||||
TARGETS opencsg
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
|
||||
if(NOT DISABLE_INSTALL_HEADERS)
|
||||
install(FILES ${HEADERS} DESTINATION include/opencsg)
|
||||
endif()
|
4
ports/opencsg/CONTROL
Normal file
4
ports/opencsg/CONTROL
Normal file
@ -0,0 +1,4 @@
|
||||
Source: opencsg
|
||||
Version: 1.4.2
|
||||
Build-Depends: glew
|
||||
Description: OpenCSG is a library that does image-based CSG rendering using OpenGL. OpenCSG is written in C++ and supports most modern graphics hardware using Microsoft Windows or the Linux operating system.
|
13
ports/opencsg/illegal_char.patch
Normal file
13
ports/opencsg/illegal_char.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/include/opencsg.h b/include/opencsg.h
|
||||
index d753a0e..b482c40 100644
|
||||
--- a/include/opencsg.h
|
||||
+++ b/include/opencsg.h
|
||||
@@ -156,7 +156,7 @@ namespace OpenCSG {
|
||||
/// The DepthComplexityAlgorithm specifies the strategy for profiting
|
||||
/// from depth complexity when performing the CSG rendering.
|
||||
/// - NoDepthComplexitySampling: Does not employ the depth complexity.
|
||||
- /// This essentially makes the algorithm O(n²), but with
|
||||
+ /// This essentially makes the algorithm O(n²), but with
|
||||
/// low constant costs.
|
||||
/// - DepthComplexitySampling: Calculates the depth complexity k using
|
||||
/// the stencil buffer. This makes algorithm O(n*k), but
|
39
ports/opencsg/portfile.cmake
Normal file
39
ports/opencsg/portfile.cmake
Normal file
@ -0,0 +1,39 @@
|
||||
# Common Ambient Variables:
|
||||
# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
|
||||
# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
|
||||
# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
|
||||
# PORT = current port name (zlib, etc)
|
||||
# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
|
||||
# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
|
||||
# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
|
||||
# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
|
||||
# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
|
||||
#
|
||||
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO floriankirsch/OpenCSG
|
||||
REF "opencsg-1-4-2-release"
|
||||
SHA512 df117a1b7153a95332d236918d1547b0afe6f3ead46af2733c5feee6e25cec984b21affc41fd8320a45be9292bd3b32e21ed8bb3d08371ddd657f659b9bb932a
|
||||
HEAD_REF master
|
||||
PATCHES illegal_char.patch
|
||||
)
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS -DUNICODE=1 -D_UNICODE=1
|
||||
# OPTIONS_RELEASE -DOPTIMIZE=1
|
||||
OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencsg RENAME copyright)
|
Loading…
Reference in New Issue
Block a user