first commit

This commit is contained in:
Lendemor 2015-10-17 18:35:36 +02:00
commit 96746c5f7c
4 changed files with 166 additions and 0 deletions

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
Modules/*
test/CMakeFiles/*
cmake_install.cmake
Makefile
CMakeCache.txt

123
template.cmake Normal file
View File

@ -0,0 +1,123 @@
#detect system
if(${CMAKE_DEBUG_TYPE} MATCHES "Debug")
set(LIB_FOLDER "libDebug")
else()
set(LIB_FOLDER "libRelease")
endif()
if(WIN32)
set(LIB_FOLDER ${LIB_FOLDER}/win32)
elseif(UNIX)
if(${CMAKE_SYSTEM_VERSION} MATCHES "i686")
set(LIB_FOLDER ${LIB_FOLDER}/i686)
elseif(${CMAKE_SYSTEM_VERSION} MATCHES "x86_64")
set(LIB_FOLDER ${LIB_FOLDER}/x86_64)
endif()
endif()
#set dependencies paths
set(DEPENDENCIES_ROOT ${PROJECT_SOURCE_DIR}/../cpp_dependencies)
set(INCLUDE_ROOT ${DEPENDENCIES_ROOT}/include)
set(LIB_ROOT ${DEPENDENCIES_ROOT}/${LIB_FOLDER})
message(${LIB_ROOT})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIB_ROOT}) #for SHARED
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIB_ROOT}) #for STATIC
#create library and executable
if(IS_LIBRARY)
set(LIBRARY_NAME ${PROJECT_NAME})
set(EXECUTABLE_NAME "test${PROJECT_NAME}")
add_library(${LIBRARY_NAME} STATIC ${LIB_SRC_LIST})
else()
set(EXECUTABLE_NAME "${PROJECT_NAME}")
endif()
add_executable(${EXECUTABLE_NAME} ${EXEC_SRC_LIST})
add_definitions(-std=c++11)
include_directories(
${INCLUDE_ROOT}
)
#find libraries
set(DEP_LIST "")
if(USE_SFML)
find_library(SFML_LIBRARY_WINDOW
NAMES
sfml-window
PATHS
${LIB_ROOT}
)
find_library(SFML_LIBRARY_SYSTEM
NAMES
sfml-system
PATHS
${LIB_ROOT}
)
LIST(APPEND DEP_LIST SFML_LIBRARY_WINDOW SFML_LIBRARY_SYSTEM)
endif()
if(USE_RENDERER)
find_library(SPARROW_RENDERER_LIBRARY
NAMES
sparrowrenderer
PATHS
${LIB_ROOT}
)
LIST(APPEND DEP_LIST SPARROW_RENDERER_LIBRARY)
endif()
if(USE_INPUT)
find_library(SPARROW_INPUT_LIBRARY
NAMES
SparrowInput
PATHS
${LIB_ROOT}
)
LIST(APPEND DEP_LIST SPARROW_INPUT_LIBRARY)
endif()
if(USE_BULLET)
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}
)
LIST(APPEND DEP_LIST BULLET_COLLISION_LIBRARY BULLET_DYNAMICS_LIBRARY LINEAR_MATH_LIBRARY)
endif()
if(IS_LIBRARY)
target_link_libraries(
${LIBRARY_NAME}
${DEP_LIST}
target_link_libraries(
${EXECUTABLE_NAME}
${LIBRARY_NAME}
)
else()
target_link_libraries(
${EXECUTABLE_NAME}
${DEP_LIST}
)
endif()

3
test/CMakeLists.txt Normal file
View File

@ -0,0 +1,3 @@
cmake_minimum_required(VERSION 3.0)
include(test.cmake)

34
test/test.cmake Normal file
View File

@ -0,0 +1,34 @@
if(WIN32)
set(LIB_DEBUG_FOLDER "libDebug/win32")
set(LIB_RELEASE_FOLDER "libRelease/win32")
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)
if(${CMAKE_DEBUG_TYPE} MATCHES "Debug")
list(APPEND LIB_PATHS ${DEPENDENCIES_ROOT}/${LIB_DEBUG_FOLDER})
list(APPEND LIB_PATHS "\n" ${DEPENDENCIES_ROOT}/${LIB_RELEASE_FOLDER})
else()
list(APPEND LIB_PATHS ${DEPENDENCIES_ROOT}/${LIB_RELEASE_FOLDER})
endif()
find_library(SFML_LIBRARY_WINDOW
NAMES
sfml-window
PATHS
${LIB_PATHS}
)
message(${SFML_LIBRARY_WINDOW})