summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/assimp/contrib/openddlparser/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/assimp/contrib/openddlparser/CMakeLists.txt')
-rw-r--r--src/3rdparty/assimp/contrib/openddlparser/CMakeLists.txt122
1 files changed, 114 insertions, 8 deletions
diff --git a/src/3rdparty/assimp/contrib/openddlparser/CMakeLists.txt b/src/3rdparty/assimp/contrib/openddlparser/CMakeLists.txt
index a39d0219f..9e903ca3f 100644
--- a/src/3rdparty/assimp/contrib/openddlparser/CMakeLists.txt
+++ b/src/3rdparty/assimp/contrib/openddlparser/CMakeLists.txt
@@ -3,18 +3,40 @@ PROJECT( OpenDDL-Parser )
SET ( OPENDDL_PARSER_VERSION_MAJOR 0 )
SET ( OPENDDL_PARSER_VERSION_MINOR 1 )
SET ( OPENDDL_PARSER_VERSION_PATCH 0 )
-SET ( OPENDDL_PARSER_VERSION ${CPPCORE_VERSION_MAJOR}.${CPPCORE_VERSION_MINOR}.${CPPCORE_VERSION_PATCH} )
+SET ( OPENDDL_PARSER_VERSION ${OPENDDL_PARSER_VERSION_MAJOR}.${OPENDDL_PARSER_VERSION_MINOR}.${OPENDDL_PARSER_VERSION_PATCH} )
SET ( PROJECT_VERSION "${OPENDDL_PARSER_VERSION}" )
+option( DDL_USE_CPP11 "Set to ON to use C++11 features ( always on on windows )." ON )
+option( DDL_DEBUG_OUTPUT "Set to ON to use output debug texts" OFF )
+option( DDL_STATIC_LIBRARY "Set to ON to build static libary of OpenDDL Parser." ON )
+option( COVERALLS "Generate coveralls data" OFF )
+
+if ( DDL_USE_CPP11 )
+ if( CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX )
+ set( OPENDDL_CXXFLAGS -std=c++0x )
+ elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ set( OPENDDL_CXXFLAGS --std=c++11 )
+ endif()
+else( DDL_USE_CPP11 )
+ add_definitions( -DOPENDDL_NO_USE_CPP11 )
+endif( DDL_USE_CPP11)
+
if( CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX )
find_package(Threads)
else()
add_definitions( -D_CRT_SECURE_NO_WARNINGS )
endif()
+if ( DDL_STATIC_LIBRARY )
+ add_definitions( -DOPENDDL_STATIC_LIBARY )
+endif()
+
add_definitions( -DOPENDDLPARSER_BUILD )
-add_definitions( -DOPENDDL_NO_USE_CPP11 )
add_definitions( -D_VARIADIC_MAX=10 )
+add_definitions( -DGTEST_HAS_PTHREAD=0 )
+if ( DDL_DEBUG_OUTPUT )
+ add_definitions( -DDDL_DEBUG_HEADER_NAME)
+endif()
INCLUDE_DIRECTORIES(
./
@@ -24,9 +46,10 @@ INCLUDE_DIRECTORIES(
)
link_directories(
- ./
+ ${CMAKE_HOME_DIRECTORY}/lib
)
+set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake )
SET( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_HOME_DIRECTORY}/lib )
SET( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_HOME_DIRECTORY}/lib )
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_HOME_DIRECTORY}/bin )
@@ -40,18 +63,38 @@ if( WIN32 AND NOT CYGWIN )
endif()
elseif( CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX )
# Update if necessary
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic -std=c++0x")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic ${OPENDDL_CXXFLAGS}")
elseif ( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" )
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic -std=c++11")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic ${OPENDDL_CXXFLAGS} -Wwrite-strings")
+endif()
+
+if (COVERALLS)
+ include(Coveralls)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
endif()
+# Include the doc component.
+FIND_PACKAGE( doxygen )
+IF ( DOXYGEN_FOUND )
+ CONFIGURE_FILE( doc/openddlparser_doc.in doc/doxygenfile @ONLY )
+ ADD_CUSTOM_TARGET( doc ALL ${DOXYGEN_EXECUTABLE} doc/doxygenfile
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "Generating API documentation with Doxygen" VERBATIM )
+ENDIF ( DOXYGEN_FOUND )
+
SET ( openddl_parser_src
+ code/OpenDDLCommon.cpp
+ code/OpenDDLExport.cpp
code/OpenDDLParser.cpp
+ code/OpenDDLStream.cpp
code/DDLNode.cpp
code/Value.cpp
+ include/openddlparser/OpenDDLCommon.h
+ include/openddlparser/OpenDDLExport.h
include/openddlparser/OpenDDLParser.h
include/openddlparser/OpenDDLParserUtils.h
- include/openddlparser/OpenDDLCommon.h
+ include/openddlparser/OpenDDLStream.h
include/openddlparser/DDLNode.h
include/openddlparser/Value.h
README.md
@@ -59,6 +102,69 @@ SET ( openddl_parser_src
SOURCE_GROUP( code FILES ${openddl_parser_src} )
-ADD_LIBRARY( openddl_parser SHARED
- ${openddl_parser_src}
+if ( DDL_STATIC_LIBRARY )
+ ADD_LIBRARY( openddl_parser STATIC
+ ${openddl_parser_src}
+ )
+else()
+ ADD_LIBRARY( openddl_parser SHARED
+ ${openddl_parser_src}
+ )
+endif()
+
+SET ( GTEST_PATH contrib/gtest-1.7.0 )
+
+SET ( gtest_src
+ ${GTEST_PATH}/src/gtest-death-test.cc
+ ${GTEST_PATH}/src/gtest-filepath.cc
+ ${GTEST_PATH}/src/gtest-internal-inl.h
+ ${GTEST_PATH}/src/gtest-port.cc
+ ${GTEST_PATH}/src/gtest-printers.cc
+ ${GTEST_PATH}/src/gtest-test-part.cc
+ ${GTEST_PATH}/src/gtest-typed-test.cc
+ ${GTEST_PATH}/src/gtest.cc
+ ${GTEST_PATH}/src/gtest_main.cc
+)
+
+SET( openddl_parser_unittest_src
+ test/UnitTestCommon.h
+ test/DDLNodeTest.cpp
+ test/OpenDDLCommonTest.cpp
+ test/OpenDDLExportTest.cpp
+ test/OpenDDLParserTest.cpp
+ test/OpenDDLParserUtilsTest.cpp
+ test/OpenDDLStreamTest.cpp
+ test/OpenDDLIntegrationTest.cpp
+ test/ValueTest.cpp
+ test/OpenDDLDefectsTest.cpp
+)
+
+SOURCE_GROUP( code FILES ${openddl_parser_unittest_src} )
+SOURCE_GROUP( gtest FILES ${gtest_src} )
+
+ADD_EXECUTABLE( openddl_parser_unittest
+ ${gtest_src}
+ ${openddl_parser_unittest_src}
+)
+
+target_link_libraries( openddl_parser_unittest openddl_parser ${CMAKE_THREAD_LIBS_INIT} )
+
+SET( openddl_parser_demo_src
+ demo/main.cpp
)
+
+if (COVERALLS)
+ set(COVERAGE_SRCS ${gtest_src} ${openddl_parser_unittest_src} )
+
+ # Create the coveralls target.
+ coveralls_setup(
+ "${COVERAGE_SRCS}" # The source files.
+ ON # If we should upload.
+ "${PROJECT_SOURCE_DIR}/cmake/") # (Optional) Alternate project cmake module path.
+endif()
+
+ADD_EXECUTABLE( openddl_parser_demo
+ ${openddl_parser_demo_src}
+)
+
+target_link_libraries( openddl_parser_demo openddl_parser )