mirror of
https://github.com/ApfelTeeSaft/vb01.git
synced 2026-08-26 19:33:45 +00:00
CMakeLists.txt simplification
improved error checking
This commit is contained in:
+13
-18
@@ -1,11 +1,10 @@
|
||||
cmake_minimum_required(VERSION 3.3)
|
||||
cmake_minimum_required(VERSION 3.2)
|
||||
project(vb01)
|
||||
|
||||
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 -pedantic")
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -pedantic")
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
cmake_policy(SET CMP0015 NEW)
|
||||
@@ -24,7 +23,7 @@ include_directories(${STB_HEADERS})
|
||||
include_directories(external/glm)
|
||||
include_directories(external/glm/glm)
|
||||
|
||||
add_library(${PROJECT_NAME} SHARED ${LIB_SRC})
|
||||
add_library(${PROJECT_NAME} STATIC ${LIB_SRC})
|
||||
|
||||
set(GLFW_DIR external/glfw)
|
||||
set(FREETYPE_DIR external/freetype)
|
||||
@@ -33,31 +32,28 @@ set(CPPUNIT_DIR external/CppUnit)
|
||||
|
||||
add_subdirectory(${GLFW_DIR})
|
||||
if(UNIX)
|
||||
set(GLFW_LIB_DIR ${GLFW_DIR})
|
||||
message("Building for UNIX")
|
||||
set(GLFW_LIB_DIR build/${GLFW_DIR}/src)
|
||||
elseif(WIN32)
|
||||
set(GLFW_LIB_DIR ${GLFW_DIR}/src/Debug)
|
||||
message("Building for Windows")
|
||||
set(GLFW_LIB_DIR build/${GLFW_DIR}/src/Debug)
|
||||
endif()
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC ${GLFW_DIR}/include/GLFW)
|
||||
target_link_directories(${PROJECT_NAME} PUBLIC ${GLFW_LIB_DIR})
|
||||
|
||||
add_subdirectory(${ASSIMP_DIR})
|
||||
if(UNIX)
|
||||
set(ASSIMP_LIB_DIR ${ASSIMP_DIR}/bin)
|
||||
set(ASSIMP_LIB_DIR build/${ASSIMP_DIR}/lib)
|
||||
elseif(WIN32)
|
||||
set(ASSIMP_LIB_DIR ${ASSIMP_DIR}/bin/Debug)
|
||||
set(ASSIMP_LIB_DIR build/${ASSIMP_DIR}/lib/Debug)
|
||||
endif()
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC ${ASSIMP_DIR}/include/assimp)
|
||||
target_link_directories(${PROJECT_NAME} PUBLIC ${ASSIMP_LIB_DIR})
|
||||
|
||||
if(UNIX)
|
||||
execute_process(COMMAND ${FREETYPE_DIR}/autogen.sh)
|
||||
execute_process(COMMAND ${FREETYPE_DIR}/configure)
|
||||
execute_process(COMMAND make -c ${FREETYPE_DIR})
|
||||
set(FREETYPE_LIB_DIR ${FREETYPE_DIR}/objs/.lib)
|
||||
set(FREETYPE_LIB_DIR build/${FREETYPE_DIR})
|
||||
elseif(WIN32)
|
||||
execute_process(COMMAND cmake -E build_directory build)
|
||||
execute_process(COMMAND cmake -E chdir build cmake ..)
|
||||
set(FREETYPE_LIB_DIR ${FREETYPE_DIR}/build/Debug)
|
||||
set(FREETYPE_LIB_DIR build/${FREETYPE_DIR}/Debug)
|
||||
endif()
|
||||
add_subdirectory(${FREETYPE_DIR})
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC ${FREETYPE_DIR}/include)
|
||||
@@ -76,10 +72,9 @@ set(TEST_SRC main.cpp ${LIB_SRC} ${RENDER_TEST} ${ARMATURE_TEST} ${MODEL_TEST} $
|
||||
add_executable(vb01Tests ${TEST_SRC})
|
||||
|
||||
if(UNIX)
|
||||
execute_process(COMMAND ${CPPUNIT_DIR}/autogen.sh)
|
||||
set(CPPUNIT_LIB_DIR ${CPPUNIT_DIR})
|
||||
set(CPPUNIT_LIB_DIR build/${CPPUNIT_DIR})
|
||||
elseif(WIN32)
|
||||
set(CPPUNIT_LIB_DIR ${CPPUNIT_DIR}/Debug)
|
||||
set(CPPUNIT_LIB_DIR build/${CPPUNIT_DIR}/Debug)
|
||||
endif()
|
||||
add_subdirectory(${CPPUNIT_DIR})
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC ${CPPUNIT_DIR}/include)
|
||||
|
||||
@@ -25,6 +25,12 @@ namespace vb01{
|
||||
glViewport(0, 0, width, height);
|
||||
}
|
||||
|
||||
void error_callback(int error, const char* msg) {
|
||||
std::string s;
|
||||
s = " [" + std::to_string(error) + "] " + msg + '\n';
|
||||
std::cerr << s << std::endl;
|
||||
}
|
||||
|
||||
Root::Root(){
|
||||
rootNode = new Node(Vector3::VEC_ZERO);
|
||||
guiNode = new Node(Vector3::VEC_ZERO);
|
||||
@@ -46,13 +52,12 @@ namespace vb01{
|
||||
}
|
||||
|
||||
void Root::initWindow(string name){
|
||||
glfwInit();
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
|
||||
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
||||
glfwSetErrorCallback(error_callback);
|
||||
if (GL_TRUE != glfwInit())
|
||||
std::cerr << "Error initialising glfw" << std::endl;
|
||||
window = glfwCreateWindow(width, height, name.c_str(), NULL, NULL);
|
||||
if(window == NULL){
|
||||
cout << "Failed to load window.\n";
|
||||
cout << "Failed to load window...\n";
|
||||
exit(-1);
|
||||
}
|
||||
glfwMakeContextCurrent(window);
|
||||
|
||||
Reference in New Issue
Block a user