Merge branch 'fetch_content' into 'master'

Fetch content

See merge request OpenMesh/OpenMesh!342
This commit is contained in:
Jan Möbius
2023-11-29 11:26:20 +00:00
6 changed files with 174 additions and 201 deletions

View File

@@ -19,7 +19,6 @@ IF "%SHARED%" == "TRUE" (
IF "%BUILD_PLATFORM%" == "VS2015" ( IF "%BUILD_PLATFORM%" == "VS2015" (
set LIBPATH=E:\libs\VS2015 set LIBPATH=E:\libs\VS2015
set GTESTVERSION=gtest-1.7.0
set GENERATOR=Visual Studio 14%ARCH_VS% set GENERATOR=Visual Studio 14%ARCH_VS%
set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com" set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com"
@@ -37,7 +36,6 @@ IF "%BUILD_PLATFORM%" == "VS2015" (
IF "%BUILD_PLATFORM%" == "VS2017" ( IF "%BUILD_PLATFORM%" == "VS2017" (
set LIBPATH=E:\libs\VS2017 set LIBPATH=E:\libs\VS2017
set GTESTVERSION=gtest-1.7.0
set GENERATOR=Visual Studio 15%ARCH_VS% set GENERATOR=Visual Studio 15%ARCH_VS%
set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.com" set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.com"
@@ -51,7 +49,6 @@ IF "%BUILD_PLATFORM%" == "VS2017" (
IF "%BUILD_PLATFORM%" == "VS2019" ( IF "%BUILD_PLATFORM%" == "VS2019" (
set LIBPATH=E:\libs\VS2019 set LIBPATH=E:\libs\VS2019
set GTESTVERSION=gtest-1.11.0
set GENERATOR=Visual Studio 16 2019 set GENERATOR=Visual Studio 16 2019
set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.com" set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.com"
@@ -91,7 +88,6 @@ ECHO "Building with :"
whoami whoami
ECHO "ARCHITECTURE : %ARCHITECTURE%" ECHO "ARCHITECTURE : %ARCHITECTURE%"
ECHO "BUILD_PLATFORM : %BUILD_PLATFORM%" ECHO "BUILD_PLATFORM : %BUILD_PLATFORM%"
ECHO "GTESTVERSION : %GTESTVERSION%"
ECHO "GENERATOR : %GENERATOR%" ECHO "GENERATOR : %GENERATOR%"
ECHO "VS_PATH : %VS_PATH%" ECHO "VS_PATH : %VS_PATH%"
ECHO "LIBPATH : %LIBPATH%" ECHO "LIBPATH : %LIBPATH%"
@@ -120,7 +116,7 @@ IF EXIST %QT_INSTALL_PATH%\ (
) )
"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_ROOT="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DBUILD_APPS=%APPS% -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_WINDOWS_LIBS_DIR="e:\libs" -DOPENMESH_BUILD_SHARED=%SHARED% %CMAKE_CONFIGURATION% .. "C:\Program Files\CMake\bin\cmake.exe" -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DBUILD_APPS=%APPS% -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_WINDOWS_LIBS_DIR="e:\libs" -DOPENMESH_BUILD_SHARED=%SHARED% %CMAKE_CONFIGURATION% ..
%VS_PATH% /Build "Release" OpenMesh.sln /Project "ALL_BUILD" %VS_PATH% /Build "Release" OpenMesh.sln /Project "ALL_BUILD"
@@ -142,7 +138,7 @@ mkdir build-debug
cd build-debug cd build-debug
"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_ROOT="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_BUILD_TYPE=Debug -DOPENMESH_BUILD_SHARED=%SHARED% -DBUILD_APPS=%APPS% %CMAKE_CONFIGURATION% .. "C:\Program Files\CMake\bin\cmake.exe" -G "%GENERATOR%" -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_BUILD_TYPE=Debug -DOPENMESH_BUILD_SHARED=%SHARED% -DBUILD_APPS=%APPS% %CMAKE_CONFIGURATION% ..
%VS_PATH% /Build "Debug" OpenMesh.sln /Project "ALL_BUILD" %VS_PATH% /Build "Debug" OpenMesh.sln /Project "ALL_BUILD"
@@ -174,7 +170,7 @@ cd build-release
del *.exe del *.exe
"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_ROOT="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DBUILD_APPS=%APPS% -DCMAKE_BUILD_TYPE=Release %CMAKE_CONFIGURATION% .. "C:\Program Files\CMake\bin\cmake.exe" -G "%GENERATOR%" -DBUILD_APPS=%APPS% -DCMAKE_BUILD_TYPE=Release %CMAKE_CONFIGURATION% ..
%VS_PATH% /Build "Release" OpenMesh.sln /Project "PACKAGE" %VS_PATH% /Build "Release" OpenMesh.sln /Project "PACKAGE"

View File

@@ -7,14 +7,6 @@ OPTIONS=""
MAKE_OPTIONS="" MAKE_OPTIONS=""
BUILDPATH="" BUILDPATH=""
# set GTEST path
if [ -d "$HOME/sw/gtest-1.10.0" ]; then
OPTIONS="-DGTEST_ROOT=$HOME/sw/gtest-1.10.0"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$HOME/sw/gtest-1.10.0/lib"
else
OPTIONS="-DGTEST_ROOT=/usr/src/gtest/"
fi
if [ "$COMPILER" == "gcc" ]; then if [ "$COMPILER" == "gcc" ]; then
echo "Building with GCC"; echo "Building with GCC";
BUILDPATH="gcc" BUILDPATH="gcc"

View File

@@ -11,9 +11,6 @@ export PATH
OPTIONS="" OPTIONS=""
# set GTEST path
OPTIONS="$OPTIONS -DGTEST_ROOT=~/sw/gtest-1.7.0/"
if [ "$LANGUAGE" == "cpp98" ]; then if [ "$LANGUAGE" == "cpp98" ]; then
echo "Building with C++98"; echo "Building with C++98";
BUILDPATH="cpp98" BUILDPATH="cpp98"

View File

@@ -66,17 +66,22 @@ unittests_vdpm.cc
unittests_vector_type.cc unittests_vector_type.cc
) )
if (NOT DEFINED OPENMESH_BUILD_UNIT_TESTS) if (NOT DEFINED OPENMESH_BUILD_UNIT_TESTS)
set(OPENMESH_BUILD_UNIT_TESTS false CACHE BOOL "Enable or disable unit test builds in OpenMesh.") set(OPENMESH_BUILD_UNIT_TESTS false CACHE BOOL "Enable or disable unit test builds in OpenMesh.")
endif() endif()
if (OPENMESH_BUILD_UNIT_TESTS) if (OPENMESH_BUILD_UNIT_TESTS)
# Search for gtest headers and libraries # Fetch Gtest from github
find_package(GTest) include(FetchContent)
FetchContent_Declare(
if(GTEST_FOUND) googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG f8d7d77c06936315286eb55f8de22cd23c188571 # v1.14.0
#FIND_PACKAGE_ARGS NAMES GTest
)
# For Windows: Prevent overriding the parent project's compiler/linker settings
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
enable_testing() enable_testing()
@@ -85,11 +90,9 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
# Set correct include paths so that the compiler can find the headers # Set correct include paths so that the compiler can find the headers
include_directories(${GTEST_INCLUDE_DIRS}) include_directories(${GTEST_INCLUDE_DIRS})
# Set additional link directories
# set additional link directories
link_directories(${GTEST_LIBRARY_DIR}) link_directories(${GTEST_LIBRARY_DIR})
if (TARGET Eigen3::Eigen) if (TARGET Eigen3::Eigen)
add_definitions(-DENABLE_EIGEN3_TEST) add_definitions(-DENABLE_EIGEN3_TEST)
link_libraries(Eigen3::Eigen) link_libraries(Eigen3::Eigen)
@@ -122,28 +125,22 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
set_target_properties(unittests_doublevec PROPERTIES RUNTIME_OUTPUT_DIRECTORY_${UPCONFIG} ${OUTPUT_DIR}) set_target_properties(unittests_doublevec PROPERTIES RUNTIME_OUTPUT_DIRECTORY_${UPCONFIG} ${OUTPUT_DIR})
endforeach () endforeach ()
if (NOT WIN32) if (NOT WIN32)
# Link against all necessary libraries # Link against all necessary libraries
target_link_libraries(unittests OpenMeshCore OpenMeshTools ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES} pthread) target_link_libraries(unittests OpenMeshCore OpenMeshTools GTest::gtest GTest::gtest_main pthread)
target_link_libraries(unittests_customvec OpenMeshCore OpenMeshTools ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES} pthread) target_link_libraries(unittests_customvec OpenMeshCore OpenMeshTools GTest::gtest GTest::gtest_main pthread)
target_link_libraries(unittests_doublevec OpenMeshCore OpenMeshTools ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES} pthread) target_link_libraries(unittests_doublevec OpenMeshCore OpenMeshTools GTest::gtest GTest::gtest_main pthread)
else() else()
# Link against all necessary libraries # Link against all necessary libraries
target_link_libraries(unittests OpenMeshCore OpenMeshTools GTest::gtest GTest::gtest_main)
target_link_libraries(unittests_customvec OpenMeshCore OpenMeshTools GTest::gtest GTest::gtest_main)
target_link_libraries(unittests_doublevec OpenMeshCore OpenMeshTools GTest::gtest GTest::gtest_main)
if (OPENMESH_BUILD_SHARED) if (OPENMESH_BUILD_SHARED)
add_definitions(-DOPENMESHDLL) add_definitions(-DOPENMESHDLL)
endif() endif()
target_link_libraries(unittests OpenMeshCore OpenMeshTools ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES})
target_link_libraries(unittests_customvec OpenMeshCore OpenMeshTools ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES})
target_link_libraries(unittests_doublevec OpenMeshCore OpenMeshTools ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES})
endif() endif()
if (NOT WIN32) if (NOT WIN32)
# Set compiler flags # Set compiler flags
set_target_properties(unittests PROPERTIES COMPILE_FLAGS "-g -pedantic -Wno-long-long") set_target_properties(unittests PROPERTIES COMPILE_FLAGS "-g -pedantic -Wno-long-long")
@@ -157,8 +154,7 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
endif() endif()
if (OPENMESH_BUILD_SHARED) if (OPENMESH_BUILD_SHARED)
# Copy dlls to unittests
#-------- copy dlls to unittests --------
SET(OPENMESH_TARGETS "OpenMeshTools" "OpenMeshCore") SET(OPENMESH_TARGETS "OpenMeshTools" "OpenMeshCore")
foreach (TAR ${OPENMESH_TARGETS}) foreach (TAR ${OPENMESH_TARGETS})
@@ -187,8 +183,4 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
add_test(NAME AllTestsIn_OpenMesh_tests WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/Unittests" COMMAND "${CMAKE_BINARY_DIR}/Unittests/unittests") add_test(NAME AllTestsIn_OpenMesh_tests WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/Unittests" COMMAND "${CMAKE_BINARY_DIR}/Unittests/unittests")
add_test(NAME AllTestsIn_OpenMesh_tests_with_minimal_vector WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/Unittests" COMMAND "${CMAKE_BINARY_DIR}/Unittests/unittests_customvec") add_test(NAME AllTestsIn_OpenMesh_tests_with_minimal_vector WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/Unittests" COMMAND "${CMAKE_BINARY_DIR}/Unittests/unittests_customvec")
add_test(NAME AllTestsIn_OpenMesh_tests_with_double_vector WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/Unittests" COMMAND "${CMAKE_BINARY_DIR}/Unittests/unittests_doublevec") add_test(NAME AllTestsIn_OpenMesh_tests_with_double_vector WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/Unittests" COMMAND "${CMAKE_BINARY_DIR}/Unittests/unittests_doublevec")
else(GTEST_FOUND)
message(STATUS "Google testing framework was not found, unittests disabled.")
endif(GTEST_FOUND)
endif() endif()

