project(SparrowEngine) cmake_minimum_required(VERSION 2.8) find_package(OpenGL REQUIRED) if(WIN32) set(SYSTEM_LIB_PATH "win32") set(GLEW_LIB_NAME "glew32") else(WIN32) set(SYSTEM_LIB_PATH "linux") set(GLEW_LIB_NAME "GLEW") endif(WIN32) set(LIB_SRC_LIST engine.cpp scene.cpp resourcemanager.cpp cameranode.cpp ) set(LIBRARY_NAME ${PROJECT_NAME}) set(EXECUTABLE_NAME "test${PROJECT_NAME}") set(DEPENDENCIES_ROOT ${PROJECT_SOURCE_DIR}/../cpp_dependencies) set(INCLUDE_ROOT ${DEPENDENCIES_ROOT}/include) set(LIB_ROOT ${DEPENDENCIES_ROOT}/lib/${SYSTEM_LIB_PATH}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIB_ROOT}) #for SHARED set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIB_ROOT}) #for STATIC add_library(${LIBRARY_NAME} STATIC ${LIB_SRC_LIST}) add_executable(${EXECUTABLE_NAME} main.cpp) add_definitions(-std=c++11) include_directories( ${INCLUDE_ROOT} ${INCLUDE_ROOT}/bullet ${PROJECT_SOURCE_DIR}/../sparrowinput ${PROJECT_SOURCE_DIR}/../sparrowrenderer ) find_library(SFML_LIBRARY_WINDOW NAMES sfml-window PATHS ${LIB_ROOT} ) find_library(SFML_LIBRARY_SYSTEM NAMES sfml-system PATHS ${LIB_ROOT} ) find_library(SPARROW_RENDERER_LIBRARY NAMES SparrowRenderer PATHS ${LIB_ROOT} ) find_library(SPARROW_INPUT_LIBRARY NAMES SparrowInput PATHS ${LIB_ROOT} ) find_library(BULLET_COLLISION_LIBRARY NAMES BulletCollision PATHS ${LIB_ROOT} ) find_library(BULLET_DYNAMICS_LIBRARY NAMES BulletDynamics PATHS ${LIB_ROOT} ) find_library(LINEAR_MATH_LIBRARY NAMES LinearMath PATHS ${LIB_ROOT} ) find_library(GLEW_LIBRARY NAMES ${GLEW_LIB_NAME} PATHS ${LIB_ROOT} ) target_link_libraries( ${LIBRARY_NAME} ${SFML_LIBRARY_WINDOW} ${SFML_LIBRARY_SYSTEM} ${SPARROW_INPUT_LIBRARY} ${SPARROW_RENDERER_LIBRARY} ${BULLET_COLLISION_LIBRARY} ${BULLET_DYNAMICS_LIBRARY} ${LINEAR_MATH_LIBRARY} ${GLEW_LIBRARY} ${OPENGL_LIBRARIES} ) target_link_libraries( ${EXECUTABLE_NAME} ${LIBRARY_NAME} )