aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libnoise
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libnoise
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/libnoise')
-rw-r--r--vcpkg/ports/libnoise/fix-build.patch100
-rw-r--r--vcpkg/ports/libnoise/portfile.cmake34
-rw-r--r--vcpkg/ports/libnoise/vcpkg.json18
3 files changed, 152 insertions, 0 deletions
diff --git a/vcpkg/ports/libnoise/fix-build.patch b/vcpkg/ports/libnoise/fix-build.patch
new file mode 100644
index 0000000..e4b0741
--- /dev/null
+++ b/vcpkg/ports/libnoise/fix-build.patch
@@ -0,0 +1,100 @@
+diff --git a/noiseutils/CMakeLists.txt b/noiseutils/CMakeLists.txt
+index 07747de..68db2a2 100644
+--- a/noiseutils/CMakeLists.txt
++++ b/noiseutils/CMakeLists.txt
+@@ -19,11 +19,14 @@ if(BUILD_SHARED_LIBS)
+
+ set_target_properties(${TARGET_NAME} PROPERTIES VERSION ${LIBNOISE_VERSION})
+ target_link_libraries(${TARGET_NAME} noise)
+- target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src)
++ target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}> $<INSTALL_INTERFACE:include>)
+
+ # install dynamic libraries (.dll or .so) into /bin
+- install(TARGETS ${TARGET_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
+-endif()
++ install(TARGETS ${TARGET_NAME} EXPORT unofficial-noiseutilsTargets
++ RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin"
++ LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/lib"
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib")
++else()
+
+ #----------------------------------------
+ # build static lib (it's good practice to include a lib file for the dll)
+@@ -31,11 +34,22 @@ set(TARGET_NAME "${LIB_NAME}-static")
+ add_library(${TARGET_NAME} STATIC ${libSrcs})
+ set_target_properties(${TARGET_NAME} PROPERTIES VERSION ${LIBNOISE_VERSION})
+ target_link_libraries(${TARGET_NAME} noise-static)
+-target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src)
++target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}> $<INSTALL_INTERFACE:include>)
+ # install static libraries (.lib) into /lib
+-install(TARGETS ${TARGET_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/lib")
++install(TARGETS ${TARGET_NAME} EXPORT unofficial-noiseutilsTargets DESTINATION "${CMAKE_INSTALL_PREFIX}/lib")
+ #----------------------------------------
+-
++endif()
+ # install include files into /include
+ install( FILES "${PROJECT_SOURCE_DIR}/noiseutils/noiseutils.h"
+- DESTINATION "${CMAKE_INSTALL_PREFIX}/include/noise" )
+\ No newline at end of file
++ DESTINATION "${CMAKE_INSTALL_PREFIX}/include/noise" )
++
++install(EXPORT unofficial-noiseutilsTargets
++ NAMESPACE unofficial::noiseutils::
++ DESTINATION share/unofficial-noiseutils
++)
++
++file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-noiseutils-config.cmake.in"
++[[include("${CMAKE_CURRENT_LIST_DIR}/unofficial-noiseutilsTargets.cmake")]])
++configure_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-noiseutils-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-noiseutils-config.cmake" @ONLY)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-noiseutils-config.cmake DESTINATION share/unofficial-noiseutils)
++
+\ No newline at end of file
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 2757f30..47dcc51 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -60,10 +60,13 @@ if(BUILD_SHARED_LIBS)
+ add_library(${TARGET_NAME} SHARED ${libSrcs})
+ endif()
+ set_target_properties(${TARGET_NAME} PROPERTIES VERSION ${LIBNOISE_VERSION})
+- target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src)
++ target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/noise> $<INSTALL_INTERFACE:include>)
+ target_compile_definitions(${TARGET_NAME} PRIVATE NOISE_BUILD_DLL)
+- install(TARGETS ${TARGET_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
+-endif()
++ install(TARGETS ${TARGET_NAME} EXPORT unofficial-noiseTargets
++ RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin"
++ LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/lib"
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib")
++else()
+
+ #----------------------------------------
+ # build static lib (it's good practice to include a lib file for the dll)
+@@ -71,12 +74,22 @@ set(TARGET_NAME "${LIB_NAME}-static")
+ message(STATUS "build ${TARGET_NAME}")
+ add_library(${TARGET_NAME} STATIC ${libSrcs})
+ set_target_properties(${TARGET_NAME} PROPERTIES VERSION ${LIBNOISE_VERSION})
+-target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src)
++target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/noise> $<INSTALL_INTERFACE:include>)
+ target_compile_definitions(${TARGET_NAME} PUBLIC NOISE_STATIC)
+ # install static libraries (.lib) into /lib
+-install(TARGETS ${TARGET_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/lib")
++install(TARGETS ${TARGET_NAME} EXPORT unofficial-noiseTargets DESTINATION "${CMAKE_INSTALL_PREFIX}/lib")
+ #----------------------------------------
+-
++endif()
+ # install include files into /include
+ install( DIRECTORY "${PROJECT_SOURCE_DIR}/src/noise"
+- DESTINATION "${CMAKE_INSTALL_PREFIX}/include" )
+\ No newline at end of file
++ DESTINATION "${CMAKE_INSTALL_PREFIX}/include" )
++
++install(EXPORT unofficial-noiseTargets
++ NAMESPACE unofficial::noise::
++ DESTINATION share/unofficial-noise
++)
++
++file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-noise-config.cmake.in"
++[[include("${CMAKE_CURRENT_LIST_DIR}/unofficial-noiseTargets.cmake")]])
++configure_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-noise-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-noise-config.cmake" @ONLY)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-noise-config.cmake DESTINATION share/unofficial-noise)
diff --git a/vcpkg/ports/libnoise/portfile.cmake b/vcpkg/ports/libnoise/portfile.cmake
new file mode 100644
index 0000000..a929f37
--- /dev/null
+++ b/vcpkg/ports/libnoise/portfile.cmake
@@ -0,0 +1,34 @@
+set( LIBNOISE_VERSION "1.0.0" )
+set( LIBNOISE_COMMIT "d7e68784a2b24c632868506780eba336ede74ecd" )
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO RobertHue/libnoise
+ REF ${LIBNOISE_COMMIT}
+ SHA512 8c4d654acb4ae3d90ee62ebdf0447f876022dcb887ebfad88f39b09d29183a58e6fc1b1f1d03edff804975c8befcc6eda33c44797495285aae338c2e869a14d7
+ HEAD_REF master
+ PATCHES fix-build.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DBUILD_WALL=ON
+ -DBUILD_SPEED_OPTIMIZED=ON
+ -DBUILD_LIBNOISE_DOCUMENTATION=OFF
+ -DBUILD_LIBNOISE_UTILS=ON
+ -DBUILD_LIBNOISE_EXAMPLES=OFF
+)
+
+vcpkg_cmake_install()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-noise CONFIG_PATH share/unofficial-noise)
+vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-noiseutils CONFIG_PATH share/unofficial-noiseutils)
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/noise/module/modulebase.h
+ "if NOISE_STATIC" "if 1" )
+endif()
+
+file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file
diff --git a/vcpkg/ports/libnoise/vcpkg.json b/vcpkg/ports/libnoise/vcpkg.json
new file mode 100644
index 0000000..640e503
--- /dev/null
+++ b/vcpkg/ports/libnoise/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "libnoise",
+ "version": "1.0.0",
+ "port-version": 3,
+ "description": "A general-purpose library that generates three-dimensional coherent noise. Useful for terrain generation and procedural texture generation. Uses a broad number of techniques (Perlin noise, ridged multifractal, etc.) and combinations of those techniques.",
+ "homepage": "https://github.com/RobertHue/libnoise",
+ "license": "LGPL-2.1",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}