compilation working with cmake template
This commit is contained in:
parent
533d8ead76
commit
e292902cbd
@ -9,10 +9,9 @@ set(EXEC_SRC_LIST src/main.cpp)
|
||||
|
||||
#set compilation option
|
||||
set(IS_LIBRARY True)
|
||||
set(USE_OPENGL True)
|
||||
set(USE_SFML True)
|
||||
set(USE_RENDERER True)
|
||||
set(USE_SFML True)
|
||||
set(USE_INPUT True)
|
||||
set(USE_BULLET True)
|
||||
|
||||
include(template.cmake)
|
||||
include(../cmaketemplate/template.cmake)
|
||||
|
@ -1,16 +1,15 @@
|
||||
/*#include "engine.h"
|
||||
#include "engine.h"
|
||||
#include <input.h>
|
||||
#include "scene.h"
|
||||
#include "cameranode.h"
|
||||
#include "resourcemanager.h"
|
||||
#include "sparrowrenderer.h"
|
||||
*/
|
||||
|
||||
#include "tools/graph.h"
|
||||
#include "tools/pathfinder.h"
|
||||
|
||||
int main(){
|
||||
/* CameraNode camera;
|
||||
CameraNode camera;
|
||||
RESOURCE_ADD(&camera, SceneNode, "camera");
|
||||
|
||||
Scene scene("testScene");
|
||||
@ -20,7 +19,7 @@ int main(){
|
||||
engine.getRenderer()->setCamera(&camera);
|
||||
engine.createWindow("test");
|
||||
engine.setScene("testScene");
|
||||
engine.start();*/
|
||||
engine.start();
|
||||
|
||||
GraphNode n1 = GraphNode();
|
||||
n1.setValue(1);
|
||||
|
216
template.cmake
216
template.cmake
@ -1,216 +0,0 @@
|
||||
# Variable that you need to define to use this template
|
||||
# USE_SFML, USE_RENDERER, USE_INPUT, USE_BULLET, USE_OPENGL, USE_QT5
|
||||
#
|
||||
# Container for list of file to be compiled :
|
||||
# LIB_SRC_LIST, LIB_HEAD_LIST, EXEC_SRC_LIST, EXEC_HEAD_LIST
|
||||
#
|
||||
# If you want to specify a supplementary folder for include, use :
|
||||
# EXTRA_INCLUDE_PATHS
|
||||
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
#detect system and version
|
||||
if(WIN32)
|
||||
set(LIB_DEBUG_FOLDER "libDebug/mingw32")
|
||||
set(LIB_RELEASE_FOLDER "libRelease/mingw32")
|
||||
elseif(UNIX)
|
||||
if(${CMAKE_SYSTEM_VERSION} MATCHES "i686")
|
||||
set(LIB_DEBUG_FOLDER "libDebug/i686")
|
||||
set(LIB_RELEASE_FOLDER "libRelease/i686")
|
||||
elseif(${CMAKE_SYSTEM_VERSION} MATCHES "x86_64")
|
||||
set(LIB_DEBUG_FOLDER "libDebug/x86_64")
|
||||
set(LIB_RELEASE_FOLDER "libRelease/x86_64")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#set dependencies paths
|
||||
set(DEPENDENCIES_ROOT ${PROJECT_SOURCE_DIR}/../cpp_dependencies)
|
||||
set(INCLUDE_ROOT ${DEPENDENCIES_ROOT}/include)
|
||||
|
||||
set(LIB_DEBUG_PATH ${DEPENDENCIES_ROOT}/${LIB_DEBUG_FOLDER})
|
||||
set(LIB_RELEASE_PATH ${DEPENDENCIES_ROOT}/${LIB_RELEASE_FOLDER})
|
||||
|
||||
if(${CMAKE_BUILD_TYPE} MATCHES "Debug")
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIB_DEBUG_PATH}) #for STATIC
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIB_DEBUG_PATH}) #for SHARED
|
||||
|
||||
list(APPEND LIB_PATHS ${LIB_DEBUG_PATH})
|
||||
list(APPEND LIB_PATHS "\n" ${LIB_RELEASE_PATH})
|
||||
else()
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIB_RELEASE_PATH}) #for STATIC
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIB_RELEASE_PATH}) #for SHARED
|
||||
|
||||
list(APPEND LIB_PATHS ${LIB_RELEASE_PATH})
|
||||
endif()
|
||||
|
||||
#create library and executable
|
||||
if(LIB_SRC_LIST)
|
||||
set(IS_LIBRARY True)
|
||||
set(LIBRARY_NAME ${PROJECT_NAME})
|
||||
add_library(${LIBRARY_NAME} STATIC ${LIB_SRC_LIST} ${RESOURCES_FILES})
|
||||
if(EXEC_SRC_LIST)
|
||||
set(EXECUTABLE_NAME "test${PROJECT_NAME}")
|
||||
add_executable(${EXECUTABLE_NAME} ${EXEC_SRC_LIST} ${RESOURCES_FILES})
|
||||
endif()
|
||||
elseif(EXEC_SRC_LIST)
|
||||
set(EXECUTABLE_NAME "${PROJECT_NAME}")
|
||||
add_executable(${EXECUTABLE_NAME} ${EXEC_SRC_LIST} ${RESOURCES_FILES})
|
||||
else()
|
||||
message(WARNING "NO SOURCE FILE PROVIDED")
|
||||
endif()
|
||||
|
||||
|
||||
add_definitions(-std=c++11)
|
||||
|
||||
#find libraries
|
||||
set(LIB_DEPENDENCIES_LIST "")
|
||||
set(INCLUDE_PATHS ${INCLUDE_ROOT})
|
||||
|
||||
# not used for now
|
||||
# foreach(EXTENSION ${INCLUDE_PATHS_EXTENSION})
|
||||
# LIST(APPEND INCLUDE_PATHS ${INCLUDE_ROOT}${EXTENSION} " ")
|
||||
# endforeach()
|
||||
|
||||
# TODO: Complete SFML
|
||||
if(USE_SFML)
|
||||
find_library(SFML_LIBRARY_WINDOW
|
||||
NAMES
|
||||
sfml-window
|
||||
PATHS
|
||||
${LIB_PATHS}
|
||||
)
|
||||
|
||||
find_library(SFML_LIBRARY_SYSTEM
|
||||
NAMES
|
||||
sfml-system
|
||||
PATHS
|
||||
${LIB_PATHS}
|
||||
)
|
||||
|
||||
find_library(SFML_LIBRARY_AUDIO
|
||||
NAMES
|
||||
sfml-audio
|
||||
PATHS
|
||||
${LIB_PATHS}
|
||||
)
|
||||
|
||||
find_library(SFML_LIBRARY_GRAPHICS
|
||||
NAMES
|
||||
sfml-graphics
|
||||
PATHS
|
||||
${LIB_PATHS}
|
||||
)
|
||||
|
||||
add_definitions(-DSFML_STATIC)
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${SFML_LIBRARY_AUDIO} ${SFML_LIBRARY_GRAPHICS} ${SFML_LIBRARY_WINDOW} ${SFML_LIBRARY_SYSTEM})
|
||||
endif()
|
||||
|
||||
if(USE_RENDERER)
|
||||
find_library(SPARROW_RENDERER_LIBRARY
|
||||
NAMES
|
||||
SparrowRenderer
|
||||
PATHS
|
||||
${LIB_PATHS}
|
||||
)
|
||||
LIST(APPEND INCLUDE_PATHS "\n" ${PROJECT_SOURCE_DIR}/../sparrowrenderer/src)
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${SPARROW_RENDERER_LIBRARY})
|
||||
endif()
|
||||
|
||||
if(USE_INPUT)
|
||||
find_library(SPARROW_INPUT_LIBRARY
|
||||
NAMES
|
||||
SparrowInput
|
||||
PATHS
|
||||
${LIB_PATHS}
|
||||
)
|
||||
LIST(APPEND INCLUDE_PATHS "\n" ${PROJECT_SOURCE_DIR}/../sparrowinput/src)
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${SPARROW_INPUT_LIBRARY})
|
||||
endif()
|
||||
|
||||
if(USE_BULLET)
|
||||
find_library(BULLET_COLLISION_LIBRARY
|
||||
NAMES
|
||||
BulletCollision
|
||||
PATHS
|
||||
${LIB_PATHS}
|
||||
)
|
||||
|
||||
find_library(BULLET_DYNAMICS_LIBRARY
|
||||
NAMES
|
||||
BulletDynamics
|
||||
PATHS
|
||||
${LIB_PATHS}
|
||||
)
|
||||
|
||||
find_library(LINEAR_MATH_LIBRARY
|
||||
NAMES
|
||||
LinearMath
|
||||
PATHS
|
||||
${LIB_PATHS}
|
||||
)
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${BULLET_COLLISION_LIBRARY} ${BULLET_DYNAMICS_LIBRARY} ${LINEAR_MATH_LIBRARY})
|
||||
LIST(APPEND INCLUDE_PATHS "\n" ${INCLUDE_ROOT}/bullet)
|
||||
endif()
|
||||
|
||||
if(USE_OPENGL)
|
||||
find_package(OpenGL REQUIRED)
|
||||
if(OPENGL_FOUND)
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${OPENGL_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# TODO: Complete QT5
|
||||
if(USE_QT5)
|
||||
if(${QT_MODULE} MATCHES "core")
|
||||
|
||||
endif()
|
||||
if(${QT_MODULE} MATCHES "gui")
|
||||
|
||||
endif()
|
||||
if(${QT_MODULE} MATCHES "opengl")
|
||||
find_package(Qt5OpenGL REQUIRED)
|
||||
if(QT5OPENGL_FOUND)
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${Qt5OpenGL_LIBRARIES})
|
||||
add_definitions(${Qt5OpenGL_DEFINITIONS})
|
||||
LIST(APPEND INCLUDE_PATHS "\n" ${Qt5OpenGL_INCLUDES})
|
||||
endif()
|
||||
endif()
|
||||
if(${QT_MODULE} MATCHES "widgets")
|
||||
find_package(Qt5Widgets REQUIRED)
|
||||
if(QT5WIDGETS_FOUND)
|
||||
LIST(APPEND LIB_DEPENDENCIES_LIST ${Qt5Widgets_LIBRARIES})
|
||||
add_definitions(${Qt5Widgets_DEFINITIONS})
|
||||
LIST(APPEND INCLUDE_PATHS "\n" ${Qt5Widgets_INCLUDES})
|
||||
endif()
|
||||
endif()
|
||||
if(${QT_MODULE} MATCHES "network")
|
||||
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include_directories(
|
||||
${INCLUDE_PATHS}
|
||||
${EXTRA_INCLUDE}
|
||||
)
|
||||
|
||||
if(LIB_SRC_LIST)
|
||||
target_link_libraries(
|
||||
${LIBRARY_NAME}
|
||||
${LIB_DEPENDENCIES_LIST}
|
||||
)
|
||||
if(EXEC_SRC_LIST)
|
||||
target_link_libraries(
|
||||
${EXECUTABLE_NAME}
|
||||
${LIBRARY_NAME}
|
||||
)
|
||||
endif()
|
||||
elseif(EXEC_SRC_LIST)
|
||||
target_link_libraries(
|
||||
${EXECUTABLE_NAME}
|
||||
${LIB_DEPENDENCIES_LIST}
|
||||
)
|
||||
endif()
|
Loading…
x
Reference in New Issue
Block a user