vcpkg/ports/soil2/CMakeLists.txt
2019-03-06 11:32:25 -08:00

91 lines
2.6 KiB
CMake

cmake_minimum_required(VERSION 3.9)
# Create the soil2 project
project("soil2" LANGUAGES C)
find_package(OpenGL)
# Do we want to install the headers?
option(INSTALL_HEADERS "Install header files" ON)
# Set the install dir
set(INSTALL_CMAKE_DIR share/soil2)
# Set the source files to compile
set(SOIL2_SRC
src/SOIL2/etc1_utils.c
src/SOIL2/image_DXT.c
src/SOIL2/image_helper.c
src/SOIL2/SOIL2.c
)
# Set the soil2 headers
set(SOIL2_HEADERS
src/SOIL2/SOIL2.h
src/SOIL2/etc1_utils.h
src/SOIL2/image_DXT.h
src/SOIL2/image_helper.h
src/SOIL2/jo_jpeg.h
src/SOIL2/pkm_helper.h
src/SOIL2/pvr_helper.h
src/SOIL2/stb_image.h
src/SOIL2/stb_image_write.h
src/SOIL2/stbi_DDS.h
src/SOIL2/stbi_ext.h
src/SOIL2/stbi_pkm.h
src/SOIL2/stbi_pvr.h
)
# Add the library as a static linkage
add_library(soil2 STATIC ${SOIL2_SRC})
# The include dir
target_include_directories(soil2 INTERFACE $<INSTALL_INTERFACE:include>)
# link opengl32
target_link_libraries(soil2 PRIVATE ${OPENGL_gl_LIBRARY})
# If its msvc mute the secure warnings
if(MSVC)
target_compile_definitions(soil2 PRIVATE _CRT_SECURE_NO_WARNINGS)
endif(MSVC)
if(INSTALL_HEADERS)
# Install the library object
install(TARGETS soil2 EXPORT soil2Targets
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
)
# Install the headers
install(FILES ${SOIL2_HEADERS}
DESTINATION include/SOIL2/)
# Prepare for install package files
set(SOIL2_VERSION "release-1.11")
# Export the stuff
export(TARGETS soil2 FILE "${PROJECT_BINARY_DIR}/soil2Targets.cmake")
export(PACKAGE soil2)
# Create the soil2Config.cmake and soil2ConfigVersion.cmake
configure_file(soil2Config.cmake.in "${PROJECT_BINARY_DIR}/soil2Config.cmake" @ONLY)
configure_file(soil2ConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/soil2ConfigVersion.cmake" @ONLY)
# Install the soil2Config.cmake and soil2ConfigVersion.cmake
install(FILES
"${PROJECT_BINARY_DIR}/soil2Config.cmake"
"${PROJECT_BINARY_DIR}/soil2ConfigVersion.cmake"
DESTINATION "${INSTALL_CMAKE_DIR}"
)
# Install the export set for use with the install-tree
install(EXPORT soil2Targets DESTINATION "${INSTALL_CMAKE_DIR}")
else(INSTALL_HEADERS)
# Install the library object
install(TARGETS soil2 EXPORT soil2
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
)
endif(INSTALL_HEADERS)