diff --git a/CMakeLists.txt b/CMakeLists.txt index 8455bb8..c8e0d88 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -211,6 +211,26 @@ IF ( ASSIMP_NO_EXPORT ) MESSAGE( STATUS "Build an import-only version of Assimp." ) ENDIF( ASSIMP_NO_EXPORT ) +# Search for poly2tri +FIND_LIBRARY(POLY2TRI_LIB poly2tri HINTS ${POLY2TRI_LIB_PATH}) +FIND_FILE(POLY2TRI_H poly2tri.h PATHS ${POLY2TRI_INCLUDE_PATH}) +IF (POLY2TRI_LIB AND POLY2TRI_H) + message(status "Found External poly2tri") + SET(HAVE_POLY2TRI true) +ELSE(POLY2TRI_LIB AND POLY2TRI_H) + SET(HAVE_POLY2TRI false) +ENDIF(POLY2TRI_LIB AND POLY2TRI_H) + +# Search for clipper +FIND_LIBRARY(CLIPPER_LIB polyclipping HINTS ${CLIPPER_LIB_PATH}) +FIND_FILE(CLIPPER_H clipper.hpp PATHS ${CLIPPER_INCLUDE_PATH}) +IF (CLIPPER_LIB AND CLIPPER_H) + message(status "Found External clipper") + SET(HAVE_CLIPPER true) +ELSE(CLIPPER_LIB AND CLIPPER_H) + SET(HAVE_CLIPPER false) +ENDIF(CLIPPER_LIB AND CLIPPER_H) + SET ( ASSIMP_BUILD_ARCHITECTURE "" CACHE STRING "describe the current architecture." ) diff --git a/code/BlenderTessellator.h b/code/BlenderTessellator.h index 530bd2c..a6c9d9e 100644 --- a/code/BlenderTessellator.h +++ b/code/BlenderTessellator.h @@ -142,7 +142,7 @@ namespace Assimp #if ASSIMP_BLEND_WITH_POLY_2_TRI -#include "../contrib/poly2tri/poly2tri/poly2tri.h" +#include "poly2tri/poly2tri.h" namespace Assimp { diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 35ecf50..d549c89 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -655,12 +655,15 @@ SET( ConvertUTF_SRCS ) SOURCE_GROUP( ConvertUTF FILES ${ConvertUTF_SRCS}) +if (NOT HAVE_CLIPPER) SET( Clipper_SRCS ../contrib/clipper/clipper.hpp ../contrib/clipper/clipper.cpp ) SOURCE_GROUP( Clipper FILES ${Clipper_SRCS}) - +else (NOT HAVE_CLIPPER) +SET( Clipper_SRCS "") +endif(NOT HAVE_CLIPPER) SET( Poly2Tri_SRCS ../contrib/poly2tri/poly2tri/common/shapes.cc @@ -743,8 +746,6 @@ SET( assimp_src # Third-party libraries ${IrrXML_SRCS} ${ConvertUTF_SRCS} - ${unzip_compile_SRCS} - ${Poly2Tri_SRCS} ${Clipper_SRCS} ${openddl_parser_SRCS} # Necessary to show the headers in the project when using the VC++ generator: @@ -753,6 +754,8 @@ SET( assimp_src ${COMPILER_HEADERS} ) + + ADD_DEFINITIONS( -DOPENDDLPARSER_BUILD ) INCLUDE_DIRECTORIES( @@ -821,6 +824,19 @@ else (UNZIP_FOUND) INCLUDE_DIRECTORIES("../") endif (UNZIP_FOUND) +if (HAVE_POLY2TRI) + INCLUDE_DIRECTORIES(${POLY2TRI_INCLUDE_PATH}) + TARGET_LINK_LIBRARIES(assimp ${POLY2TRI_LIB}) +endif(HAVE_POLY2TRI) + +if (HAVE_CLIPPER) + INCLUDE_DIRECTORIES(${CLIPPER_INCLUDE_PATH}) + TARGET_LINK_LIBRARIES(assimp ${CLIPPER_LIB}) +else (HAVE_CLIPPER) + INCLUDE_DIRECTORIES(../contrib/clipper) +endif(HAVE_CLIPPER) + + INSTALL( TARGETS assimp LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR} ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR} diff --git a/code/D3MFImporter.cpp b/code/D3MFImporter.cpp index 1a97168..7377eb4 100644 --- a/code/D3MFImporter.cpp +++ b/code/D3MFImporter.cpp @@ -44,7 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include -#include +#include #include "irrXMLWrapper.h" #include "StringComparison.h" #include "StringUtils.h" diff --git a/code/D3MFOpcPackage.cpp b/code/D3MFOpcPackage.cpp index 7cc1dd5..2b007db 100644 --- a/code/D3MFOpcPackage.cpp +++ b/code/D3MFOpcPackage.cpp @@ -42,7 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "D3MFOpcPackage.h" #include "Exceptional.h" -#include +#include #include #include #include diff --git a/code/IFCGeometry.cpp b/code/IFCGeometry.cpp index 5a2e4a0..0926498 100644 --- a/code/IFCGeometry.cpp +++ b/code/IFCGeometry.cpp @@ -49,8 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "PolyTools.h" #include "ProcessHelper.h" -#include "../contrib/poly2tri/poly2tri/poly2tri.h" -#include "../contrib/clipper/clipper.hpp" +#include "poly2tri/poly2tri.h" +#include "clipper.hpp" #include #include diff --git a/code/IFCLoader.cpp b/code/IFCLoader.cpp index 34977f5..bc655c0 100644 --- a/code/IFCLoader.cpp +++ b/code/IFCLoader.cpp @@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #ifndef ASSIMP_BUILD_NO_COMPRESSED_IFC -# include +# include #endif #include "IFCLoader.h" diff --git a/code/IFCOpenings.cpp b/code/IFCOpenings.cpp index 51ea143..f0915fb 100644 --- a/code/IFCOpenings.cpp +++ b/code/IFCOpenings.cpp @@ -49,8 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "PolyTools.h" #include "ProcessHelper.h" -#include "../contrib/poly2tri/poly2tri/poly2tri.h" -#include "../contrib/clipper/clipper.hpp" +#include "poly2tri/poly2tri.h" +#include "clipper.hpp" #include diff --git a/code/Q3BSPZipArchive.h b/code/Q3BSPZipArchive.h index e46a11b..da93e5c 100644 --- a/code/Q3BSPZipArchive.h +++ b/code/Q3BSPZipArchive.h @@ -40,7 +40,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef AI_Q3BSP_ZIPARCHIVE_H_INC #define AI_Q3BSP_ZIPARCHIVE_H_INC -#include +#include #include #include #include diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index df0139d..8b26f22 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -37,7 +37,8 @@ #---------------------------------------------------------------------- cmake_minimum_required( VERSION 2.6 ) -INCLUDE( AddGTest ) +# Search for Google Test +FIND_PACKAGE(GTest) INCLUDE_DIRECTORIES( ${Assimp_SOURCE_DIR}/include diff --git a/tools/assimp_cmd/CMakeLists.txt b/tools/assimp_cmd/CMakeLists.txt index f8af93a..3f9a902 100644