Недавно я создал порт настраиваемого наложения vcpkg, чтобы протестировать упаковку этого проекта, пока мы движемся к публичному выпуску (к сожалению, этот проект еще не доступен публично, поэтому я не могу поделиться всем исходным кодом). Этот порт успешно собирается и устанавливается для Linux, а также отлично создает конфигурацию отладки Windows, но не работает для конфигурации выпуска Windows.
Я использую следующую команду:
Код: Выделить всё
.\vcpkg\vcpkg.exe install vira --overlay-ports .\source\repos\custom-overlay\
Код: Выделить всё
Computing installation plan...
The following packages will be built and installed:
vira:x64-windows@0.8.0 -- C:\Users\cgnam\.\source\repos\custom-overlay\vira
Detecting compiler hash for triplet x64-windows...
Compiler found: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/cl.exe
Restored 0 package(s) from C:\Users\cgnam\AppData\Local\vcpkg\archives in 218 us. Use --debug to see more details.
Installing 1/1 vira:x64-windows@0.8.0...
Building vira:x64-windows@0.8.0...
C:\Users\cgnam\.\source\repos\custom-overlay\vira: info: installing overlay port from here
-- Using cached C:/Users/cgnam/vcpkg/downloads/vira-77f084234d7f87b7d65d3139423716a2a8699062.tar.gz
-- Extracting source C:/Users/cgnam/vcpkg/downloads/vira-77f084234d7f87b7d65d3139423716a2a8699062.tar.gz
-- Using source at C:/Users/cgnam/vcpkg/buildtrees/vira/src/a2a8699062-36622b99f2.clean
-- Found external ninja('1.11.0').
-- Configuring x64-windows
-- Building x64-windows-dbg
-- Building x64-windows-rel
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
Command failed: C:/Users/cgnam/vcpkg/downloads/tools/cmake-3.29.2-windows/cmake-3.29.2-windows-i386/bin/cmake.exe --build . --config Release --target install -- -v -j13
Working Directory: C:/Users/cgnam/vcpkg/buildtrees/vira/x64-windows-rel
See logs for more information:
C:\Users\cgnam\vcpkg\buildtrees\vira\install-x64-windows-rel-out.log
Call Stack (most recent call first):
installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_build.cmake:74 (vcpkg_execute_build_process)
installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_install.cmake:16 (vcpkg_cmake_build)
C:/Users/cgnam/source/repos/custom-overlay/vira/portfile.cmake:12 (vcpkg_cmake_install)
scripts/ports.cmake:192 (include)
error: building vira:x64-windows failed with: BUILD_FAILED
Код: Выделить всё
[47/48] C:\WINDOWS\system32\cmd.exe /C "C:\WINDOWS\system32\cmd.exe /C "C:\Users\cgnam\vcpkg\downloads\tools\cmake-3.29.2-windows\cmake-3.29.2-windows-i386\bin\cmake.exe -E __create_def C:\Users\cgnam\vcpkg\buildtrees\vira\x64-windows-rel\source\vira\CMakeFiles\vira.dir\.\exports.def C:\Users\cgnam\vcpkg\buildtrees\vira\x64-windows-rel\source\vira\CMakeFiles\vira.dir\.\exports.def.objs && cd C:\Users\cgnam\vcpkg\buildtrees\vira\x64-windows-rel" && C:\Users\cgnam\vcpkg\downloads\tools\cmake-3.29.2-windows\cmake-3.29.2-windows-i386\bin\cmake.exe -E vs_link_dll --intdir=source\vira\CMakeFiles\vira.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\mt.exe --manifests -- C:\PROGRA~1\MICROS~4\2022\COMMUN~1\VC\Tools\MSVC\1436~1.325\bin\Hostx64\x64\link.exe source\vira\CMakeFiles\vira.dir\color.cpp.obj source\vira\CMakeFiles\vira.dir\pose.cpp.obj source\vira\CMakeFiles\vira.dir\rigid_body.cpp.obj source\vira\CMakeFiles\vira.dir\rotation.cpp.obj source\vira\CMakeFiles\vira.dir\cameras\camera.cpp.obj source\vira\CMakeFiles\vira.dir\cameras\pinhole_camera.cpp.obj source\vira\CMakeFiles\vira.dir\cameras\blender_camera.cpp.obj source\vira\CMakeFiles\vira.dir\cameras\sensor.cpp.obj source\vira\CMakeFiles\vira.dir\dems\spc_maplet.cpp.obj source\vira\CMakeFiles\vira.dir\geometry\interfaces\obj_interface.cpp.obj source\vira\CMakeFiles\vira.dir\geometry\interfaces\ply_interface.cpp.obj source\vira\CMakeFiles\vira.dir\geometry\interfaces\dsk_interface.cpp.obj source\vira\CMakeFiles\vira.dir\geometry\mesh.cpp.obj source\vira\CMakeFiles\vira.dir\geometry\triangle.cpp.obj source\vira\CMakeFiles\vira.dir\geometry\vertex.cpp.obj source\vira\CMakeFiles\vira.dir\images\interfaces\image_interface.cpp.obj source\vira\CMakeFiles\vira.dir\images\image_utils.cpp.obj source\vira\CMakeFiles\vira.dir\images\image.cpp.obj source\vira\CMakeFiles\vira.dir\images\image_to_imagebuf.cpp.obj source\vira\CMakeFiles\vira.dir\lights\light.cpp.obj source\vira\CMakeFiles\vira.dir\lights\point_light.cpp.obj source\vira\CMakeFiles\vira.dir\lights\sphere_light.cpp.obj source\vira\CMakeFiles\vira.dir\materials\cook_torrance.cpp.obj source\vira\CMakeFiles\vira.dir\materials\ggx.cpp.obj source\vira\CMakeFiles\vira.dir\materials\lambertian.cpp.obj source\vira\CMakeFiles\vira.dir\materials\material.cpp.obj source\vira\CMakeFiles\vira.dir\materials\mcewen.cpp.obj source\vira\CMakeFiles\vira.dir\quipu\class_ids.cpp.obj source\vira\CMakeFiles\vira.dir\quipu\quipu_reader.cpp.obj source\vira\CMakeFiles\vira.dir\quipu\quipu_writer.cpp.obj source\vira\CMakeFiles\vira.dir\quipu\quipu_io.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\acceleration\aabb.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\acceleration\vira_bvh.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\acceleration\vira_embree.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\acceleration\nodes.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\acceleration\tlas.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\cpu_path_tracer.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\cpu_rasterizer.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\ray.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\renderer.cpp.obj source\vira\CMakeFiles\vira.dir\scene\scene.cpp.obj source\vira\CMakeFiles\vira.dir\scene\scene_graph.cpp.obj source\vira\CMakeFiles\vira.dir\utils\utils.cpp.obj source\vira\CMakeFiles\vira.dir\utils\spice_utils.cpp.obj /out:vira.dll /implib:source\vira\vira.lib /pdb:vira.pdb /dll /version:0.0 /machine:x64 /nologo /DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF /INCREMENTAL:NO /LTCG /DEF:source\vira\CMakeFiles\vira.dir\.\exports.def C:\Users\cgnam\vcpkg\installed\x64-windows\lib\tinyobjloader.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\lz4.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\tbb12.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\tbbmalloc.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\geotiff_i.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\proj.lib external\glob\glob.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\miniply.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\OpenImageIO.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\cspice.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\glm.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\embree3.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\tiff.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\OpenImageIO_Util.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\Imath-3_1.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
FAILED: vira.dll source/vira/vira.lib
C:\WINDOWS\system32\cmd.exe /C "C:\WINDOWS\system32\cmd.exe /C "C:\Users\cgnam\vcpkg\downloads\tools\cmake-3.29.2-windows\cmake-3.29.2-windows-i386\bin\cmake.exe -E __create_def C:\Users\cgnam\vcpkg\buildtrees\vira\x64-windows-rel\source\vira\CMakeFiles\vira.dir\.\exports.def C:\Users\cgnam\vcpkg\buildtrees\vira\x64-windows-rel\source\vira\CMakeFiles\vira.dir\.\exports.def.objs && cd C:\Users\cgnam\vcpkg\buildtrees\vira\x64-windows-rel" && C:\Users\cgnam\vcpkg\downloads\tools\cmake-3.29.2-windows\cmake-3.29.2-windows-i386\bin\cmake.exe -E vs_link_dll --intdir=source\vira\CMakeFiles\vira.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\mt.exe --manifests -- C:\PROGRA~1\MICROS~4\2022\COMMUN~1\VC\Tools\MSVC\1436~1.325\bin\Hostx64\x64\link.exe source\vira\CMakeFiles\vira.dir\color.cpp.obj source\vira\CMakeFiles\vira.dir\pose.cpp.obj source\vira\CMakeFiles\vira.dir\rigid_body.cpp.obj source\vira\CMakeFiles\vira.dir\rotation.cpp.obj source\vira\CMakeFiles\vira.dir\cameras\camera.cpp.obj source\vira\CMakeFiles\vira.dir\cameras\pinhole_camera.cpp.obj source\vira\CMakeFiles\vira.dir\cameras\blender_camera.cpp.obj source\vira\CMakeFiles\vira.dir\cameras\sensor.cpp.obj source\vira\CMakeFiles\vira.dir\dems\spc_maplet.cpp.obj source\vira\CMakeFiles\vira.dir\geometry\interfaces\obj_interface.cpp.obj source\vira\CMakeFiles\vira.dir\geometry\interfaces\ply_interface.cpp.obj source\vira\CMakeFiles\vira.dir\geometry\interfaces\dsk_interface.cpp.obj source\vira\CMakeFiles\vira.dir\geometry\mesh.cpp.obj source\vira\CMakeFiles\vira.dir\geometry\triangle.cpp.obj source\vira\CMakeFiles\vira.dir\geometry\vertex.cpp.obj source\vira\CMakeFiles\vira.dir\images\interfaces\image_interface.cpp.obj source\vira\CMakeFiles\vira.dir\images\image_utils.cpp.obj source\vira\CMakeFiles\vira.dir\images\image.cpp.obj source\vira\CMakeFiles\vira.dir\images\image_to_imagebuf.cpp.obj source\vira\CMakeFiles\vira.dir\lights\light.cpp.obj source\vira\CMakeFiles\vira.dir\lights\point_light.cpp.obj source\vira\CMakeFiles\vira.dir\lights\sphere_light.cpp.obj source\vira\CMakeFiles\vira.dir\materials\cook_torrance.cpp.obj source\vira\CMakeFiles\vira.dir\materials\ggx.cpp.obj source\vira\CMakeFiles\vira.dir\materials\lambertian.cpp.obj source\vira\CMakeFiles\vira.dir\materials\material.cpp.obj source\vira\CMakeFiles\vira.dir\materials\mcewen.cpp.obj source\vira\CMakeFiles\vira.dir\quipu\class_ids.cpp.obj source\vira\CMakeFiles\vira.dir\quipu\quipu_reader.cpp.obj source\vira\CMakeFiles\vira.dir\quipu\quipu_writer.cpp.obj source\vira\CMakeFiles\vira.dir\quipu\quipu_io.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\acceleration\aabb.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\acceleration\vira_bvh.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\acceleration\vira_embree.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\acceleration\nodes.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\acceleration\tlas.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\cpu_path_tracer.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\cpu_rasterizer.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\ray.cpp.obj source\vira\CMakeFiles\vira.dir\rendering\renderer.cpp.obj source\vira\CMakeFiles\vira.dir\scene\scene.cpp.obj source\vira\CMakeFiles\vira.dir\scene\scene_graph.cpp.obj source\vira\CMakeFiles\vira.dir\utils\utils.cpp.obj source\vira\CMakeFiles\vira.dir\utils\spice_utils.cpp.obj /out:vira.dll /implib:source\vira\vira.lib /pdb:vira.pdb /dll /version:0.0 /machine:x64 /nologo /DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF /INCREMENTAL:NO /LTCG /DEF:source\vira\CMakeFiles\vira.dir\.\exports.def C:\Users\cgnam\vcpkg\installed\x64-windows\lib\tinyobjloader.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\lz4.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\tbb12.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\tbbmalloc.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\geotiff_i.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\proj.lib external\glob\glob.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\miniply.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\OpenImageIO.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\cspice.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\glm.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\embree3.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\tiff.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\OpenImageIO_Util.lib C:\Users\cgnam\vcpkg\installed\x64-windows\lib\Imath-3_1.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
ninja: build stopped: subcommand failed.
Это porfile.cmake< /code> если это актуально:
Код: Выделить всё
vcpkg_from_git(
OUT_SOURCE_PATH SOURCE_PATH
URL git@aetd-git.gsfc.nasa.gov:vira/vira.git
REF 77f084234d7f87b7d65d3139423716a2a8699062 # 0.8.0
HEAD_REF vcpkg_dev
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(
PACKAGE_NAME "vira"
CONFIG_PATH "lib/vira/cmake"
)
# Remove empty directories:
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/vira")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/vira")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY)
РЕДАКТИРОВАТЬ:
Я обнаружил, принудив мою библиотеку для статической сборки, добавив:
Код: Выделить всё
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
Подробнее здесь: https://stackoverflow.com/questions/787 ... vcpkg-port
Мобильная версия