mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-28 19:25:27 +08:00
Merge pull request #3582 from vtavernier/port/soil
[soil] Added port for SOIL
This commit is contained in:
commit
c7903141b3
50
ports/soil/CMakeLists.txt
Normal file
50
ports/soil/CMakeLists.txt
Normal file
@ -0,0 +1,50 @@
|
||||
cmake_minimum_required(VERSION 3.8)
|
||||
|
||||
project(SOIL C)
|
||||
|
||||
option(INSTALL_HEADERS "Install header files" ON)
|
||||
|
||||
set(INSTALL_CMAKE_DIR share/soil)
|
||||
|
||||
add_library(SOIL STATIC
|
||||
src/image_helper.c
|
||||
src/stb_image_aug.c
|
||||
src/image_DXT.c
|
||||
src/SOIL.c)
|
||||
|
||||
target_include_directories(SOIL INTERFACE $<INSTALL_INTERFACE:include>)
|
||||
|
||||
if(INSTALL_HEADERS)
|
||||
install(TARGETS SOIL
|
||||
EXPORT SOILTargets
|
||||
ARCHIVE DESTINATION lib
|
||||
LIBRARY DESTINATION lib)
|
||||
|
||||
install(FILES src/SOIL.h
|
||||
DESTINATION include/SOIL/)
|
||||
|
||||
# Prepare and install package files
|
||||
set(SOIL_VERSION "2018.7.7")
|
||||
|
||||
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 "${INSTALL_CMAKE_DIR}")
|
||||
|
||||
# Install the export set for use with the install-tree
|
||||
install(EXPORT SOILTargets DESTINATION
|
||||
"${INSTALL_CMAKE_DIR}")
|
||||
else()
|
||||
install(TARGETS SOIL
|
||||
ARCHIVE DESTINATION lib
|
||||
LIBRARY DESTINATION lib)
|
||||
endif()
|
3
ports/soil/CONTROL
Normal file
3
ports/soil/CONTROL
Normal file
@ -0,0 +1,3 @@
|
||||
Source: soil
|
||||
Version: 2008.07.07-1
|
||||
Description: Simple OpenGL Image Library
|
6
ports/soil/LICENSE
Normal file
6
ports/soil/LICENSE
Normal file
@ -0,0 +1,6 @@
|
||||
https://www.lonesock.net/soil.html
|
||||
|
||||
Simple OpenGL Image Library
|
||||
|
||||
License:
|
||||
Public Domain
|
13
ports/soil/SOILConfig.cmake.in
Normal file
13
ports/soil/SOILConfig.cmake.in
Normal file
@ -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)
|
11
ports/soil/SOILConfigVersion.cmake.in
Normal file
11
ports/soil/SOILConfigVersion.cmake.in
Normal file
@ -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()
|
29
ports/soil/portfile.cmake
Normal file
29
ports/soil/portfile.cmake
Normal file
@ -0,0 +1,29 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/Simple OpenGL Image Library")
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "http://www.lonesock.net/files/soil.zip"
|
||||
FILENAME "soil-2008.07.07.zip"
|
||||
SHA512 a575a84aa65b7556320779d635561341f5cf156418d0462473e5d1eb082829be3bcb30600b4887af75aeddd3715de16bdb3ca1668ebaa93eea62bacf22b79548
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive(${ARCHIVE})
|
||||
|
||||
file(COPY
|
||||
${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt
|
||||
${CMAKE_CURRENT_LIST_DIR}/SOILConfig.cmake.in
|
||||
${CMAKE_CURRENT_LIST_DIR}/SOILConfigVersion.cmake.in
|
||||
${CMAKE_CURRENT_LIST_DIR}/LICENSE
|
||||
DESTINATION ${SOURCE_PATH}
|
||||
)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS_DEBUG -DINSTALL_HEADERS=OFF
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/soil RENAME copyright)
|
Loading…
x
Reference in New Issue
Block a user