Compare commits
No commits in common. "rawhide" and "f27" have entirely different histories.
14 changed files with 197 additions and 1476 deletions
15
.gitignore
vendored
15
.gitignore
vendored
|
|
@ -1,2 +1,13 @@
|
|||
/CuraEngine-*.tar.gz
|
||||
/Scripta_public-*.tar.gz
|
||||
/13.06.3.tar.gz
|
||||
/13.11.2.tar.gz
|
||||
/14.01.tar.gz
|
||||
/14.03.tar.gz
|
||||
/14.12.1.tar.gz
|
||||
/15.04.tar.gz
|
||||
/CuraEngine-2.5.0.tar.gz
|
||||
/CuraEngine-2.6.0.tar.gz
|
||||
/CuraEngine-2.6.1.tar.gz
|
||||
/CuraEngine-2.7.0.tar.gz
|
||||
/CuraEngine-3.0.3.tar.gz
|
||||
/CuraEngine-3.1.0.tar.gz
|
||||
/CuraEngine-3.2.1.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,25 +0,0 @@
|
|||
From 85c690a98d716e1709690ab64fe6d8d6e2f3381a Mon Sep 17 00:00:00 2001
|
||||
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
|
||||
Date: Sun, 29 Jan 2023 10:23:00 -0500
|
||||
Subject: [PATCH] Add an #include needed for GCC 13
|
||||
|
||||
This is a (very) partial backport of de60e86a6ea11cb7d121471b5dd192e5deac0f3d.
|
||||
---
|
||||
src/utils/math.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/utils/math.h b/src/utils/math.h
|
||||
index e36788fb..518cad05 100644
|
||||
--- a/src/utils/math.h
|
||||
+++ b/src/utils/math.h
|
||||
@@ -4,6 +4,7 @@
|
||||
#ifndef UTILS_MATH_H
|
||||
#define UTILS_MATH_H
|
||||
|
||||
+#include <cstdint>
|
||||
#include <cmath>
|
||||
|
||||
|
||||
--
|
||||
2.39.1
|
||||
|
||||
417
CMakeLists.txt
417
CMakeLists.txt
|
|
@ -1,417 +0,0 @@
|
|||
#Copyright (c) 2020 Ultimaker B.V.
|
||||
#CuraEngine is released under the terms of the AGPLv3 or higher.
|
||||
|
||||
cmake_minimum_required(VERSION 3.8.0)
|
||||
|
||||
project(CuraEngine)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
|
||||
option(ENABLE_ARCUS "Enable support for ARCUS" ON)
|
||||
|
||||
if (MSVC)
|
||||
option(MSVC_STATIC_RUNTIME "Link the MSVC runtime statically" OFF)
|
||||
endif()
|
||||
|
||||
if(ENABLE_ARCUS)
|
||||
message(STATUS "Building with Arcus")
|
||||
# We want to have access to protobuf_generate_cpp and other FindProtobuf features.
|
||||
# However, if ProtobufConfig is used instead, there is a CMake option that controls
|
||||
# this, which defaults to OFF. We need to force this option to ON instead.
|
||||
set(protobuf_MODULE_COMPATIBLE ON CACHE INTERNAL "" FORCE)
|
||||
find_package(Protobuf 3.0.0 REQUIRED)
|
||||
find_package(Arcus REQUIRED)
|
||||
add_definitions(-DARCUS)
|
||||
find_program(PROTOC "protoc")
|
||||
if(${PROTOC} STREQUAL "PROTOC-NOTFOUND")
|
||||
message(FATAL_ERROR "Protobuf compiler missing")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#For reading image files.
|
||||
find_package(Stb REQUIRED)
|
||||
include_directories(${Stb_INCLUDE_DIRS})
|
||||
|
||||
option(USE_SYSTEM_LIBS "Use the system libraries if available" OFF)
|
||||
if(USE_SYSTEM_LIBS)
|
||||
find_package(RapidJSON CONFIG REQUIRED)
|
||||
find_package(Polyclipping REQUIRED)
|
||||
endif()
|
||||
|
||||
# convert build type to upper case letters
|
||||
if(CMAKE_BUILD_TYPE)
|
||||
string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER)
|
||||
endif()
|
||||
|
||||
if(CMAKE_BUILD_TYPE_UPPER MATCHES "DEBUG")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG_INIT}")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE_INIT}")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
|
||||
if(APPLE AND CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
|
||||
endif()
|
||||
|
||||
OPTION(SET_RPATH ON)
|
||||
|
||||
if(SET_RPATH)
|
||||
if(NOT DEFINED LIB_SUFFIX)
|
||||
set(LIB_SUFFIX "")
|
||||
endif()
|
||||
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
|
||||
endif()
|
||||
|
||||
set(CURA_ENGINE_VERSION "master" CACHE STRING "Version name of Cura")
|
||||
|
||||
option(BUILD_TESTS OFF)
|
||||
|
||||
# Add a compiler flag to check the output for insane values if we are in debug mode.
|
||||
if(CMAKE_BUILD_TYPE_UPPER MATCHES "DEBUG" OR CMAKE_BUILD_TYPE_UPPER MATCHES "RELWITHDEBINFO")
|
||||
message(STATUS "Building debug release of CuraEngine.")
|
||||
if (NOT MSVC)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra -O0 -g -fno-omit-frame-pointer")
|
||||
endif()
|
||||
add_definitions(-DASSERT_INSANE_OUTPUT)
|
||||
add_definitions(-DUSE_CPU_TIME)
|
||||
add_definitions(-DDEBUG)
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /permissive- /Zc:twoPhase- /EHsc /W3")
|
||||
if (MSVC_STATIC_RUNTIME)
|
||||
foreach(flag_var
|
||||
CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
)
|
||||
if(${flag_var} MATCHES "/MD")
|
||||
string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") # Add warnings
|
||||
endif()
|
||||
|
||||
option (ENABLE_MORE_COMPILER_OPTIMIZATION_FLAGS
|
||||
"Enable more optimization flags" ON)
|
||||
if (ENABLE_MORE_COMPILER_OPTIMIZATION_FLAGS AND NOT (CMAKE_BUILD_TYPE_UPPER MATCHES "DEBUG"))
|
||||
message (STATUS "Compile with more optimization flags")
|
||||
if (MSVC)
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} /fp:fast")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -Ofast -funroll-loops")
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
if(NOT APPLE AND NOT WIN32)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libstdc++")
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
add_definitions(-DNOMINMAX)
|
||||
endif()
|
||||
|
||||
add_definitions(-DSPDLOG_FMT_EXTERNAL)
|
||||
|
||||
option (ENABLE_OPENMP
|
||||
"Use OpenMP for parallel code" ON)
|
||||
|
||||
if (ENABLE_OPENMP)
|
||||
FIND_PACKAGE( OpenMP )
|
||||
if( OPENMP_FOUND )
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}" )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(USE_SYSTEM_LIBS)
|
||||
include_directories(${Polyclipping_INCLUDE_DIRS} "${CMAKE_BINARY_DIR}" ${RAPIDJSON_INCLUDE_DIRS} include)
|
||||
else()
|
||||
include_directories("${CMAKE_CURRENT_BINARY_DIR}" libs libs/clipper include)
|
||||
add_library(clipper STATIC libs/clipper/clipper.cpp)
|
||||
endif()
|
||||
|
||||
set(engine_SRCS # Except main.cpp.
|
||||
src/Application.cpp
|
||||
src/bridge.cpp
|
||||
src/ConicalOverhang.cpp
|
||||
src/ExtruderTrain.cpp
|
||||
src/FffGcodeWriter.cpp
|
||||
src/FffPolygonGenerator.cpp
|
||||
src/FffProcessor.cpp
|
||||
src/gcodeExport.cpp
|
||||
src/GCodePathConfig.cpp
|
||||
src/infill.cpp
|
||||
src/InsetOrderOptimizer.cpp
|
||||
src/InterlockingGenerator.cpp
|
||||
src/layerPart.cpp
|
||||
src/LayerPlan.cpp
|
||||
src/LayerPlanBuffer.cpp
|
||||
src/mesh.cpp
|
||||
src/MeshGroup.cpp
|
||||
src/Mold.cpp
|
||||
src/multiVolumes.cpp
|
||||
src/PathOrderPath.cpp
|
||||
src/Preheat.cpp
|
||||
src/PrimeTower.cpp
|
||||
src/raft.cpp
|
||||
src/Scene.cpp
|
||||
src/SkeletalTrapezoidation.cpp
|
||||
src/SkeletalTrapezoidationGraph.cpp
|
||||
src/skin.cpp
|
||||
src/SkirtBrim.cpp
|
||||
src/SupportInfillPart.cpp
|
||||
src/Slice.cpp
|
||||
src/sliceDataStorage.cpp
|
||||
src/slicer.cpp
|
||||
src/support.cpp
|
||||
src/timeEstimate.cpp
|
||||
src/TopSurface.cpp
|
||||
src/TreeModelVolumes.cpp
|
||||
src/TreeSupport.cpp
|
||||
src/TreeSupportTipGenerator.cpp
|
||||
src/WallToolPaths.cpp
|
||||
src/WallsComputation.cpp
|
||||
|
||||
src/BeadingStrategy/BeadingStrategy.cpp
|
||||
src/BeadingStrategy/BeadingStrategyFactory.cpp
|
||||
src/BeadingStrategy/DistributedBeadingStrategy.cpp
|
||||
src/BeadingStrategy/LimitedBeadingStrategy.cpp
|
||||
src/BeadingStrategy/OuterWallInsetBeadingStrategy.cpp
|
||||
src/BeadingStrategy/RedistributeBeadingStrategy.cpp
|
||||
src/BeadingStrategy/WideningBeadingStrategy.cpp
|
||||
|
||||
src/communication/ArcusCommunication.cpp
|
||||
src/communication/ArcusCommunicationPrivate.cpp
|
||||
src/communication/CommandLine.cpp
|
||||
src/communication/Listener.cpp
|
||||
|
||||
src/infill/ImageBasedDensityProvider.cpp
|
||||
src/infill/NoZigZagConnectorProcessor.cpp
|
||||
src/infill/ZigzagConnectorProcessor.cpp
|
||||
src/infill/LightningDistanceField.cpp
|
||||
src/infill/LightningGenerator.cpp
|
||||
src/infill/LightningLayer.cpp
|
||||
src/infill/LightningTreeNode.cpp
|
||||
src/infill/SierpinskiFill.cpp
|
||||
src/infill/SierpinskiFillProvider.cpp
|
||||
src/infill/SubDivCube.cpp
|
||||
src/infill/GyroidInfill.cpp
|
||||
|
||||
src/pathPlanning/Comb.cpp
|
||||
src/pathPlanning/GCodePath.cpp
|
||||
src/pathPlanning/LinePolygonsCrossings.cpp
|
||||
src/pathPlanning/NozzleTempInsert.cpp
|
||||
src/pathPlanning/TimeMaterialEstimates.cpp
|
||||
|
||||
src/progress/Progress.cpp
|
||||
src/progress/ProgressStageEstimator.cpp
|
||||
|
||||
src/settings/AdaptiveLayerHeights.cpp
|
||||
src/settings/FlowTempGraph.cpp
|
||||
src/settings/PathConfigStorage.cpp
|
||||
src/settings/Settings.cpp
|
||||
src/settings/ZSeamConfig.cpp
|
||||
|
||||
src/utils/AABB.cpp
|
||||
src/utils/AABB3D.cpp
|
||||
src/utils/Date.cpp
|
||||
src/utils/ExtrusionJunction.cpp
|
||||
src/utils/ExtrusionLine.cpp
|
||||
src/utils/ExtrusionSegment.cpp
|
||||
src/utils/FMatrix4x3.cpp
|
||||
src/utils/gettime.cpp
|
||||
src/utils/LinearAlg2D.cpp
|
||||
src/utils/ListPolyIt.cpp
|
||||
src/utils/MinimumSpanningTree.cpp
|
||||
src/utils/Point3.cpp
|
||||
src/utils/PolygonConnector.cpp
|
||||
src/utils/PolygonsPointIndex.cpp
|
||||
src/utils/PolygonsSegmentIndex.cpp
|
||||
src/utils/PolylineStitcher.cpp
|
||||
src/utils/polygonUtils.cpp
|
||||
src/utils/polygon.cpp
|
||||
src/utils/ProximityPointLink.cpp
|
||||
src/utils/Simplify.cpp
|
||||
src/utils/SVG.cpp
|
||||
src/utils/socket.cpp
|
||||
src/utils/SquareGrid.cpp
|
||||
src/utils/ThreadPool.cpp
|
||||
src/utils/ToolpathVisualizer.cpp
|
||||
src/utils/VoronoiUtils.cpp
|
||||
src/utils/VoxelUtils.cpp
|
||||
)
|
||||
|
||||
# List of tests. For each test there must be a file tests/${NAME}.cpp.
|
||||
set(engine_TEST
|
||||
GCodeExportTest
|
||||
InfillTest
|
||||
LayerPlanTest
|
||||
MergeInfillLinesTest
|
||||
PathOrderMonotonicTest
|
||||
TimeEstimateCalculatorTest
|
||||
)
|
||||
set(engine_TEST_INTEGRATION
|
||||
SlicePhaseTest
|
||||
)
|
||||
set(engine_TEST_SETTINGS
|
||||
SettingsTest
|
||||
)
|
||||
if (ENABLE_ARCUS)
|
||||
set(engine_TEST_ARCUS
|
||||
ArcusCommunicationTest
|
||||
ArcusCommunicationPrivateTest
|
||||
)
|
||||
endif ()
|
||||
set(engine_TEST_UTILS
|
||||
AABBTest
|
||||
AABB3DTest
|
||||
IntPointTest
|
||||
LinearAlg2DTest
|
||||
MinimumSpanningTreeTest
|
||||
PolygonConnectorTest
|
||||
PolygonTest
|
||||
PolygonUtilsTest
|
||||
SparseGridTest
|
||||
StringTest
|
||||
UnionFindTest
|
||||
)
|
||||
|
||||
# Helper classes for some tests.
|
||||
set(engine_TEST_ARCUS_HELPERS
|
||||
tests/arcus/MockSocket.cpp
|
||||
)
|
||||
set(engine_TEST_HELPERS
|
||||
tests/ReadTestPolygons.cpp
|
||||
)
|
||||
|
||||
# Generating ProtoBuf protocol
|
||||
if (ENABLE_ARCUS)
|
||||
protobuf_generate_cpp(engine_PB_SRCS engine_PB_HEADERS Cura.proto)
|
||||
endif ()
|
||||
|
||||
# Compiling CuraEngine itself.
|
||||
add_library(_CuraEngine STATIC ${engine_SRCS} ${engine_PB_SRCS}) #First compile all of CuraEngine as library, allowing this to be re-used for tests.
|
||||
|
||||
if (CuraEngine_Download_Stb)
|
||||
add_dependencies(_CuraEngine stb)
|
||||
endif()
|
||||
if(USE_SYSTEM_LIBS)
|
||||
target_link_libraries(_CuraEngine ${Polyclipping_LIBRARIES})
|
||||
else()
|
||||
target_link_libraries(_CuraEngine clipper)
|
||||
endif()
|
||||
|
||||
if (ENABLE_ARCUS)
|
||||
target_link_libraries(_CuraEngine Arcus)
|
||||
endif ()
|
||||
|
||||
target_link_libraries(_CuraEngine fmt)
|
||||
|
||||
set_target_properties(_CuraEngine PROPERTIES COMPILE_DEFINITIONS "VERSION=\"${CURA_ENGINE_VERSION}\"")
|
||||
|
||||
if(WIN32)
|
||||
message(STATUS "Using windres")
|
||||
set(RES_FILES "CuraEngine.rc")
|
||||
ENABLE_LANGUAGE(RC)
|
||||
if(NOT MSVC)
|
||||
SET(CMAKE_RC_COMPILER_INIT windres)
|
||||
SET(CMAKE_RC_COMPILE_OBJECT
|
||||
"<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>"
|
||||
)
|
||||
endif()
|
||||
endif(WIN32)
|
||||
|
||||
if (UNIX)
|
||||
target_link_libraries(_CuraEngine pthread)
|
||||
endif()
|
||||
|
||||
if (NOT WIN32)
|
||||
add_executable(CuraEngine src/main.cpp) # Then compile main.cpp as separate executable, and link the library to it.
|
||||
else()
|
||||
add_executable(CuraEngine src/main.cpp ${RES_FILES}) # ..., but don't forget the glitter!
|
||||
endif(NOT WIN32)
|
||||
|
||||
target_link_libraries(CuraEngine _CuraEngine)
|
||||
set_target_properties(CuraEngine PROPERTIES COMPILE_DEFINITIONS "VERSION=\"${CURA_ENGINE_VERSION}\"")
|
||||
|
||||
# Compiling the test environment.
|
||||
if (BUILD_TESTS)
|
||||
include(CTest)
|
||||
|
||||
message(STATUS "Building tests...")
|
||||
set(GTEST_USE_STATIC_LIBS true)
|
||||
set(GMOCK_ROOT "${CMAKE_CURRENT_BINARY_DIR}/gmock")
|
||||
set(GMOCK_VER "1.8.0")
|
||||
find_package(GMock REQUIRED)
|
||||
include_directories(${GTEST_INCLUDE_DIRS})
|
||||
include_directories(${GMOCK_INCLUDE_DIRS})
|
||||
add_dependencies(_CuraEngine GTest::GTest GTest::Main GMock::GMock GMock::Main)
|
||||
add_definitions(-DBUILD_TESTS)
|
||||
|
||||
target_compile_definitions(_CuraEngine PUBLIC BUILD_TESTS=1)
|
||||
|
||||
#To make sure that the tests are built before running them, add the building of these tests as an additional test.
|
||||
add_custom_target(build_all_tests)
|
||||
add_test(BuildTests "${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}" --target build_all_tests)
|
||||
|
||||
foreach (test ${engine_TEST})
|
||||
add_executable(${test} tests/main.cpp ${engine_TEST_HELPERS} tests/${test}.cpp)
|
||||
target_link_libraries(${test} _CuraEngine ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
|
||||
add_test(NAME ${test} COMMAND "${test}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
|
||||
add_dependencies(build_all_tests ${test}) #Make sure that this gets built as part of the build_all_tests target.
|
||||
endforeach()
|
||||
foreach (test ${engine_TEST_INFILL})
|
||||
add_executable(${test} tests/main.cpp tests/infill/${test}.cpp)
|
||||
target_link_libraries(${test} _CuraEngine ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
|
||||
add_test(NAME ${test} COMMAND "${test}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
|
||||
add_dependencies(build_all_tests ${test}) #Make sure that this gets built as part of the build_all_tests target.
|
||||
endforeach()
|
||||
foreach (test ${engine_TEST_INTEGRATION})
|
||||
add_executable(${test} tests/main.cpp tests/integration/${test}.cpp)
|
||||
target_link_libraries(${test} _CuraEngine ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
|
||||
add_test(NAME ${test} COMMAND "${test}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
|
||||
add_dependencies(build_all_tests ${test}) #Make sure that this gets built as part of the build_all_tests target.
|
||||
endforeach()
|
||||
foreach (test ${engine_TEST_SETTINGS})
|
||||
add_executable(${test} tests/main.cpp tests/settings/${test}.cpp)
|
||||
target_link_libraries(${test} _CuraEngine ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
|
||||
add_test(NAME ${test} COMMAND "${test}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
|
||||
add_dependencies(build_all_tests ${test}) #Make sure that this gets built as part of the build_all_tests target.
|
||||
endforeach()
|
||||
if (ENABLE_ARCUS)
|
||||
foreach (test ${engine_TEST_ARCUS})
|
||||
add_executable(${test} tests/main.cpp ${engine_TEST_ARCUS_HELPERS} tests/arcus/${test}.cpp)
|
||||
target_link_libraries(${test} _CuraEngine ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
|
||||
add_test(NAME ${test} COMMAND "${test}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
|
||||
add_dependencies(build_all_tests ${test}) #Make sure that this gets built as part of the build_all_tests target.
|
||||
endforeach()
|
||||
endif ()
|
||||
foreach (test ${engine_TEST_UTILS})
|
||||
add_executable(${test} tests/main.cpp tests/utils/${test}.cpp)
|
||||
target_link_libraries(${test} _CuraEngine ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
|
||||
add_test(NAME ${test} COMMAND "${test}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
|
||||
add_dependencies(build_all_tests ${test}) #Make sure that this gets built as part of the build_all_tests target.
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# Installing CuraEngine.
|
||||
include(GNUInstallDirs)
|
||||
install(TARGETS CuraEngine DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
# For MinGW64 cross compiling on Debian, we create a ZIP package instead of a DEB
|
||||
# Because it's the Windows build system that should install the files.
|
||||
if (CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
message(STATUS "Include MinGW64 posix DLLs for installation.")
|
||||
install(FILES
|
||||
/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/libgcc_s_seh-1.dll
|
||||
/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/libgomp-1.dll
|
||||
/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/libstdc++-6.dll
|
||||
DESTINATION bin
|
||||
COMPONENT runtime)
|
||||
endif ()
|
||||
include(CPackConfig.cmake)
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
set(CPACK_PACKAGE_VENDOR "Ultimaker")
|
||||
set(CPACK_PACKAGE_CONTACT "Arjen Hiemstra <a.hiemstra@ultimaker.com>")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Cura Engine")
|
||||
set(CPACK_PACKAGE_VERSION "15.05.90")
|
||||
set(CPACK_GENERATOR "DEB")
|
||||
if(NOT DEFINED CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
|
||||
execute_process(COMMAND dpkg --print-architecture OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif()
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
|
||||
|
||||
set(DEB_DEPENDS
|
||||
"arcus (>= 15.05.90)"
|
||||
"protobuf (>= 3.0.0)"
|
||||
"libstdc++6 (>= 4.9.0)"
|
||||
"libgcc1 (>= 4.9.0)"
|
||||
)
|
||||
string(REPLACE ";" ", " DEB_DEPENDS "${DEB_DEPENDS}")
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS ${DEB_DEPENDS})
|
||||
|
||||
include(CPack)
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
diff --git a/include/settings/types/LayerIndex.h b/include/settings/types/LayerIndex.h
|
||||
index 1e48bbc..adcffaf 100644
|
||||
--- a/include/settings/types/LayerIndex.h
|
||||
+++ b/include/settings/types/LayerIndex.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#define LAYERINDEX_H
|
||||
|
||||
#include <functional>
|
||||
+#include <fmt/format.h>
|
||||
|
||||
namespace cura
|
||||
{
|
||||
@@ -109,6 +110,12 @@ struct LayerIndex
|
||||
int value = 0;
|
||||
};
|
||||
|
||||
+constexpr auto format_as(LayerIndex index)
|
||||
+{
|
||||
+ return index.value;
|
||||
+}
|
||||
+
|
||||
+
|
||||
}
|
||||
|
||||
namespace std
|
||||
24
CuraEngine-rpath.patch
Normal file
24
CuraEngine-rpath.patch
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
From ca21643c4a077f5d7dbc9f71c615a4cda8fd2226 Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Sun, 10 Dec 2017 12:51:57 +0100
|
||||
Subject: [PATCH 1/3] CuraEngine-rpath.patch
|
||||
|
||||
---
|
||||
CMakeLists.txt | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 5b7100c..3a74350 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -24,7 +24,6 @@ endif()
|
||||
if(NOT DEFINED LIB_SUFFIX)
|
||||
set(LIB_SUFFIX "")
|
||||
endif()
|
||||
-set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
|
||||
|
||||
set(CURA_ENGINE_VERSION "master" CACHE STRING "Version name of Cura")
|
||||
|
||||
--
|
||||
2.14.3
|
||||
|
||||
|
|
@ -1,27 +1,24 @@
|
|||
From 4b9f0fed275eca87525142ed2911c7072f6a5f80 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= <feron.gabriel@gmail.com>
|
||||
Date: Tue, 18 Jun 2019 22:54:59 +0200
|
||||
Subject: [PATCH] [PATCH 2/3] Don't use -static-libstdc++
|
||||
From d79be0eb0e0e27e70b709b043b4085cda007beed Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Wed, 3 May 2017 14:02:04 +0200
|
||||
Subject: [PATCH 2/3] Don't use -static-libstdc++
|
||||
|
||||
---
|
||||
CMakeLists.txt | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 99d234ec..ae9c3ece 100644
|
||||
index f2907bd..4b45997 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -101,10 +101,6 @@ if (ENABLE_MORE_COMPILER_OPTIMIZATION_FLAGS AND NOT (CMAKE_BUILD_TYPE_UPPER MATC
|
||||
endif()
|
||||
@@ -47,10 +47,6 @@ if (ENABLE_MORE_COMPILER_OPTIMIZATION_FLAGS)
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -Ofast -funroll-loops")
|
||||
endif ()
|
||||
|
||||
-if(NOT APPLE AND NOT WIN32)
|
||||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libstdc++")
|
||||
-endif()
|
||||
-
|
||||
if (WIN32)
|
||||
add_definitions(-DNOMINMAX)
|
||||
endif()
|
||||
--
|
||||
2.21.0
|
||||
|
||||
option (ENABLE_OPENMP
|
||||
"Use OpenMP for parallel code" ON)
|
||||
|
||||
|
|
|
|||
36
CuraEngine-system-libs.patch
Normal file
36
CuraEngine-system-libs.patch
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
From 62ce7cbc96a52723e11adfda848211e03f6733ba Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Wed, 3 May 2017 14:04:17 +0200
|
||||
Subject: [PATCH 3/3] System libs
|
||||
|
||||
---
|
||||
CMakeLists.txt | 6 ++----
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index bc5cf85..07e4c41 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -46,9 +46,7 @@ if (ENABLE_OPENMP)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
-include_directories(${CMAKE_CURRENT_BINARY_DIR} libs)
|
||||
-
|
||||
-add_library(clipper STATIC libs/clipper/clipper.cpp)
|
||||
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
set(engine_SRCS # Except main.cpp.
|
||||
src/bridge.cpp
|
||||
@@ -136,7 +134,7 @@ endif ()
|
||||
|
||||
# Compiling CuraEngine itself.
|
||||
add_library(_CuraEngine ${engine_SRCS} ${engine_PB_SRCS}) #First compile all of CuraEngine as library, allowing this to be re-used for tests.
|
||||
-target_link_libraries(_CuraEngine clipper)
|
||||
+target_link_libraries(_CuraEngine polyclipping)
|
||||
if (ENABLE_ARCUS)
|
||||
target_link_libraries(_CuraEngine Arcus)
|
||||
endif ()
|
||||
--
|
||||
2.11.0
|
||||
|
||||
185
CuraEngine.spec
185
CuraEngine.spec
|
|
@ -1,62 +1,21 @@
|
|||
Name: CuraEngine
|
||||
Epoch: 1
|
||||
Version: 5.4.0
|
||||
Release: %autorelease
|
||||
Version: 3.2.1
|
||||
Release: 1%{?dist}
|
||||
Summary: Engine for processing 3D models into G-code instructions for 3D printers
|
||||
License: AGPL-3.0-or-later
|
||||
License: AGPLv3+
|
||||
URL: https://github.com/Ultimaker/%{name}
|
||||
Source0: %{url}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
|
||||
# Cmake bits taken from 4.13.1, before upstream went nuts with conan
|
||||
Source2: FindGMock.cmake
|
||||
Source3: FindPolyclipping.cmake
|
||||
Source4: FindStb.cmake
|
||||
Source5: CMakeLists.txt
|
||||
Source6: CPackConfig.cmake
|
||||
|
||||
# This is some kind of "public" layer of a private logging thing :/
|
||||
# It's header-only and not usable as a system library,
|
||||
# so I (churchyard) decided to bundle it for now. Shame on me.
|
||||
# It's AGPL-3.0-or-later.
|
||||
%global scripta_version c378c837eeb505146ab67abe0904bfed2099128f
|
||||
Source7: https://github.com/Ultimaker/Scripta_public/archive/%{scripta_version}/Scripta_public-%{scripta_version}.tar.gz
|
||||
Provides: bundled(scripta) = %{scripta_version}
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: libarcus-devel >= 5.2.2
|
||||
BuildRequires: libarcus-devel == %{version}
|
||||
BuildRequires: polyclipping-devel >= 6.1.2
|
||||
BuildRequires: protobuf-devel
|
||||
BuildRequires: rapidjson-devel
|
||||
BuildRequires: cmake
|
||||
BuildRequires: git-core
|
||||
BuildRequires: boost-devel
|
||||
BuildRequires: range-v3-devel
|
||||
BuildRequires: fmt-devel
|
||||
BuildRequires: spdlog-devel
|
||||
BuildRequires: git
|
||||
|
||||
# Header-only package; -static version is for tracking per guidelines
|
||||
# Enforce the the minimum EVR to contain fixes for all of:
|
||||
# CVE-2021-28021
|
||||
# CVE-2021-42715
|
||||
# CVE-2021-42716
|
||||
# CVE-2022-28041
|
||||
# CVE-2023-43898
|
||||
# CVE-2023-45661
|
||||
# CVE-2023-45662
|
||||
# CVE-2023-45663
|
||||
# CVE-2023-45664
|
||||
# CVE-2023-45666
|
||||
# CVE-2023-45667
|
||||
# Upstream issues #1860, #1861
|
||||
BuildRequires: stb_image-static >= 2.30^20251025gitf1c79c0-2
|
||||
|
||||
Patch0: %{name}-static-libstdcpp.patch
|
||||
# Patch for fmtlib 10, from https://github.com/Ultimaker/CuraEngine/commit/5a4ca90594f965b6a5e6af626a5c508185277162
|
||||
Patch1: CuraEngine-5.4.0-fmt10.patch
|
||||
|
||||
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
|
||||
ExcludeArch: %{ix86}
|
||||
Patch0: %{name}-rpath.patch
|
||||
Patch1: %{name}-static-libstdcpp.patch
|
||||
Patch2: %{name}-system-libs.patch
|
||||
|
||||
%description
|
||||
%{name} is a C++ console application for 3D printing G-code generation. It
|
||||
|
|
@ -66,38 +25,22 @@ This is just a console application for G-code generation. For a full graphical
|
|||
application look at cura with is the graphical frontend for %{name}.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
mkdir cmake
|
||||
cp -a %{SOURCE2} %{SOURCE3} %{SOURCE4} cmake
|
||||
rm -rf CMakeLists.txt
|
||||
cp -a %{SOURCE5} %{SOURCE6} .
|
||||
|
||||
tar xf %{SOURCE7}
|
||||
mv Scripta_public-%{scripta_version}/include/scripta/ include/
|
||||
|
||||
%patch -P0 -p1
|
||||
%patch -P1 -p1
|
||||
%autosetup -p1 -S git
|
||||
|
||||
# bundled libraries
|
||||
rm -rf libs
|
||||
sed -i 's|#include <clipper/clipper.hpp>|#include <polyclipping/clipper.hpp>|' src/utils/*.h src/*.cpp
|
||||
|
||||
# The -DCURA_ENGINE_VERSION does not work, so we sed-change the default value
|
||||
# sed -i 's/"DEV"/"%{version}"/' src/settings/Settings.h
|
||||
sed -i 's/"DEV"/"%{version}"/' src/settings/settings.h
|
||||
|
||||
%build
|
||||
%cmake \
|
||||
-DSET_RPATH:BOOL=OFF \
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||
-DCURA_ENGINE_VERSION:STRING=%{version} \
|
||||
-DUSE_SYSTEM_LIBS:BOOL=ON \
|
||||
-DCMAKE_CXX_FLAGS_RELEASE_INIT:STRING="%{optflags} -fPIC" \
|
||||
-DStb_INCLUDE_DIRS:PATH=%{_includedir}
|
||||
%cmake_build
|
||||
%{cmake} -DBUILD_SHARED_LIBS:BOOL=OFF -DCURA_ENGINE_VERSION:STRING=%{version} . # The lib is only intermediate
|
||||
make %{?_smp_mflags}
|
||||
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
make install DESTDIR=%{buildroot}
|
||||
|
||||
|
||||
%check
|
||||
|
|
@ -109,4 +52,102 @@ rm -rf libs
|
|||
%{_bindir}/%{name}
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
* Mon Mar 19 2018 Miro Hrončok <mhroncok@redhat.com> - 1:3.2.1-1
|
||||
- Updated to 3.2.1
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Sun Dec 10 2017 Miro Hrončok <mhroncok@redhat.com> - 1:3.1.0-1
|
||||
- Updated to 3.1.0
|
||||
|
||||
* Wed Nov 29 2017 Igor Gnatenko <ignatenko@redhat.com> - 1:3.0.3-3
|
||||
- Rebuild for protobuf 3.5
|
||||
|
||||
* Mon Nov 13 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1:3.0.3-2
|
||||
- Rebuild for protobuf 3.4
|
||||
|
||||
* Mon Oct 23 2017 Miro Hrončok <mhroncok@redhat.com> - 1:3.0.3-1
|
||||
- Updated to 3.0.3
|
||||
|
||||
* Wed Aug 30 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.7.0-1
|
||||
- Update to 2.7.0
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.6.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.6.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Wed Jun 28 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.6.1-1
|
||||
- Updated to 2.6.1
|
||||
|
||||
* Tue Jun 27 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.6.0-1
|
||||
- Updated to 2.6.0
|
||||
|
||||
* Wed Jun 14 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.5.0-2
|
||||
- Rebuilt for new protobuf 3.3.1
|
||||
|
||||
* Wed May 03 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.5.0-1
|
||||
- Updated to 2.5.0
|
||||
|
||||
* Sun Dec 04 2016 Miro Hrončok <mhroncok@redhat.com> - 1:2.3.1-1
|
||||
- New version scheme -> Introduce Epoch
|
||||
- Updated
|
||||
- SPEC rewritten
|
||||
|
||||
* Sun Sep 18 2016 Miro Hrončok <mhroncok@redhat.com> - 15.04-4
|
||||
- Rebuilt for new polyclipping (#1159525)
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 15.04-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Mon Jul 06 2015 Miro Hrončok <mhroncok@redhat.com> - 15.04-2
|
||||
- Set the VERSION variable
|
||||
|
||||
* Sun Jul 05 2015 Miro Hrončok <mhroncok@redhat.com> - 15.04-1
|
||||
- Update to 15.04
|
||||
|
||||
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14.12.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 14.12.1-2
|
||||
- Rebuilt for GCC 5 C++11 ABI change
|
||||
|
||||
* Mon Dec 29 2014 Miro Hrončok <mhroncok@redhat.com> - 14.12.1-1
|
||||
- Update to 14.12.1
|
||||
|
||||
* Thu Oct 23 2014 Miro Hrončok <mhroncok@redhat.com> - 14.03-3
|
||||
- Rebuilt for new polyclipping
|
||||
|
||||
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14.03-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Mon Jun 23 2014 Miro Hrončok <mhroncok@redhat.com> - 14.03-1
|
||||
- New version 14.03
|
||||
|
||||
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14.01-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Sun Mar 09 2014 Miro Hrončok <mhroncok@redhat.com> - 14.01-1
|
||||
- New version 14.01
|
||||
- polyclipping 6.1.x
|
||||
- Now with make test
|
||||
- Rebuilt against new polyclipping release
|
||||
|
||||
* Sat Dec 14 2013 Miro Hrončok <mhroncok@redhat.com> - 13.11.2-1
|
||||
- New version 13.11.2
|
||||
- Makefile seding changed to reflect changes
|
||||
- Clipper usage no longer need patching
|
||||
|
||||
* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 13.06.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Mon Jul 22 2013 Miro Hrončok <mhroncok@redhat.com> - 13.06.3-3
|
||||
- Rebuilt for new polyclipping
|
||||
|
||||
* Thu Jul 04 2013 Miro Hrončok <mhroncok@redhat.com> - 13.06.3-2
|
||||
- Added some explaining comments
|
||||
|
||||
* Sun Jun 23 2013 Miro Hrončok <mhroncok@redhat.com> - 13.06.3-1
|
||||
- New package
|
||||
|
|
|
|||
515
FindGMock.cmake
515
FindGMock.cmake
|
|
@ -1,515 +0,0 @@
|
|||
# Get the Google C++ Mocking Framework.
|
||||
# (This file is almost an copy of the original FindGTest.cmake file,
|
||||
# altered to download and compile GMock and GTest if not found
|
||||
# in GMOCK_ROOT or GTEST_ROOT respectively,
|
||||
# feel free to use it as it is or modify it for your own needs.)
|
||||
#
|
||||
# Defines the following variables:
|
||||
#
|
||||
# GMOCK_FOUND - Found or got the Google Mocking framework
|
||||
# GTEST_FOUND - Found or got the Google Testing framework
|
||||
# GMOCK_INCLUDE_DIRS - GMock include directory
|
||||
# GTEST_INCLUDE_DIRS - GTest include direcotry
|
||||
#
|
||||
# Also defines the library variables below as normal variables
|
||||
#
|
||||
# GMOCK_BOTH_LIBRARIES - Both libgmock & libgmock_main
|
||||
# GMOCK_LIBRARIES - libgmock
|
||||
# GMOCK_MAIN_LIBRARIES - libgmock-main
|
||||
#
|
||||
# GTEST_BOTH_LIBRARIES - Both libgtest & libgtest_main
|
||||
# GTEST_LIBRARIES - libgtest
|
||||
# GTEST_MAIN_LIBRARIES - libgtest_main
|
||||
#
|
||||
# Accepts the following variables as input:
|
||||
#
|
||||
# GMOCK_ROOT - The root directory of the gmock install prefix
|
||||
# GTEST_ROOT - The root directory of the gtest install prefix
|
||||
# GMOCK_SRC_DIR -The directory of the gmock sources
|
||||
# GMOCK_VER - The version of the gmock sources to be downloaded
|
||||
#
|
||||
#-----------------------
|
||||
# Example Usage:
|
||||
#
|
||||
# set(GMOCK_ROOT "~/gmock")
|
||||
# find_package(GMock REQUIRED)
|
||||
# include_directories(${GMOCK_INCLUDE_DIRS})
|
||||
#
|
||||
# add_executable(foo foo.cc)
|
||||
# target_link_libraries(foo ${GMOCK_BOTH_LIBRARIES})
|
||||
#
|
||||
#=============================================================================
|
||||
# Copyright (c) 2016 Michel Estermann
|
||||
# Copyright (c) 2016 Kamil Strzempowicz
|
||||
# Copyright (c) 2011 Matej Svec
|
||||
#
|
||||
# CMake - Cross Platform Makefile Generator
|
||||
# Copyright 2000-2016 Kitware, Inc.
|
||||
# Copyright 2000-2011 Insight Software Consortium
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# * Neither the names of Kitware, Inc., the Insight Software Consortium,
|
||||
# nor the names of their contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written
|
||||
# permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
#
|
||||
# The above copyright and license notice applies to distributions of
|
||||
# CMake in source and binary form. Some source files contain additional
|
||||
# notices of original copyright by their contributors; see each source
|
||||
# for details. Third-party software packages supplied with CMake under
|
||||
# compatible licenses provide their own copyright notices documented in
|
||||
# corresponding subdirectories.
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
#
|
||||
# CMake was initially developed by Kitware with the following sponsorship:
|
||||
#
|
||||
# * National Library of Medicine at the National Institutes of Health
|
||||
# as part of the Insight Segmentation and Registration Toolkit (ITK).
|
||||
#
|
||||
# * US National Labs (Los Alamos, Livermore, Sandia) ASC Parallel
|
||||
# Visualization Initiative.
|
||||
#
|
||||
# * National Alliance for Medical Image Computing (NAMIC) is funded by the
|
||||
# National Institutes of Health through the NIH Roadmap for Medical Research,
|
||||
# Grant U54 EB005149.
|
||||
#
|
||||
# * Kitware, Inc.
|
||||
#=============================================================================
|
||||
# Thanks to Daniel Blezek <blezek@gmail.com> for the GTEST_ADD_TESTS code
|
||||
|
||||
function(gtest_add_tests executable extra_args)
|
||||
if(NOT ARGN)
|
||||
message(FATAL_ERROR "Missing ARGN: Read the documentation for GTEST_ADD_TESTS")
|
||||
endif()
|
||||
if(ARGN STREQUAL "AUTO")
|
||||
# obtain sources used for building that executable
|
||||
get_property(ARGN TARGET ${executable} PROPERTY SOURCES)
|
||||
endif()
|
||||
set(gtest_case_name_regex ".*\\( *([A-Za-z_0-9]+) *, *([A-Za-z_0-9]+) *\\).*")
|
||||
set(gtest_test_type_regex "(TYPED_TEST|TEST_?[FP]?)")
|
||||
foreach(source ${ARGN})
|
||||
file(READ "${source}" contents)
|
||||
string(REGEX MATCHALL "${gtest_test_type_regex} *\\(([A-Za-z_0-9 ,]+)\\)" found_tests ${contents})
|
||||
foreach(hit ${found_tests})
|
||||
string(REGEX MATCH "${gtest_test_type_regex}" test_type ${hit})
|
||||
|
||||
# Parameterized tests have a different signature for the filter
|
||||
if("x${test_type}" STREQUAL "xTEST_P")
|
||||
string(REGEX REPLACE ${gtest_case_name_regex} "*/\\1.\\2/*" test_name ${hit})
|
||||
elseif("x${test_type}" STREQUAL "xTEST_F" OR "x${test_type}" STREQUAL "xTEST")
|
||||
string(REGEX REPLACE ${gtest_case_name_regex} "\\1.\\2" test_name ${hit})
|
||||
elseif("x${test_type}" STREQUAL "xTYPED_TEST")
|
||||
string(REGEX REPLACE ${gtest_case_name_regex} "\\1/*.\\2" test_name ${hit})
|
||||
else()
|
||||
message(WARNING "Could not parse GTest ${hit} for adding to CTest.")
|
||||
continue()
|
||||
endif()
|
||||
add_test(NAME ${test_name} COMMAND ${executable} --gtest_filter=${test_name} ${extra_args})
|
||||
endforeach()
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
function(_append_debugs _endvar _library)
|
||||
if(${_library} AND ${_library}_DEBUG)
|
||||
set(_output optimized ${${_library}} debug ${${_library}_DEBUG})
|
||||
else()
|
||||
set(_output ${${_library}})
|
||||
endif()
|
||||
set(${_endvar} ${_output} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(_gmock_find_library _name)
|
||||
find_library(${_name}
|
||||
NAMES ${ARGN}
|
||||
HINTS
|
||||
ENV GMOCK_ROOT
|
||||
${GMOCK_ROOT}
|
||||
PATH_SUFFIXES ${_gmock_libpath_suffixes}
|
||||
)
|
||||
mark_as_advanced(${_name})
|
||||
endfunction()
|
||||
|
||||
function(_gtest_find_library _name)
|
||||
find_library(${_name}
|
||||
NAMES ${ARGN}
|
||||
HINTS
|
||||
ENV GTEST_ROOT
|
||||
${GTEST_ROOT}
|
||||
PATH_SUFFIXES ${_gtest_libpath_suffixes}
|
||||
)
|
||||
mark_as_advanced(${_name})
|
||||
endfunction()
|
||||
|
||||
if(NOT DEFINED GMOCK_MSVC_SEARCH)
|
||||
set(GMOCK_MSVC_SEARCH MD)
|
||||
endif()
|
||||
|
||||
set(_gmock_libpath_suffixes lib)
|
||||
set(_gtest_libpath_suffixes lib)
|
||||
if(MSVC)
|
||||
if(GMOCK_MSVC_SEARCH STREQUAL "MD")
|
||||
list(APPEND _gmock_libpath_suffixes
|
||||
msvc/gmock-md/Debug
|
||||
msvc/gmock-md/Release)
|
||||
list(APPEND _gtest_libpath_suffixes
|
||||
msvc/gtest-md/Debug
|
||||
msvc/gtest-md/Release)
|
||||
elseif(GMOCK_MSVC_SEARCH STREQUAL "MT")
|
||||
list(APPEND _gmock_libpath_suffixes
|
||||
msvc/gmock/Debug
|
||||
msvc/gmock/Release)
|
||||
list(APPEND _gtest_libpath_suffixes
|
||||
msvc/gtest/Debug
|
||||
msvc/gtest/Release)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_path(GMOCK_INCLUDE_DIR gmock/gmock.h
|
||||
HINTS
|
||||
$ENV{GMOCK_ROOT}/include
|
||||
${GMOCK_ROOT}/include
|
||||
)
|
||||
mark_as_advanced(GMOCK_INCLUDE_DIR)
|
||||
|
||||
find_path(GTEST_INCLUDE_DIR gtest/gtest.h
|
||||
HINTS
|
||||
$ENV{GTEST_ROOT}/include
|
||||
${GTEST_ROOT}/include
|
||||
)
|
||||
mark_as_advanced(GTEST_INCLUDE_DIR)
|
||||
|
||||
if(MSVC AND GMOCK_MSVC_SEARCH STREQUAL "MD")
|
||||
# The provided /MD project files for Google Mock add -md suffixes to the
|
||||
# library names.
|
||||
_gmock_find_library(GMOCK_LIBRARY gmock-md gmock)
|
||||
_gmock_find_library(GMOCK_LIBRARY_DEBUG gmock-mdd gmockd)
|
||||
_gmock_find_library(GMOCK_MAIN_LIBRARY gmock_main-md gmock_main)
|
||||
_gmock_find_library(GMOCK_MAIN_LIBRARY_DEBUG gmock_main-mdd gmock_maind)
|
||||
|
||||
_gtest_find_library(GTEST_LIBRARY gtest-md gtest)
|
||||
_gtest_find_library(GTEST_LIBRARY_DEBUG gtest-mdd gtestd)
|
||||
_gtest_find_library(GTEST_MAIN_LIBRARY gtest_main-md gtest_main)
|
||||
_gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_main-mdd gtest_maind)
|
||||
else()
|
||||
_gmock_find_library(GMOCK_LIBRARY gmock)
|
||||
_gmock_find_library(GMOCK_LIBRARY_DEBUG gmockd)
|
||||
_gmock_find_library(GMOCK_MAIN_LIBRARY gmock_main)
|
||||
_gmock_find_library(GMOCK_MAIN_LIBRARY_DEBUG gmock_maind)
|
||||
|
||||
_gtest_find_library(GTEST_LIBRARY gtest)
|
||||
_gtest_find_library(GTEST_LIBRARY_DEBUG gtestd)
|
||||
_gtest_find_library(GTEST_MAIN_LIBRARY gtest_main)
|
||||
_gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_maind)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET GTest::GTest)
|
||||
add_library(GTest::GTest UNKNOWN IMPORTED)
|
||||
endif()
|
||||
if(NOT TARGET GTest::Main)
|
||||
add_library(GTest::Main UNKNOWN IMPORTED)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET GMock::GMock)
|
||||
add_library(GMock::GMock UNKNOWN IMPORTED)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET GMock::Main)
|
||||
add_library(GMock::Main UNKNOWN IMPORTED)
|
||||
endif()
|
||||
|
||||
set(GMOCK_LIBRARY_EXISTS OFF)
|
||||
set(GTEST_LIBRARY_EXISTS OFF)
|
||||
|
||||
if(EXISTS "${GMOCK_LIBRARY}" OR EXISTS "${GMOCK_LIBRARY_DEBUG}" AND GMOCK_INCLUDE_DIR)
|
||||
set(GMOCK_LIBRARY_EXISTS ON)
|
||||
endif()
|
||||
|
||||
if(EXISTS "${GTEST_LIBRARY}" OR EXISTS "${GTEST_LIBRARY_DEBUG}" AND GTEST_INCLUDE_DIR)
|
||||
set(GTEST_LIBRARY_EXISTS ON)
|
||||
endif()
|
||||
|
||||
if(NOT (${GMOCK_LIBRARY_EXISTS} AND ${GTEST_LIBRARY_EXISTS}))
|
||||
|
||||
include(ExternalProject)
|
||||
|
||||
if(GTEST_USE_STATIC_LIBS)
|
||||
set(GTEST_CMAKE_ARGS -Dgtest_force_shared_crt:BOOL=ON -DBUILD_SHARED_LIBS=OFF)
|
||||
if(BUILD_SHARED_LIBS)
|
||||
list(APPEND GTEST_CMAKE_ARGS
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||
-Dgtest_hide_internal_symbols=ON
|
||||
-DCMAKE_CXX_VISIBILITY_PRESET=hidden
|
||||
-DCMAKE_VISIBILITY_INLINES_HIDDEN=ON
|
||||
-DCMAKE_POLICY_DEFAULT_CMP0063=NEW
|
||||
)
|
||||
endif()
|
||||
set(GTEST_LIBRARY_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX})
|
||||
else()
|
||||
set(GTEST_CMAKE_ARGS -DBUILD_SHARED_LIBS=ON)
|
||||
set(GTEST_LIBRARY_PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX})
|
||||
endif()
|
||||
if(WIN32)
|
||||
list(APPEND GTEST_CMAKE_ARGS -Dgtest_disable_pthreads=ON)
|
||||
endif()
|
||||
|
||||
if("${GMOCK_SRC_DIR}" STREQUAL "")
|
||||
message(STATUS "Downloading GMock / GTest version ${GMOCK_VER} from git")
|
||||
if("${GMOCK_VER}" STREQUAL "1.6.0" OR "${GMOCK_VER}" STREQUAL "1.7.0")
|
||||
set(GTEST_BIN_DIR "${GMOCK_ROOT}/src/gtest-build")
|
||||
set(GTEST_LIBRARY "${GTEST_BIN_DIR}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GTEST_MAIN_LIBRARY "${GTEST_BIN_DIR}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
mark_as_advanced(GTEST_LIBRARY)
|
||||
mark_as_advanced(GTEST_MAIN_LIBRARY)
|
||||
|
||||
externalproject_add(
|
||||
gtest
|
||||
GIT_REPOSITORY "https://github.com/google/googletest.git"
|
||||
GIT_TAG "release-${GMOCK_VER}"
|
||||
PREFIX ${GMOCK_ROOT}
|
||||
INSTALL_COMMAND ""
|
||||
LOG_DOWNLOAD ON
|
||||
LOG_CONFIGURE ON
|
||||
LOG_BUILD ON
|
||||
CMAKE_ARGS
|
||||
${GTEST_CMAKE_ARGS}
|
||||
BINARY_DIR ${GTEST_BIN_DIR}
|
||||
BUILD_BYPRODUCTS
|
||||
"${GTEST_LIBRARY}"
|
||||
"${GTEST_MAIN_LIBRARY}"
|
||||
)
|
||||
|
||||
set(GMOCK_BIN_DIR "${GMOCK_ROOT}/src/gmock-build")
|
||||
set(GMOCK_LIBRARY "${GMOCK_BIN_DIR}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GMOCK_MAIN_LIBRARY "${GMOCK_BIN_DIR}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
mark_as_advanced(GMOCK_LIBRARY)
|
||||
mark_as_advanced(GMOCK_MAIN_LIBRARY)
|
||||
|
||||
externalproject_add(
|
||||
gmock
|
||||
GIT_REPOSITORY "https://github.com/google/googlemock.git"
|
||||
GIT_TAG "release-${GMOCK_VER}"
|
||||
PREFIX ${GMOCK_ROOT}
|
||||
INSTALL_COMMAND ""
|
||||
LOG_DOWNLOAD ON
|
||||
LOG_CONFIGURE ON
|
||||
LOG_BUILD ON
|
||||
CMAKE_ARGS
|
||||
${GTEST_CMAKE_ARGS}
|
||||
BINARY_DIR ${GMOCK_BIN_DIR}
|
||||
BUILD_BYPRODUCTS
|
||||
"${GMOCK_LIBRARY}"
|
||||
"${GMOCK_MAIN_LIBRARY}"
|
||||
)
|
||||
|
||||
add_dependencies(gmock gtest)
|
||||
|
||||
add_dependencies(GTest::GTest gtest)
|
||||
add_dependencies(GTest::Main gtest)
|
||||
add_dependencies(GMock::GMock gmock)
|
||||
add_dependencies(GMock::Main gmock)
|
||||
|
||||
externalproject_get_property(gtest source_dir)
|
||||
set(GTEST_INCLUDE_DIR "${source_dir}/include")
|
||||
mark_as_advanced(GTEST_INCLUDE_DIR)
|
||||
externalproject_get_property(gmock source_dir)
|
||||
set(GMOCK_INCLUDE_DIR "${source_dir}/include")
|
||||
mark_as_advanced(GMOCK_INCLUDE_DIR)
|
||||
else() #1.8.0
|
||||
set(GMOCK_BIN_DIR "${GMOCK_ROOT}/src/gmock-build")
|
||||
set(GTEST_LIBRARY "${GMOCK_BIN_DIR}/googlemock/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GTEST_MAIN_LIBRARY "${GMOCK_BIN_DIR}/googlemock/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GMOCK_LIBRARY "${GMOCK_BIN_DIR}/googlemock/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GMOCK_MAIN_LIBRARY "${GMOCK_BIN_DIR}/googlemock/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
mark_as_advanced(GTEST_LIBRARY)
|
||||
mark_as_advanced(GTEST_MAIN_LIBRARY)
|
||||
mark_as_advanced(GMOCK_LIBRARY)
|
||||
mark_as_advanced(GMOCK_MAIN_LIBRARY)
|
||||
|
||||
externalproject_add(
|
||||
gmock
|
||||
GIT_REPOSITORY "https://github.com/google/googletest.git"
|
||||
GIT_TAG "release-${GMOCK_VER}"
|
||||
PREFIX ${GMOCK_ROOT}
|
||||
INSTALL_COMMAND ""
|
||||
LOG_DOWNLOAD ON
|
||||
LOG_CONFIGURE ON
|
||||
LOG_BUILD ON
|
||||
CMAKE_ARGS
|
||||
${GTEST_CMAKE_ARGS}
|
||||
BINARY_DIR "${GMOCK_BIN_DIR}"
|
||||
BUILD_BYPRODUCTS
|
||||
"${GTEST_LIBRARY}"
|
||||
"${GTEST_MAIN_LIBRARY}"
|
||||
"${GMOCK_LIBRARY}"
|
||||
"${GMOCK_MAIN_LIBRARY}"
|
||||
)
|
||||
|
||||
add_dependencies(GTest::GTest gmock)
|
||||
add_dependencies(GTest::Main gmock)
|
||||
add_dependencies(GMock::GMock gmock)
|
||||
add_dependencies(GMock::Main gmock)
|
||||
|
||||
externalproject_get_property(gmock source_dir)
|
||||
set(GTEST_INCLUDE_DIR "${source_dir}/googletest/include")
|
||||
set(GMOCK_INCLUDE_DIR "${source_dir}/googlemock/include")
|
||||
mark_as_advanced(GMOCK_INCLUDE_DIR)
|
||||
mark_as_advanced(GTEST_INCLUDE_DIR)
|
||||
endif()
|
||||
|
||||
# Prevent CMake from complaining about these directories missing when the libgtest/libgmock targets get used as dependencies
|
||||
file(MAKE_DIRECTORY ${GTEST_INCLUDE_DIR} ${GMOCK_INCLUDE_DIR})
|
||||
else()
|
||||
message(STATUS "Building Gmock / Gtest from dir ${GMOCK_SRC_DIR}")
|
||||
|
||||
set(GMOCK_BIN_DIR "${GMOCK_ROOT}/src/gmock-build")
|
||||
set(GTEST_LIBRARY "${GMOCK_BIN_DIR}/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GTEST_MAIN_LIBRARY "${GMOCK_BIN_DIR}/gtest/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GMOCK_LIBRARY "${GMOCK_BIN_DIR}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(GMOCK_MAIN_LIBRARY "${GMOCK_BIN_DIR}/${CMAKE_CFG_INTDIR}/${GTEST_LIBRARY_PREFIX}gmock_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
mark_as_advanced(GTEST_LIBRARY)
|
||||
mark_as_advanced(GTEST_MAIN_LIBRARY)
|
||||
mark_as_advanced(GMOCK_LIBRARY)
|
||||
mark_as_advanced(GMOCK_MAIN_LIBRARY)
|
||||
|
||||
if(EXISTS "${GMOCK_SRC_DIR}/gtest/include/gtest/gtest.h")
|
||||
set(GTEST_INCLUDE_DIR "${GMOCK_SRC_DIR}/gtest/include")
|
||||
mark_as_advanced(GTEST_INCLUDE_DIR)
|
||||
endif()
|
||||
if(EXISTS "${GMOCK_SRC_DIR}/include/gmock/gmock.h")
|
||||
set(GMOCK_INCLUDE_DIR "${GMOCK_SRC_DIR}/include")
|
||||
mark_as_advanced(GMOCK_INCLUDE_DIR)
|
||||
elseif(EXISTS "${GMOCK_SRC_DIR}/../../include/gmock/gmock.h")
|
||||
set(GMOCK_INCLUDE_DIR "${GMOCK_SRC_DIR}/../../include")
|
||||
if(IS_ABSOLUTE "${GMOCK_INCLUDE_DIR}")
|
||||
get_filename_component(GMOCK_INCLUDE_DIR "${GMOCK_INCLUDE_DIR}" ABSOLUTE)
|
||||
endif()
|
||||
mark_as_advanced(GMOCK_INCLUDE_DIR)
|
||||
endif()
|
||||
|
||||
externalproject_add(
|
||||
gmock
|
||||
SOURCE_DIR ${GMOCK_SRC_DIR}
|
||||
PREFIX ${GMOCK_ROOT}
|
||||
INSTALL_COMMAND ""
|
||||
LOG_DOWNLOAD ON
|
||||
LOG_CONFIGURE ON
|
||||
LOG_BUILD ON
|
||||
CMAKE_ARGS
|
||||
${GTEST_CMAKE_ARGS}
|
||||
BINARY_DIR "${GMOCK_BIN_DIR}"
|
||||
BUILD_BYPRODUCTS
|
||||
"${GTEST_LIBRARY}"
|
||||
"${GTEST_MAIN_LIBRARY}"
|
||||
"${GMOCK_LIBRARY}"
|
||||
"${GMOCK_MAIN_LIBRARY}"
|
||||
)
|
||||
|
||||
add_dependencies(GTest::GTest gmock)
|
||||
add_dependencies(GTest::Main gmock)
|
||||
add_dependencies(GMock::GMock gmock)
|
||||
add_dependencies(GMock::Main gmock)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(GTest DEFAULT_MSG GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)
|
||||
find_package_handle_standard_args(GMock DEFAULT_MSG GMOCK_LIBRARY GMOCK_INCLUDE_DIR GMOCK_MAIN_LIBRARY)
|
||||
|
||||
include(CMakeFindDependencyMacro)
|
||||
find_dependency(Threads)
|
||||
|
||||
set_target_properties(GTest::GTest PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES "Threads::Threads"
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${GTEST_LIBRARY}"
|
||||
)
|
||||
|
||||
if(GTEST_INCLUDE_DIR)
|
||||
set_target_properties(GTest::GTest PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}"
|
||||
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}"
|
||||
)
|
||||
endif()
|
||||
|
||||
set_target_properties(GTest::Main PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES "GTest::GTest"
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${GTEST_MAIN_LIBRARY}")
|
||||
|
||||
set_target_properties(GMock::GMock PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES "Threads::Threads"
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${GMOCK_LIBRARY}")
|
||||
|
||||
if(GMOCK_INCLUDE_DIR)
|
||||
set_target_properties(GMock::GMock PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GMOCK_INCLUDE_DIR}"
|
||||
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${GMOCK_INCLUDE_DIR}"
|
||||
)
|
||||
if(GMOCK_VER VERSION_LESS "1.7")
|
||||
# GMock 1.6 still has GTest as an external link-time dependency,
|
||||
# so just specify it on the link interface.
|
||||
set_property(TARGET GMock::GMock APPEND PROPERTY
|
||||
INTERFACE_LINK_LIBRARIES GTest::GTest)
|
||||
elseif(GTEST_INCLUDE_DIR)
|
||||
# GMock 1.7 and beyond doesn't have it as a link-time dependency anymore,
|
||||
# so merge it's compile-time interface (include dirs) with ours.
|
||||
set_property(TARGET GMock::GMock APPEND PROPERTY
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}")
|
||||
set_property(TARGET GMock::GMock APPEND PROPERTY
|
||||
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set_target_properties(GMock::Main PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES "GMock::GMock"
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${GMOCK_MAIN_LIBRARY}")
|
||||
|
||||
if(GTEST_FOUND)
|
||||
set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR})
|
||||
set(GTEST_LIBRARIES GTest::GTest)
|
||||
set(GTEST_MAIN_LIBRARIES GTest::Main)
|
||||
set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES})
|
||||
if(VERBOSE)
|
||||
message(STATUS "GTest includes: ${GTEST_INCLUDE_DIRS}")
|
||||
message(STATUS "GTest libs: ${GTEST_BOTH_LIBRARIES}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(GMOCK_FOUND)
|
||||
set(GMOCK_INCLUDE_DIRS ${GMOCK_INCLUDE_DIR})
|
||||
set(GMOCK_LIBRARIES GMock::GMock)
|
||||
set(GMOCK_MAIN_LIBRARIES GMock::Main)
|
||||
set(GMOCK_BOTH_LIBRARIES ${GMOCK_LIBRARIES} ${GMOCK_MAIN_LIBRARIES})
|
||||
if(VERBOSE)
|
||||
message(STATUS "GMock includes: ${GMOCK_INCLUDE_DIRS}")
|
||||
message(STATUS "GMock libs: ${GMOCK_BOTH_LIBRARIES}")
|
||||
endif()
|
||||
endif()
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
#
|
||||
# - Try to find the polyclipping library
|
||||
# this will define
|
||||
#
|
||||
# Polyclipping_FOUND - polyclipping was found
|
||||
# Polyclipping_INCLUDE_DIRS - the polyclipping include directory
|
||||
# Polyclipping_LIBRARIES - The libraries needed to use polyclipping
|
||||
# Polyclipping_VERSION - The polyclipping library version
|
||||
|
||||
#=============================================================================
|
||||
# Copyright (c) 2017 Christophe Giboudeaux <christophe@krop.fr>
|
||||
#
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#=============================================================================
|
||||
|
||||
|
||||
find_package(PkgConfig QUIET)
|
||||
pkg_check_modules(PC_Polyclipping QUIET polyclipping)
|
||||
|
||||
find_path(Polyclipping_INCLUDE_DIRS
|
||||
NAMES clipper.hpp
|
||||
HINTS ${PC_Polyclipping_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
find_library(Polyclipping_LIBRARIES
|
||||
NAMES polyclipping
|
||||
HINTS ${PC_Polyclipping_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
if(EXISTS ${Polyclipping_INCLUDE_DIRS}/clipper.hpp)
|
||||
file(READ ${Polyclipping_INCLUDE_DIRS}/clipper.hpp CLIPPER_H_CONTENT)
|
||||
string(REGEX MATCH "#define CLIPPER_VERSION[ ]+\"[0-9]+.[0-9]+.[0-9]+\"" CLIPPER_H_VERSION_MATCH ${CLIPPER_H_CONTENT})
|
||||
string(REGEX REPLACE "^.*CLIPPER_VERSION[ ]+\"([0-9]+.[0-9]+.[0-9]+).*$" "\\1" Polyclipping_VERSION "${CLIPPER_H_VERSION_MATCH}")
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_package_handle_standard_args(Polyclipping
|
||||
FOUND_VAR Polyclipping_FOUND
|
||||
REQUIRED_VARS Polyclipping_LIBRARIES Polyclipping_INCLUDE_DIRS
|
||||
VERSION_VAR Polyclipping_VERSION
|
||||
)
|
||||
|
||||
mark_as_advanced(Polyclipping_LIBRARIES Polyclipping_INCLUDE_DIRS Polyclipping_VERSION)
|
||||
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
## Finds the Stb utility library on your computer.
|
||||
#
|
||||
# If Stb is not found on your computer, this script also gives the option to
|
||||
# download the library and build it from source.
|
||||
#
|
||||
# This script exports the following parameters for use if you find the Stb
|
||||
# package:
|
||||
# - Stb_FOUND: Whether Stb has been found on your computer (or built from
|
||||
# source).
|
||||
# - Stb_INCLUDE_DIRS: The directory where the header files of Stb are located.
|
||||
|
||||
#First try to find a PackageConfig for this library.
|
||||
find_package(PkgConfig QUIET)
|
||||
pkg_check_modules(PC_Stb QUIET Stb)
|
||||
|
||||
find_path(Stb_INCLUDE_DIRS stb/stb_image_resize.h #Search for something that is a little less prone to false positives than just stb.h.
|
||||
HINTS ${PC_Stb_INCLUDEDIR} ${PC_Stb_INCLUDE_DIRS}
|
||||
PATHS "$ENV{PROGRAMFILES}" "$ENV{PROGRAMW6432}" "/usr/include"
|
||||
PATH_SUFFIXES include/stb stb include
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
set(_stb_find_required ${Stb_FIND_REQUIRED}) #Temporarily set to optional so that we don't get a message when it's not found but you want to build from source.
|
||||
set(_stb_find_quietly ${Stb_FIND_QUIETLY})
|
||||
set(Stb_FIND_REQUIRED FALSE)
|
||||
set(Stb_FIND_QUIETLY TRUE)
|
||||
find_package_handle_standard_args(Stb DEFAULT_MSG Stb_INCLUDE_DIRS)
|
||||
set(Stb_FIND_REQUIRED ${_stb_find_required})
|
||||
set(Stb_FIND_QUIETLY ${_stb_find_quietly})
|
||||
|
||||
set(CuraEngine_Download_Stb FALSE)
|
||||
if(Stb_FOUND) #Found an existing installation.
|
||||
if(NOT Stb_FIND_QUIETLY)
|
||||
message(STATUS "Found Stb installation at: ${Stb_INCLUDE_DIRS}")
|
||||
endif()
|
||||
else()
|
||||
#Then optionally clone Stb ourselves.
|
||||
option(BUILD_Stb "Build Stb from source." ON) #This is a lie actually, since Stb is header-only and doesn't need any building. We don't build the docs or tests.
|
||||
if(BUILD_Stb)
|
||||
if(NOT Stb_FIND_QUIETLY)
|
||||
message(STATUS "Building Stb from source.")
|
||||
endif()
|
||||
|
||||
include(ExternalProject)
|
||||
# Stb's commits in early February seems to cause the engine to fail compilation on Mac.
|
||||
ExternalProject_Add(stb
|
||||
GIT_REPOSITORY "https://github.com/nothings/stb.git"
|
||||
GIT_TAG d5d052c806eee2ca1f858cb58b2f062d9fa25b90
|
||||
UPDATE_DISCONNECTED TRUE
|
||||
CONFIGURE_COMMAND "" #We don't want to actually go and build/test/generate it. Just need to download the headers.
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND "" #Assume that the user doesn't want to install all dependencies on his system. We just need to get them for building the application.
|
||||
)
|
||||
set(CuraEngine_Download_Stb TRUE)
|
||||
set(Stb_INCLUDE_DIRS "${CMAKE_CURRENT_BINARY_DIR}/stb-prefix/src")
|
||||
set(Stb_FOUND TRUE)
|
||||
if(NOT Stb_FIND_QUIETLY)
|
||||
message(STATUS "Created Stb installation at: ${Stb_INCLUDE_DIRS}")
|
||||
endif()
|
||||
elseif(NOT Stb_FIND_QUIETLY) #Don't have an installation but don't want us to build it either? Screw you, then.
|
||||
if(Stb_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could NOT find Stb.")
|
||||
else()
|
||||
message(WARNING "Could NOT find Stb.")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
mark_as_advanced(Stb_INCLUDE_DIRS)
|
||||
249
changelog
249
changelog
|
|
@ -1,249 +0,0 @@
|
|||
* Wed Oct 25 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 1:5.3.0-5
|
||||
- Ensure stb_image contains the latest CVE patches
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.3.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Sat Jul 08 2023 Vitaly Zaitsev <vitaly@easycoding.org> - 1:5.3.0-3
|
||||
- Rebuilt due to spdlog 1.12 update.
|
||||
|
||||
* Sat Jul 1 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:5.3.0-3
|
||||
- Patch for fmtlib 10
|
||||
|
||||
* Wed Jun 28 2023 Vitaly Zaitsev <vitaly@easycoding.org> - 1:5.3.0-2
|
||||
- Rebuilt due to fmt 10 update.
|
||||
|
||||
* Wed Mar 8 2023 Tom Callaway <spot@fedoraproject.org> - 1:5.3.0-1
|
||||
- update to 5.3.0
|
||||
|
||||
* Sat Feb 25 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 1:4.13.1-6
|
||||
- Update minimum stb_image to fix a null deref. bug
|
||||
|
||||
* Sun Jan 29 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 1:4.13.1-5
|
||||
- Add an #include needed for GCC 13
|
||||
|
||||
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.13.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.13.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Sat Apr 23 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 1:4.13.1-2
|
||||
- Security fix for CVE-2022-28041
|
||||
|
||||
* Tue Feb 01 2022 Gabriel Féron <feron.gabriel@gmail.com> - 1:4.13.1-1
|
||||
- Update to 4.13.1
|
||||
|
||||
* Wed Jan 19 2022 Gabriel Féron <feron.gabriel@gmail.com> - 1:4.13.0-1
|
||||
- Update to 4.13.0
|
||||
|
||||
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.12.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Dec 13 2021 Gabriel Féron <feron.gabriel@gmail.com> - 1:4.12.1-4
|
||||
- Update to 4.12.1
|
||||
|
||||
* Sat Nov 06 2021 Adrian Reber <adrian@lisas.de> - 1:4.11.0-4
|
||||
- Rebuilt for protobuf 3.19.0
|
||||
|
||||
* Mon Oct 25 2021 Adrian Reber <adrian@lisas.de> - 1:4.11.0-3
|
||||
- Rebuilt for protobuf 3.18.1
|
||||
|
||||
* Sat Oct 23 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1:4.11.0-2
|
||||
- Rebuild with updated stb_image to patch CVE-2021-28021, CVE-2021-42715, and
|
||||
CVE-2021-42716
|
||||
|
||||
* Wed Sep 15 2021 Gabriel Féron <feron.gabriel@gmail.com> - 1:4.11.0-1
|
||||
- Update to 4.11.0
|
||||
|
||||
* Mon Aug 23 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1:4.10.0-2
|
||||
- Unbundle stb_image
|
||||
|
||||
* Mon Aug 16 2021 Gabriel Féron <feron.gabriel@gmail.com> - 1:4.10.0-1
|
||||
- Update to 4.10.0
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.9.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Thu Jun 10 2021 Gabriel Féron <feron.gabriel@gmail.com> - 1:4.9.1-1
|
||||
- Update to 4.9.1
|
||||
|
||||
* Mon Apr 26 2021 Gabriel Féron <feron.gabriel@gmail.com> - 1:4.9.0-1
|
||||
- Update to 4.9.0
|
||||
|
||||
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.8.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Jan 13 14:30:13 CET 2021 Adrian Reber <adrian@lisas.de> - 1:4.8.0-2
|
||||
- Rebuilt for protobuf 3.14
|
||||
|
||||
* Wed Dec 23 2020 Jan Pazdziora <jpazdziora@redhat.com> - 1:4.8.0-1
|
||||
- Update to 4.8.0
|
||||
|
||||
* Wed Sep 23 2020 Adrian Reber <adrian@lisas.de> - 1:4.7.1-2
|
||||
- Rebuilt for protobuf 3.13
|
||||
|
||||
* Thu Sep 03 2020 Miro Hrončok <mhroncok@redhat.com> - 1:4.7.1-1
|
||||
- Update to 4.7.1
|
||||
|
||||
* Mon Aug 31 2020 Gabriel Féron <feron.gabriel@gmail.com> - 1:4.7.0-1
|
||||
- Update to 4.7.0
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.6.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Sun Jun 14 2020 Adrian Reber <adrian@lisas.de> - 1:4.6.1-2
|
||||
- Rebuilt for protobuf 3.12
|
||||
|
||||
* Tue May 5 2020 Gabriel Féron <feron.gabriel@gmail.com> - 1:4.6.0-1
|
||||
- Update to 4.6.1
|
||||
|
||||
* Tue Apr 21 2020 Gabriel Féron <feron.gabriel@gmail.com> - 1:4.6.0-1
|
||||
- Update to 4.6.0
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.4.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Dec 19 2019 Orion Poplawski <orion@nwra.com> - 1:4.4.0-2
|
||||
- Rebuild for protobuf 3.11
|
||||
|
||||
* Thu Nov 21 2019 Gabriel Féron <feron.gabriel@gmail.com> - 1:4.4.0-1
|
||||
- Update to 4.4.0
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Tue Jun 18 2019 Gabriel Féron <feron.gabriel@gmail.com> - 1:4.1.0-1
|
||||
- Update to 4.1.0
|
||||
|
||||
* Wed Apr 03 2019 Gabriel Féron <feron.gabriel@gmail.com> - 1:4.0.0-1
|
||||
- Update to 4.0.0
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.6.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Jan 26 2019 Gabriel Féron <feron.gabriel@gmail.com> - 1:3.6.0-1
|
||||
- Update to 3.6.0
|
||||
|
||||
* Thu Nov 22 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1:3.5.1-3
|
||||
- Rebuild for protobuf 3.6
|
||||
|
||||
* Wed Nov 21 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1:3.5.1-2
|
||||
- Rebuild for protobuf 3.6
|
||||
|
||||
* Mon Nov 12 2018 Miro Hrončok <mhroncok@redhat.com> - 1:3.5.1-1
|
||||
- Fix the error in epoch/release
|
||||
|
||||
* Mon Nov 12 2018 Miro Hrončok <mhroncok@redhat.com> - 0:3.5.1-2
|
||||
- Update to 3.5.1 (#1644323)
|
||||
|
||||
* Tue Aug 28 2018 Miro Hrončok <mhroncok@redhat.com> - 1:3.4.1-1
|
||||
- Update to 3.4.1
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.3.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed May 02 2018 Miro Hrončok <mhroncok@redhat.com> - 1:3.3.0-1
|
||||
- Updated to 3.3.0
|
||||
- Make sure Fedora CXXFLAGS are used, also -fPIC
|
||||
- Use new USE_SYSTEM_LIBS option instead of patch+sed
|
||||
|
||||
* Mon Mar 19 2018 Miro Hrončok <mhroncok@redhat.com> - 1:3.2.1-1
|
||||
- Updated to 3.2.1
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Sun Dec 10 2017 Miro Hrončok <mhroncok@redhat.com> - 1:3.1.0-1
|
||||
- Updated to 3.1.0
|
||||
|
||||
* Wed Nov 29 2017 Igor Gnatenko <ignatenko@redhat.com> - 1:3.0.3-3
|
||||
- Rebuild for protobuf 3.5
|
||||
|
||||
* Mon Nov 13 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1:3.0.3-2
|
||||
- Rebuild for protobuf 3.4
|
||||
|
||||
* Mon Oct 23 2017 Miro Hrončok <mhroncok@redhat.com> - 1:3.0.3-1
|
||||
- Updated to 3.0.3
|
||||
|
||||
* Wed Aug 30 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.7.0-1
|
||||
- Update to 2.7.0
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.6.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.6.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Wed Jun 28 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.6.1-1
|
||||
- Updated to 2.6.1
|
||||
|
||||
* Tue Jun 27 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.6.0-1
|
||||
- Updated to 2.6.0
|
||||
|
||||
* Wed Jun 14 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.5.0-2
|
||||
- Rebuilt for new protobuf 3.3.1
|
||||
|
||||
* Wed May 03 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.5.0-1
|
||||
- Updated to 2.5.0
|
||||
|
||||
* Sun Dec 04 2016 Miro Hrončok <mhroncok@redhat.com> - 1:2.3.1-1
|
||||
- New version scheme -> Introduce Epoch
|
||||
- Updated
|
||||
- SPEC rewritten
|
||||
|
||||
* Sun Sep 18 2016 Miro Hrončok <mhroncok@redhat.com> - 15.04-4
|
||||
- Rebuilt for new polyclipping (#1159525)
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 15.04-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Mon Jul 06 2015 Miro Hrončok <mhroncok@redhat.com> - 15.04-2
|
||||
- Set the VERSION variable
|
||||
|
||||
* Sun Jul 05 2015 Miro Hrončok <mhroncok@redhat.com> - 15.04-1
|
||||
- Update to 15.04
|
||||
|
||||
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14.12.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 14.12.1-2
|
||||
- Rebuilt for GCC 5 C++11 ABI change
|
||||
|
||||
* Mon Dec 29 2014 Miro Hrončok <mhroncok@redhat.com> - 14.12.1-1
|
||||
- Update to 14.12.1
|
||||
|
||||
* Thu Oct 23 2014 Miro Hrončok <mhroncok@redhat.com> - 14.03-3
|
||||
- Rebuilt for new polyclipping
|
||||
|
||||
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14.03-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Mon Jun 23 2014 Miro Hrončok <mhroncok@redhat.com> - 14.03-1
|
||||
- New version 14.03
|
||||
|
||||
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14.01-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Sun Mar 09 2014 Miro Hrončok <mhroncok@redhat.com> - 14.01-1
|
||||
- New version 14.01
|
||||
- polyclipping 6.1.x
|
||||
- Now with make test
|
||||
- Rebuilt against new polyclipping release
|
||||
|
||||
* Sat Dec 14 2013 Miro Hrončok <mhroncok@redhat.com> - 13.11.2-1
|
||||
- New version 13.11.2
|
||||
- Makefile seding changed to reflect changes
|
||||
- Clipper usage no longer need patching
|
||||
|
||||
* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 13.06.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Mon Jul 22 2013 Miro Hrončok <mhroncok@redhat.com> - 13.06.3-3
|
||||
- Rebuilt for new polyclipping
|
||||
|
||||
* Thu Jul 04 2013 Miro Hrončok <mhroncok@redhat.com> - 13.06.3-2
|
||||
- Added some explaining comments
|
||||
|
||||
* Sun Jun 23 2013 Miro Hrončok <mhroncok@redhat.com> - 13.06.3-1
|
||||
- New package
|
||||
3
sources
3
sources
|
|
@ -1,2 +1 @@
|
|||
SHA512 (CuraEngine-5.4.0.tar.gz) = 2f5c8442a65a1695acc92fd3a8af0d2376e5e589d0cc6dec538756b3697efc1b69875a19bc72c39022d8b7361ac242c0544a284fc8c5c066790f3c4e5e26f468
|
||||
SHA512 (Scripta_public-c378c837eeb505146ab67abe0904bfed2099128f.tar.gz) = d0b898f4830947d672e5b8dba9b0ad7a744347b603925ae24d43a7499343d4e80fbd4296277289e15eaf2d5a3165d6c1c50300e42dc268155f7081b178a34f7a
|
||||
SHA512 (CuraEngine-3.2.1.tar.gz) = bb956fe7f143be75e1b6df8375e3fc7c3dcc29a2d557d7ac017d3d25f269da5bf200676c2c296f4dfa12b6888a142350f72ec252ae7ae33aea990abcb31868b9
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue