Skip to content

Commit fd64282

Browse files
committed
Model processor: First version
1 parent 6d3b213 commit fd64282

File tree

12 files changed

+972
-0
lines changed

12 files changed

+972
-0
lines changed
36.5 KB
Binary file not shown.
23.2 KB
Binary file not shown.

tools/CMakeLists.txt

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
################################################################################
2+
# Rev project
3+
# Sample project that creates a simple scene graph
4+
################################################################################
5+
cmake_minimum_required (VERSION 2.6)
6+
project(revTools)
7+
8+
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
9+
#set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake-modules)
10+
11+
macro(GroupSources curdir)
12+
file(GLOB children RELATIVE ${PROJECT_SOURCE_DIR}/${curdir}
13+
${PROJECT_SOURCE_DIR}/${curdir}/*)
14+
foreach(child ${children})
15+
if(IS_DIRECTORY ${PROJECT_SOURCE_DIR}/${curdir}/${child})
16+
GroupSources(${curdir}/${child})
17+
else()
18+
string(REPLACE "/" "\\" groupname ${curdir})
19+
source_group(${groupname} FILES
20+
${PROJECT_SOURCE_DIR}/${curdir}/${child})
21+
endif()
22+
endforeach()
23+
endmacro()
24+
25+
GroupSources(src)
26+
27+
# Visual studio specifics
28+
if(MSVC)
29+
add_definitions(-DNOMINMAX)
30+
endif(MSVC)
31+
if(CMAKE_COMPILER_IS_GNUCXX)
32+
add_definitions(-std=c++11)
33+
endif()
34+
35+
# libraries
36+
find_package(assimp REQUIRED)
37+
link_directories(${ASSIMP_LIBRARY_DIRS})
38+
39+
# tool folders
40+
file(GLOB_RECURSE MDLPROC_SOURCE_FILES "modelProcessor/*.cpp" "modelProcessor/*.h" "modelProcessor/*.inl")
41+
add_executable(modelProcessor ${MDLPROC_SOURCE_FILES})
42+
set_target_properties(modelProcessor PROPERTIES FOLDER "tools")
43+
44+
message(STATUS "Found asset importer library: ${ASSIMP_LIBRARY_DIRS}")
45+
message(STATUS "Found asset importer library: ${ASSIMP_INCLUDE_DIRS}")
46+
message(STATUS "Found asset importer library: ${ASSIMP_LIBRARIES}")
47+
target_include_directories(modelProcessor PUBLIC ${ASSIMP_INCLUDE_DIRS})
48+
target_link_libraries(modelProcessor LINK_PUBLIC ${ASSIMP_LIBRARIES} zlibstatic)
49+
target_link_libraries(modelProcessor LINK_PUBLIC rev)

tools/cmake-modules/AddGTest.cmake

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
find_package(Threads REQUIRED)
2+
include(ExternalProject)
3+
4+
if(MSYS OR MINGW)
5+
set(DISABLE_PTHREADS ON)
6+
else()
7+
set(DISABLE_PTHREADS OFF)
8+
endif()
9+
10+
if (MSVC)
11+
set(RELEASE_LIB_DIR ReleaseLibs)
12+
set(DEBUG_LIB_DIR DebugLibs)
13+
else()
14+
set(RELEASE_LIB_DIR "")
15+
set(DEBUG_LIB_DIR "")
16+
endif()
17+
18+
set(GTEST_CMAKE_ARGS
19+
"-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
20+
"-Dgtest_force_shared_crt=ON"
21+
"-Dgtest_disable_pthreads:BOOL=${DISABLE_PTHREADS}")
22+
set(GTEST_RELEASE_LIB_DIR "")
23+
set(GTEST_DEBUGLIB_DIR "")
24+
if (MSVC)
25+
set(GTEST_CMAKE_ARGS ${GTEST_CMAKE_ARGS}
26+
"-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=${DEBUG_LIB_DIR}"
27+
"-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=${RELEASE_LIB_DIR}")
28+
set(GTEST_LIB_DIR)
29+
endif()
30+
31+
set(GTEST_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/gtest")
32+
33+
# try to find git - if found, setup gtest
34+
find_package(Git)
35+
if(NOT GIT_FOUND)
36+
set(AddGTest_FOUND false CACHE BOOL "Was gtest setup correctly?")
37+
else(NOT GIT_FOUND)
38+
set(AddGTest_FOUND true CACHE BOOL "Was gtest setup correctly?")
39+
40+
ExternalProject_Add(gtest
41+
GIT_REPOSITORY https://chromium.googlesource.com/external/googletest
42+
TIMEOUT 10
43+
PREFIX "${GTEST_PREFIX}"
44+
CMAKE_ARGS "${GTEST_CMAKE_ARGS}"
45+
LOG_DOWNLOAD ON
46+
LOG_CONFIGURE ON
47+
LOG_BUILD ON
48+
# Disable install
49+
INSTALL_COMMAND ""
50+
)
51+
52+
set(LIB_PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}")
53+
set(LIB_SUFFIX "${CMAKE_STATIC_LIBRARY_SUFFIX}")
54+
set(GTEST_LOCATION "${GTEST_PREFIX}/src/gtest-build")
55+
set(GTEST_DEBUG_LIBRARIES
56+
"${GTEST_LOCATION}/${DEBUG_LIB_DIR}/${LIB_PREFIX}gtest${LIB_SUFFIX}"
57+
"${CMAKE_THREAD_LIBS_INIT}")
58+
SET(GTEST_RELEASE_LIBRARIES
59+
"${GTEST_LOCATION}/${RELEASE_LIB_DIR}/${LIB_PREFIX}gtest${LIB_SUFFIX}"
60+
"${CMAKE_THREAD_LIBS_INIT}")
61+
62+
if(MSVC_VERSION EQUAL 1700)
63+
add_definitions(-D_VARIADIC_MAX=10)
64+
endif()
65+
66+
ExternalProject_Get_Property(gtest source_dir)
67+
include_directories(${source_dir}/include)
68+
include_directories(${source_dir}/gtest/include)
69+
70+
ExternalProject_Get_Property(gtest binary_dir)
71+
link_directories(${binary_dir})
72+
endif(NOT GIT_FOUND)

0 commit comments

Comments
 (0)