aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>2020-10-21 16:31:06 -0700
committerGitHub <noreply@github.com>2020-10-21 16:31:06 -0700
commit51fce8c8d8ebafc9ad314d3d0b242b23e1e15ccd (patch)
tree66c10f811f278a2063fcf2c59f76f33c746b5c84
parent291df751258928bc021a5251585c8733328edf25 (diff)
downloadvcpkg-51fce8c8d8ebafc9ad314d3d0b242b23e1e15ccd.tar.gz
vcpkg-51fce8c8d8ebafc9ad314d3d0b242b23e1e15ccd.zip
[libnoise] Fix build and header, install FindLibNoise.cmake (#14141)
-rw-r--r--ports/libnoise/CONTROL2
-rw-r--r--ports/libnoise/fix-build.patch56
-rw-r--r--ports/libnoise/portfile.cmake22
3 files changed, 72 insertions, 8 deletions
diff --git a/ports/libnoise/CONTROL b/ports/libnoise/CONTROL
index 53009a450..144273305 100644
--- a/ports/libnoise/CONTROL
+++ b/ports/libnoise/CONTROL
@@ -1,3 +1,5 @@
Source: libnoise
Version: 1.0.0
+Port-Version: 1
+Homepage: https://github.com/RobertHue/libnoise
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.
diff --git a/ports/libnoise/fix-build.patch b/ports/libnoise/fix-build.patch
new file mode 100644
index 000000000..c0b7d7ce5
--- /dev/null
+++ b/ports/libnoise/fix-build.patch
@@ -0,0 +1,56 @@
+diff --git a/noiseutils/CMakeLists.txt b/noiseutils/CMakeLists.txt
+index 07747de..08c0bda 100644
+--- a/noiseutils/CMakeLists.txt
++++ b/noiseutils/CMakeLists.txt
+@@ -22,8 +22,11 @@ if(BUILD_SHARED_LIBS)
+ target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src)
+
+ # install dynamic libraries (.dll or .so) into /bin
+- install(TARGETS ${TARGET_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
+-endif()
++ install(TARGETS ${TARGET_NAME}
++ 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)
+@@ -35,7 +38,7 @@ target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src)
+ # install static libraries (.lib) into /lib
+ install(TARGETS ${TARGET_NAME} 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
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 2757f30..7a135c2 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -62,8 +62,11 @@ if(BUILD_SHARED_LIBS)
+ set_target_properties(${TARGET_NAME} PROPERTIES VERSION ${LIBNOISE_VERSION})
+ target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src)
+ target_compile_definitions(${TARGET_NAME} PRIVATE NOISE_BUILD_DLL)
+- install(TARGETS ${TARGET_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
+-endif()
++ install(TARGETS ${TARGET_NAME}
++ 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)
+@@ -76,7 +79,7 @@ target_compile_definitions(${TARGET_NAME} PUBLIC NOISE_STATIC)
+ # install static libraries (.lib) into /lib
+ install(TARGETS ${TARGET_NAME} 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
diff --git a/ports/libnoise/portfile.cmake b/ports/libnoise/portfile.cmake
index 28465f585..5c14ae663 100644
--- a/ports/libnoise/portfile.cmake
+++ b/ports/libnoise/portfile.cmake
@@ -1,5 +1,3 @@
-include(vcpkg_common_functions)
-
set( LIBNOISE_VERSION "1.0.0" )
set( LIBNOISE_COMMIT "d7e68784a2b24c632868506780eba336ede74ecd" )
@@ -9,21 +7,29 @@ vcpkg_from_github(
REF ${LIBNOISE_COMMIT}
SHA512 8c4d654acb4ae3d90ee62ebdf0447f876022dcb887ebfad88f39b09d29183a58e6fc1b1f1d03edff804975c8befcc6eda33c44797495285aae338c2e869a14d7
HEAD_REF master
+ PATCHES fix-build.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ OPTIONS
+ -DBUILD_WALL=ON
+ -DBUILD_SPEED_OPTIMIZED=ON
+ -DBUILD_LIBNOISE_DOCUMENTATION=OFF
+ -DBUILD_LIBNOISE_UTILS=ON
+ -DBUILD_LIBNOISE_EXAMPLES=OFF
)
vcpkg_install_cmake()
-# Include files should not be duplicated into the /debug/include directory.
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-# Handle copyright
-file(COPY ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/libnoise)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libnoise/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/libnoise/copyright)
+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}/cmake/Modules/FindLibNoise.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
-# Post-build test for cmake libraries
-vcpkg_test_cmake(PACKAGE_NAME libnoise) \ No newline at end of file
+file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file