aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/soil
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/soil')
-rw-r--r--vcpkg/ports/soil/fix-cmakelists.patch45
-rw-r--r--vcpkg/ports/soil/portfile.cmake25
-rw-r--r--vcpkg/ports/soil/soilConfig.cmake.in13
-rw-r--r--vcpkg/ports/soil/soilConfigVersion.cmake.in11
-rw-r--r--vcpkg/ports/soil/vcpkg.json14
5 files changed, 108 insertions, 0 deletions
diff --git a/vcpkg/ports/soil/fix-cmakelists.patch b/vcpkg/ports/soil/fix-cmakelists.patch
new file mode 100644
index 0000000..406d45e
--- /dev/null
+++ b/vcpkg/ports/soil/fix-cmakelists.patch
@@ -0,0 +1,45 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c29d9bf..fc66b85 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,5 +1,7 @@
+ cmake_minimum_required(VERSION 2.6)
+
++project(soil C)
++
+ include_directories(inc)
+
+ ADD_LIBRARY( soil STATIC
+@@ -8,3 +10,31 @@ ADD_LIBRARY( soil STATIC
+ src/image_DXT.c
+ src/SOIL.c
+ )
++
++target_include_directories(soil INTERFACE $<INSTALL_INTERFACE:include>)
++
++install(TARGETS soil
++ EXPORT soilTargets
++ ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION lib)
++
++install(FILES inc/SOIL/SOIL.h
++ DESTINATION include/SOIL)
++
++# Prepare and install package files
++set(soil_VERSION "2021.4.22")
++
++export(TARGETS soil FILE "${PROJECT_BINARY_DIR}/soilTargets.cmake")
++
++export(PACKAGE soil)
++# Create the soilConfig.cmake and soilConfigVersion files
++configure_file(soilConfig.cmake.in "${PROJECT_BINARY_DIR}/soilConfig.cmake" @ONLY)
++configure_file(soilConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/soilConfigVersion.cmake" @ONLY)
++# Install the soilConfig.cmake and soilConfigVersion.cmake
++install(FILES
++ "${PROJECT_BINARY_DIR}/soilConfig.cmake"
++ "${PROJECT_BINARY_DIR}/soilConfigVersion.cmake"
++ DESTINATION "share/soil")
++# Install the export set for use with the install-tree
++install(EXPORT soilTargets DESTINATION
++ "share/soil")
+\ No newline at end of file
diff --git a/vcpkg/ports/soil/portfile.cmake b/vcpkg/ports/soil/portfile.cmake
new file mode 100644
index 0000000..2e413b1
--- /dev/null
+++ b/vcpkg/ports/soil/portfile.cmake
@@ -0,0 +1,25 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO paralin/soil
+ REF 8bb18a909f94e58afbc0bda941ffc6eee58b4066 # committed on 2014-03-06
+ SHA512 6cbaa10d8b2a274c389fda723db53a3f1ba7d25a7367df40efec4d0553c09f0d67fb16f927bba2ff0aed4234e3a83922edcc574ffac72dd7e05d6cec768b561b
+ HEAD_REF master
+ PATCHES fix-cmakelists.patch
+)
+
+file(COPY
+ "${CMAKE_CURRENT_LIST_DIR}/soilConfig.cmake.in"
+ "${CMAKE_CURRENT_LIST_DIR}/soilConfigVersion.cmake.in"
+ DESTINATION ${SOURCE_PATH}
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_install()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/soil/soilConfig.cmake.in b/vcpkg/ports/soil/soilConfig.cmake.in
new file mode 100644
index 0000000..0c15a25
--- /dev/null
+++ b/vcpkg/ports/soil/soilConfig.cmake.in
@@ -0,0 +1,13 @@
+# - Config file for the SOIL package
+# It defines the following variables
+# SOIL_INCLUDE_DIRS - include directories for SOIL
+# SOIL_LIBRARIES - libraries to link against
+
+# Load targets
+get_filename_component(SOIL_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+include("${SOIL_CMAKE_DIR}/soilTargets.cmake")
+
+# Set properties
+get_target_property(SOIL_INCLUDE_DIRS soil INTERFACE_INCLUDE_DIRECTORIES)
+set(SOIL_LIBRARIES soil)
+mark_as_advanced(SOIL_INCLUDE_DIRS SOIL_LIBRARIES)
diff --git a/vcpkg/ports/soil/soilConfigVersion.cmake.in b/vcpkg/ports/soil/soilConfigVersion.cmake.in
new file mode 100644
index 0000000..1e3e049
--- /dev/null
+++ b/vcpkg/ports/soil/soilConfigVersion.cmake.in
@@ -0,0 +1,11 @@
+set(PACKAGE_VERSION "@SOIL_VERSION@")
+
+# Check whether the requested PACKAGE_FIND_VERSION is compatible
+if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif()
+endif()
diff --git a/vcpkg/ports/soil/vcpkg.json b/vcpkg/ports/soil/vcpkg.json
new file mode 100644
index 0000000..ba5648b
--- /dev/null
+++ b/vcpkg/ports/soil/vcpkg.json
@@ -0,0 +1,14 @@
+{
+ "name": "soil",
+ "version-date": "2021-04-22",
+ "port-version": 2,
+ "description": "SOIL is a tiny C library used primarily for uploading textures into OpenGL.",
+ "homepage": "https://github.com/paralin/soil",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}