View File

@@ -749,7 +749,7 @@ TEST_F(OpenMeshProperties, PropertyIterators ) {
TEST_F(OpenMeshProperties, MeshAssignment ) { TEST_F(OpenMeshProperties, MeshAssignment ) {
mesh_.clear(); mesh_.clear();
mesh_.add_vertex(Mesh::Point()); mesh_.add_vertex(Mesh::Point(0, 0, 0));
auto copy = mesh_; auto copy = mesh_;

View File

@@ -49,15 +49,11 @@ TEST_F(OpenMeshDirectSettingProperties, SetVertexPositionsDirectly) {
auto point_vector = mesh_.property(pos_pro).data_vector(); auto point_vector = mesh_.property(pos_pro).data_vector();
int vertex_count = 0; auto vertex_count = point_vector.size();
for( auto p : point_vector) {
// std::cerr << p[0] << " " << p[1] << " " << p[2] << std::endl;
++vertex_count;
}
EXPECT_EQ(4u, mesh_.n_vertices() ) << "Wrong number of vertices"; EXPECT_EQ(4u, mesh_.n_vertices() ) << "Wrong number of vertices";
EXPECT_EQ(4, vertex_count) << "Wrong number of vertices when counting direct point property vector"; EXPECT_EQ(4u, vertex_count) << "Wrong number of vertices when counting direct point property vector";
} }