113 lines
2.0 KiB
CMake
113 lines
2.0 KiB
CMake
project(SparrowEngine)
|
|
cmake_minimum_required(VERSION 2.8)
|
|
|
|
find_package(OpenGL REQUIRED)
|
|
|
|
if(WIN32)
|
|
set(SYSTEM_LIB_PATH "win32")
|
|
else(WIN32)
|
|
set(SYSTEM_LIB_PATH "linux")
|
|
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
|
|
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}
|
|
)
|