From 563eea0aeceb4ed4b35945f82a6dc0ecf34ea081 Mon Sep 17 00:00:00 2001 From: devZoGok Date: Fri, 26 Mar 2021 12:25:44 +0200 Subject: [PATCH] dependencies retrieved from subfolders --- .gitmodules | 15 +++++++++ CMakeLists.txt | 86 +++++++++++++++++++++++++++++------------------ external/assimp | 1 + external/freetype | 1 + external/glad | 1 + external/glfw | 1 + external/glm | 1 + 7 files changed, 73 insertions(+), 33 deletions(-) create mode 100644 .gitmodules create mode 160000 external/assimp create mode 160000 external/freetype create mode 160000 external/glad create mode 160000 external/glfw create mode 160000 external/glm diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..f1e6036 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,15 @@ +[submodule "external/glad"] + path = external/glad + url = https://github.com/Dav1dde/glad +[submodule "external/glfw"] + path = external/glfw + url = https://github.com/glfw/glfw +[submodule "external/glm"] + path = external/glm + url = https://github.com/g-truc/glm +[submodule "external/freetype"] + path = external/freetype + url = https://gitlab.freedesktop.org/freetype/freetype +[submodule "external/assimp"] + path = external/assimp + url = https://github.com/assimp/assimp diff --git a/CMakeLists.txt b/CMakeLists.txt index 5def389..07ea1d0 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,41 +1,61 @@ cmake_minimum_required(VERSION 2.9) project(vb01) -include_directories(/usr/include/GLFW) -include_directories(/usr/include/glad) -include_directories(/usr/include/glm) -include_directories(/usr/include/assimp) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cppunit) - -link_directories(/usr/lib/) - set(CMAKE_BUILD_TYPE Debug) +set(STB_HEADERS external/stb/) +#add_subdirectory(src/) +set(INCLUDE_DIR include/) +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread") +set(CMAKE_POSITION_INDEPENDENT_CODE ON) -set(gui text.cpp) -set(utils util.cpp) -set(math quaternion.cpp vector.cpp matrix.cpp ray.cpp) -set(render particleEmitter.cpp camera.cpp light.cpp material.cpp mesh.cpp model.cpp node.cpp quad.cpp box.cpp root.cpp shader.cpp texture.cpp) -set(model modelReader.cpp assimpModelReader.cpp vbModelReader.cpp) -set(anim animationController.cpp animationChannel.cpp animation.cpp animatable.h keyframeChannel.cpp driver.cpp) -set(armature skeleton.cpp bone.cpp ikSolver.cpp) -set(library ${render} ${math} ${model} ${utils} ${gui} ${armature} ${assetManager} ${anim}) +cmake_policy(SET CMP0015 NEW) -add_library(vb01 SHARED ${library}) -target_link_libraries(vb01 glfw) -target_link_libraries(vb01 glad) -target_link_libraries(vb01 assimp) -target_link_libraries(vb01 freetype) +set(GUI text.cpp) +set(UTILS util.cpp) +set(MATH quaternion.cpp vector.cpp matrix.cpp ray.cpp) +set(RENDER particleEmitter.cpp camera.cpp light.cpp material.cpp mesh.cpp model.cpp node.cpp quad.cpp box.cpp root.cpp shader.cpp texture.cpp) +set(MODEL modelReader.cpp assimpModelReader.cpp vbModelReader.cpp) +set(ANIM animationController.cpp animationChannel.cpp animation.cpp animatable.h keyframeChannel.cpp driver.cpp) +set(ARMATURE skeleton.cpp bone.cpp ikSolver.cpp) +set(LIB_SRC ${RENDER} ${MATH} ${MODEL} ${UTILS} ${GUI} ${ARMATURE} ${ASSET_MANAGER} ${ANIM}) -set(renderTest nodeTest.cpp cameraTest.cpp shaderTest.cpp particleEmitterTest.cpp) -set(armatureTest boneTest.cpp ikSolverTest.cpp) -set(modelTest vbModelReaderTest.cpp) -set(animationTest animationChannelTest.cpp) -set(test ${library} ${renderTest} ${armatureTest} ${modelTest} ${animationTest}) +#include_directories(${INCLUDE_DIR}) -add_executable(vb01Tests main.cpp ${test}) -target_link_libraries(vb01Tests cppunit) -target_link_libraries(vb01Tests glfw) -target_link_libraries(vb01Tests glad) -target_link_libraries(vb01Tests assimp) -target_link_libraries(vb01Tests freetype) +#include_directories(/usr/include/GLFW) +#include_directories(/usr/include/glm) +#include_directories(/usr/include/assimp) +#include_directories(/usr/include/freetype2) +#include_directories(/usr/include/cppunit) + +#link_directories(/usr/lib/) + +include_directories(${STB_HEADERS}) + +find_library(GLAD glad external/glad) +include_directories(external/glad/include/glad) + +find_library(GLFW glfw3 external/glfw/src) +include_directories(external/glfw/include/GLFW) + +include_directories(external/glm) +include_directories(external/glm/glm) + +find_library(FREETYPE freetype external/freetype/objs/.lib) +include_directories(external/freetype/include) + +find_library(ASSIMP assimp external/assimp/build/bin) +include_directories(external/assimp/include/assimp) + +set(DEPS ${GLAD} ${GLFW} ${ASSIMP} ${FREETYPE} ${CMAKE_DL_LIBS}) + +add_library(vb01 SHARED ${LIB_SRC}) +target_link_libraries(vb01 ${DEPS}) + +set(RENDER_TEST nodeTest.cpp cameraTest.cpp shaderTest.cpp particleEmitterTest.cpp) +set(ARMATURE_TEST boneTest.cpp ikSolverTest.cpp) +set(MODEL_TEST vbModelReaderTest.cpp) +set(ANIMATION_TEST animationChannelTest.cpp) +set(TEST_SRC main.cpp ${LIB_SRC} ${RENDER_TEST} ${ARMATURE_TEST} ${MODEL_TEST} ${ANIMATION_TEST}) + +add_executable(vb01Tests ${TEST_SRC}) +target_link_libraries(vb01Tests ${DEPS} vb01 cppunit) diff --git a/external/assimp b/external/assimp new file mode 160000 index 0000000..d1ef28f --- /dev/null +++ b/external/assimp @@ -0,0 +1 @@ +Subproject commit d1ef28fa523ee0a07628d9dec2494d5dfea8c209 diff --git a/external/freetype b/external/freetype new file mode 160000 index 0000000..e9c50fa --- /dev/null +++ b/external/freetype @@ -0,0 +1 @@ +Subproject commit e9c50fa77de58b749b4b95706f7b55bfff0dd27f diff --git a/external/glad b/external/glad new file mode 160000 index 0000000..7ece538 --- /dev/null +++ b/external/glad @@ -0,0 +1 @@ +Subproject commit 7ece538856bf124d798ab323c8e1e64ebb83cb50 diff --git a/external/glfw b/external/glfw new file mode 160000 index 0000000..33cd8b8 --- /dev/null +++ b/external/glfw @@ -0,0 +1 @@ +Subproject commit 33cd8b865d9289cfbcf3d95e6e68e4050b94fcd3 diff --git a/external/glm b/external/glm new file mode 160000 index 0000000..ace16e4 --- /dev/null +++ b/external/glm @@ -0,0 +1 @@ +Subproject commit ace16e47780dcef815294715237f51e9129b6eb3