-
Notifications
You must be signed in to change notification settings - Fork 6.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
139 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
Source: libepoxy | ||
Version: 1.4.0-2432daf | ||
Description: Epoxy is a library for handling OpenGL function pointer management for you |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
|
||
include(vcpkg_common_functions) | ||
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libepoxy-2432daf4cf58b5ff11e008ca34811588285c43b3) | ||
vcpkg_download_distfile(ARCHIVE | ||
URLS "https://github.com/anholt/libepoxy/archive/2432daf4cf58b5ff11e008ca34811588285c43b3.zip" | ||
FILENAME "libepoxy-2432daf4cf58b5ff11e008ca34811588285c43b3.zip" | ||
SHA512 70b59b6c5722eb87522927fdedab44f74ffd2d71d2ae42509de07b0c3e13f71320b25da0d4c75dca75c4208ea7a525483267d6ccb8acd5274728c015c7ac4006) | ||
|
||
vcpkg_extract_source_archive(${ARCHIVE}) | ||
|
||
vcpkg_configure_meson(SOURCE_PATH ${SOURCE_PATH}) | ||
vcpkg_install_meson() | ||
|
||
vcpkg_copy_pdbs() | ||
|
||
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libepoxy) | ||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libepoxy/COPYING ${CURRENT_PACKAGES_DIR}/share/libepoxy/copyright) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
function(vcpkg_configure_meson) | ||
cmake_parse_arguments(_vcm "" "SOURCE_PATH" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN}) | ||
|
||
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) | ||
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) | ||
|
||
# use the same compiler options as in vcpkg_configure_cmake | ||
set(MESON_COMMON_CFLAGS "${MESON_COMMON_CFLAGS} /DWIN32 /D_WINDOWS /W3 /utf-8") | ||
set(MESON_COMMON_CXXFLAGS "${MESON_COMMON_CXXFLAGS} /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc") | ||
|
||
if(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL dynamic) | ||
set(MESON_DEBUG_CFLAGS "${MESON_DEBUG_CFLAGS} /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1") | ||
set(MESON_DEBUG_CXXFLAGS "${MESON_DEBUG_CXXFLAGS} /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1") | ||
|
||
set(MESON_RELEASE_CFLAGS "${MESON_RELEASE_CFLAGS} /MD /O2 /Oi /Gy /DNDEBUG /Zi") | ||
set(MESON_RELEASE_CXXFLAGS "${MESON_RELEASE_CXXFLAGS} /MD /O2 /Oi /Gy /DNDEBUG /Zi") | ||
elseif(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL static) | ||
set(MESON_DEBUG_CFLAGS "${MESON_DEBUG_CFLAGS} /D_DEBUG /MTd /Zi /Ob0 /Od /RTC1") | ||
set(MESON_DEBUG_CXXFLAGS "${MESON_DEBUG_CXXFLAGS} /D_DEBUG /MTd /Zi /Ob0 /Od /RTC1") | ||
|
||
set(MESON_RELEASE_CFLAGS "${MESON_RELEASE_CFLAGS} /MT /O2 /Oi /Gy /DNDEBUG /Zi") | ||
set(MESON_RELEASE_CXXFLAGS "${MESON_RELEASE_CXXFLAGS} /MT /O2 /Oi /Gy /DNDEBUG /Zi") | ||
endif() | ||
|
||
set(MESON_COMMON_LDFLAGS "${MESON_COMMON_LDFLAGS} /DEBUG") | ||
set(MESON_RELEASE_LDFLAGS "${MESON_RELEASE_LDFLAGS} /INCREMENTAL:NO /OPT:REF /OPT:ICF") | ||
|
||
# select meson cmd-line options | ||
list(APPEND _vcm_OPTIONS --buildtype plain --backend ninja) | ||
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) | ||
list(APPEND _vcm_OPTIONS --default-library shared) | ||
else() | ||
list(APPEND _vcm_OPTIONS --default-library static) | ||
endif() | ||
|
||
list(APPEND _vcm_OPTIONS_DEBUG --prefix ${CURRENT_PACKAGES_DIR}/debug --includedir ../include) | ||
list(APPEND _vcm_OPTIONS_RELEASE --prefix ${CURRENT_PACKAGES_DIR}) | ||
|
||
vcpkg_find_acquire_program(MESON) | ||
vcpkg_find_acquire_program(NINJA) | ||
get_filename_component(NINJA_PATH ${NINJA} DIRECTORY) | ||
set(ENV{PATH} "$ENV{PATH};${NINJA_PATH}") | ||
|
||
# configure release | ||
message(STATUS "Configuring ${TARGET_TRIPLET}-rel") | ||
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) | ||
set(ENV{CFLAGS} "${MESON_COMMON_CFLAGS} ${MESON_RELEASE_CFLAGS}") | ||
set(ENV{CXXFLAGS} "${MESON_COMMON_CXXFLAGS} ${MESON_RELEASE_CXXFLAGS}") | ||
set(ENV{LDFLAGS} "${MESON_COMMON_LDFLAGS} ${MESON_RELEASE_LDFLAGS}") | ||
set(ENV{CPPFLAGS} "${MESON_COMMON_CPPFLAGS} ${MESON_RELEASE_CPPFLAGS}") | ||
vcpkg_execute_required_process( | ||
COMMAND ${MESON} ${_vcm_OPTIONS} ${_vcm_OPTIONS_RELEASE} ${_vcm_SOURCE_PATH} | ||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel | ||
LOGNAME config-${TARGET_TRIPLET}-rel | ||
) | ||
message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") | ||
|
||
# configure debug | ||
message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") | ||
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) | ||
set(ENV{CFLAGS} "${MESON_COMMON_CFLAGS} ${MESON_DEBUG_CFLAGS}") | ||
set(ENV{CXXFLAGS} "${MESON_COMMON_CXXFLAGS} ${MESON_DEBUG_CXXFLAGS}") | ||
set(ENV{LDFLAGS} "${MESON_COMMON_LDFLAGS} ${MESON_DEBUG_LDFLAGS}") | ||
set(ENV{CPPFLAGS} "${MESON_COMMON_CPPFLAGS} ${MESON_DEBUG_CPPFLAGS}") | ||
vcpkg_execute_required_process( | ||
COMMAND ${MESON} ${_vcm_OPTIONS} ${_vcm_OPTIONS_DEBUG} ${_vcm_SOURCE_PATH} | ||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg | ||
LOGNAME config-${TARGET_TRIPLET}-dbg | ||
) | ||
message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") | ||
|
||
endfunction() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
function(vcpkg_install_meson) | ||
|
||
vcpkg_find_acquire_program(NINJA) | ||
|
||
unset(ENV{DESTDIR}) # installation directory was already specified with '--prefix' option | ||
|
||
message(STATUS "Package ${TARGET_TRIPLET}-rel") | ||
vcpkg_execute_required_process( | ||
COMMAND ${NINJA} install -v | ||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel | ||
LOGNAME package-${TARGET_TRIPLET}-rel | ||
) | ||
message(STATUS "Package ${TARGET_TRIPLET}-rel done") | ||
|
||
message(STATUS "Package ${TARGET_TRIPLET}-dbg") | ||
vcpkg_execute_required_process( | ||
COMMAND ${NINJA} install -v | ||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg | ||
LOGNAME package-${TARGET_TRIPLET}-dbg | ||
) | ||
message(STATUS "Package ${TARGET_TRIPLET}-dbg done") | ||
|
||
endfunction() |