diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index 77cae3382..0548e405e 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -340,6 +340,20 @@ if(NOT FREETYPE_FOUND) set(FREETYPE_PKG "dep_FREETYPE") endif() +execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse --is-inside-work-tree + RESULT_VARIABLE REV_PARSE_RESULT + OUTPUT_VARIABLE REV_PARSE_OUTPUT + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +# Will output "true" and have a 0 return code if within a git repo +if((REV_PARSE_RESULT EQUAL 0) AND (REV_PARSE_OUTPUT STREQUAL "true")) + set(IN_GIT_REPO TRUE) + # Find relative path from root to source used for adjusting patch command + file(RELATIVE_PATH BINARY_DIR_REL ${CMAKE_SOURCE_DIR}/.. ${CMAKE_BINARY_DIR}) +endif () + include(OCCT/OCCT.cmake) include(OpenCV/OpenCV.cmake) diff --git a/deps/OCCT/OCCT.cmake b/deps/OCCT/OCCT.cmake index 096da413d..98c6efc98 100644 --- a/deps/OCCT/OCCT.cmake +++ b/deps/OCCT/OCCT.cmake @@ -4,15 +4,15 @@ else() set(library_build_type "Static") endif() - -# get relative path of CMAKE_BINARY_DIR against root source directory -file(RELATIVE_PATH BINARY_DIR_REL ${CMAKE_SOURCE_DIR}/.. ${CMAKE_BINARY_DIR}) +if (IN_GIT_REPO) + set(OCCT_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT) +endif () orcaslicer_add_cmake_project(OCCT URL https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_0.zip URL_HASH SHA256=28334f0e98f1b1629799783e9b4d21e05349d89e695809d7e6dfa45ea43e1dbc #PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch - PATCH_COMMAND git apply --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch + PATCH_COMMAND git apply ${OCCT_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch #DEPENDS dep_Boost DEPENDS ${FREETYPE_PKG} CMAKE_ARGS diff --git a/deps/OpenCV/OpenCV.cmake b/deps/OpenCV/OpenCV.cmake index 6d62b018a..23cbafa2a 100644 --- a/deps/OpenCV/OpenCV.cmake +++ b/deps/OpenCV/OpenCV.cmake @@ -4,10 +4,14 @@ else () set(_use_IPP "-DWITH_IPP=OFF") endif () +if (IN_GIT_REPO) + set(OpenCV_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OpenCV-prefix/src/dep_OpenCV) +endif () + orcaslicer_add_cmake_project(OpenCV URL https://github.com/opencv/opencv/archive/refs/tags/4.6.0.tar.gz URL_HASH SHA256=1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277 - PATCH_COMMAND git apply --directory ${BINARY_DIR_REL}/dep_OpenCV-prefix/src/dep_OpenCV --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-vs2022.patch + PATCH_COMMAND git apply ${OpenCV_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-vs2022.patch CMAKE_ARGS -DBUILD_SHARED_LIBS=0 -DBUILD_PERE_TESTS=OFF