CMakeLists.txt simplification

improved error checking
This commit is contained in:
devZoGok
2021-10-19 19:06:41 +03:00
parent 5b17978bac
commit 8c8edc2159
2 changed files with 23 additions and 23 deletions
+13 -18
View File
@@ -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)
+10 -5
View File
@@ -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);