forked from microsoft/vcpkg
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[colmap] Add port for COLMAP 3.6 (microsoft#12410)
* [colmap] Add port for COLMAP 3.6-dev.3 * Fixed some errors in portfile * Fixing some errors in portfile. These changes also move the binary (and *.bat) to `tools/` otherwise I get `POST_BUILD_CHECKS_FAILED`. I followed this recommendation: microsoft#834 (comment) Now the *.bat files need to be fixed with the correct path to `tools/` * Update ports/colmap/portfile.cmake Co-authored-by: Robert Schumacher <[email protected]> * Update ports/colmap/portfile.cmake Co-authored-by: Robert Schumacher <[email protected]> * Update ports/colmap/usage Co-authored-by: Robert Schumacher <[email protected]> * First working version, the line `vcpkg_copy_tools(TOOL_NAMES colmap AUTO_CLEAN)` helped. Now it does work running: > <vcpkg-root>\vcpkg\packages\colmap_x64-windows\tools\colmap\colmap.exe > <vcpkg-root>\vcpkg\packages\colmap_x64-windows\tools\colmap\colmap.exe gui ToDo: use `vcpkg.json`. * Using `vcpkg.json` instead of CONTROL file * Formatting json file: ./vcpkg.exe x-format-manifest --all * Changes suggested by @ahojnnes (colmap author). Waiting for the 3.7 release (probably today) to update the `REF` and `SHA512` * Changes proposed from @ahojnne to handle the internal colmap variables `DGIT_COMMIT_ID` and `DGIT_COMMIT_DATE` * Enabling TESTS (changes sent by @ahojnnes) * Updated to lastest tag to 3.6 * Updating to 3.6 * Ceres was missing suitesparse/lapack * Update ports/colmap/portfile.cmake (commit suggested by JackBoosY) Co-authored-by: Jack·Boos·Yu <[email protected]> * format manifest * Update ports/colmap/portfile.cmake Co-authored-by: nicole mazzuca <[email protected]> Co-authored-by: Robert Schumacher <[email protected]> Co-authored-by: JackBoosY <[email protected]> Co-authored-by: Jack·Boos·Yu <[email protected]> Co-authored-by: nicole mazzuca <[email protected]>
- Loading branch information
1 parent
accd1c8
commit 6289ef0
Showing
3 changed files
with
154 additions
and
0 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,89 @@ | ||
set(COLMAP_REF "3.6") | ||
|
||
vcpkg_from_github( | ||
OUT_SOURCE_PATH SOURCE_PATH | ||
REPO colmap/colmap | ||
REF ${COLMAP_REF} | ||
SHA512 9a4b4f2a49891ce8ac32ab1f2e9b859336326bada889e6de49c017a069884bb6c8ab8a2ae430d955e58fc22377c63e8fba9ce80ff959713e2878e29814d44632 | ||
HEAD_REF dev | ||
) | ||
|
||
if (NOT TRIPLET_SYSTEM_ARCH STREQUAL "x64" AND ("cuda" IN_LIST FEATURES OR "cuda-redist" IN_LIST FEATURES)) | ||
message(FATAL_ERROR "Feature cuda and cuda-redist require x64 triplet.") | ||
endif() | ||
|
||
# set GIT_COMMIT_ID and GIT_COMMIT_DATE | ||
if(DEFINED VCPKG_HEAD_VERSION) | ||
set(GIT_COMMIT_ID "${VCPKG_HEAD_VERSION}") | ||
else() | ||
set(GIT_COMMIT_ID "${COLMAP_REF}") | ||
endif() | ||
|
||
string(TIMESTAMP COLMAP_GIT_COMMIT_DATE "%Y-%m-%d") | ||
|
||
set(CUDA_ENABLED OFF) | ||
set(TESTS_ENABLED OFF) | ||
|
||
if("cuda" IN_LIST FEATURES) | ||
set(CUDA_ENABLED ON) | ||
endif() | ||
|
||
if("cuda-redist" IN_LIST FEATURES) | ||
set(CUDA_ENABLED ON) | ||
set(CUDA_ARCHS "Common") | ||
endif() | ||
|
||
if("tests" IN_LIST FEATURES) | ||
set(TESTS_ENABLED ON) | ||
endif() | ||
|
||
vcpkg_configure_cmake( | ||
SOURCE_PATH ${SOURCE_PATH} | ||
PREFER_NINJA | ||
OPTIONS | ||
-DCUDA_ENABLED=${CUDA_ENABLED} | ||
-DCUDA_ARCHS=${CUDA_ARCHS} | ||
-DTESTS_ENABLED=${TESTS_ENABLED} | ||
-DGIT_COMMIT_ID=${GIT_COMMIT_ID} | ||
-DGIT_COMMIT_DATE=${COLMAP_GIT_COMMIT_DATE} | ||
) | ||
|
||
vcpkg_install_cmake() | ||
|
||
vcpkg_fixup_cmake_targets() | ||
|
||
file(GLOB TOOL_FILENAMES "${CURRENT_PACKAGES_DIR}/bin/*") | ||
foreach(TOOL_FILENAME ${TOOL_FILENAMES}) | ||
get_filename_component(TEST_TOOL_NAME ${TOOL_FILENAME} NAME_WLE) | ||
list(APPEND COLMAP_TOOL_NAMES "${TEST_TOOL_NAME}") | ||
endforeach() | ||
|
||
vcpkg_copy_tools(TOOL_NAMES ${COLMAP_TOOL_NAMES} AUTO_CLEAN) | ||
|
||
# remove empty folders and unused files | ||
file(REMOVE_RECURSE | ||
${CURRENT_PACKAGES_DIR}/debug/include | ||
${CURRENT_PACKAGES_DIR}/debug/share | ||
${CURRENT_PACKAGES_DIR}/debug/include/colmap/exe | ||
${CURRENT_PACKAGES_DIR}/debug/include/colmap/lib/Graclus/multilevelLib | ||
${CURRENT_PACKAGES_DIR}/debug/include/colmap/tools | ||
${CURRENT_PACKAGES_DIR}/debug/include/colmap/ui/media | ||
${CURRENT_PACKAGES_DIR}/debug/include/colmap/ui/shaders | ||
${CURRENT_PACKAGES_DIR}/include/colmap/exe | ||
${CURRENT_PACKAGES_DIR}/include/colmap/lib/Graclus/multilevelLib | ||
${CURRENT_PACKAGES_DIR}/include/colmap/tools | ||
${CURRENT_PACKAGES_DIR}/include/colmap/ui/media | ||
${CURRENT_PACKAGES_DIR}/include/colmap/ui/shaders | ||
${CURRENT_PACKAGES_DIR}/COLMAP.bat | ||
${CURRENT_PACKAGES_DIR}/RUN_TESTS.bat | ||
${CURRENT_PACKAGES_DIR}/debug/COLMAP.bat | ||
${CURRENT_PACKAGES_DIR}/debug/RUN_TESTS.bat | ||
${CURRENT_PACKAGES_DIR}/debug/bin | ||
) | ||
|
||
vcpkg_copy_pdbs() | ||
|
||
file(INSTALL ${SOURCE_PATH}/COPYING.txt | ||
DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} | ||
RENAME 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
For example, under Windows, execute COLMAP as: | ||
|
||
<VCPKG-ROOT>\packages\colmap_<TRIPLET>\tools\colmap\colmap.exe gui | ||
<VCPKG-ROOT>\packages\colmap_<TRIPLET>\tools\colmap\colmap.exe mapper | ||
<VCPKG-ROOT>\packages\colmap_<TRIPLET>\tools\colmap\colmap.exe ... | ||
|
||
The package colmap provides CMake integration: | ||
|
||
find_package(COLMAP REQUIRED) | ||
target_link_libraries(main ${COLMAP_LIBRARIES}) |
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,55 @@ | ||
{ | ||
"name": "colmap", | ||
"version-string": "3.6", | ||
"description": "COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a graphical and command-line interface. It offers a wide range of features for reconstruction of ordered and unordered image collections. The software is licensed under the new BSD license.", | ||
"homepage": "https://colmap.github.io/", | ||
"license": "BSD-3-Clause", | ||
"dependencies": [ | ||
"boost-filesystem", | ||
"boost-graph", | ||
"boost-program-options", | ||
"boost-regex", | ||
"boost-system", | ||
"boost-test", | ||
{ | ||
"name": "ceres", | ||
"features": [ | ||
"lapack", | ||
"suitesparse" | ||
] | ||
}, | ||
{ | ||
"name": "cgal", | ||
"features": [ | ||
"qt" | ||
] | ||
}, | ||
"eigen3", | ||
"freeimage", | ||
"gflags", | ||
"glew", | ||
"glog", | ||
"qt5-base", | ||
"suitesparse" | ||
], | ||
"features": [ | ||
{ | ||
"name": "cuda", | ||
"description": "CUDA support for current compute architecture of this machine.", | ||
"dependencies": [ | ||
"cuda" | ||
] | ||
}, | ||
{ | ||
"name": "cuda-redist", | ||
"description": "Redistributable CUDA support for common supported compute architectures.", | ||
"dependencies": [ | ||
"cuda" | ||
] | ||
}, | ||
{ | ||
"name": "tests", | ||
"description": "Enable TESTS." | ||
} | ||
] | ||
} |