commit 96746c5f7c2a7f535e8b74964b0a0c2788ddf794 Author: Lendemor Date: Sat Oct 17 18:35:36 2015 +0200 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fcf5c34 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +Modules/* +test/CMakeFiles/* +cmake_install.cmake +Makefile +CMakeCache.txt + diff --git a/template.cmake b/template.cmake new file mode 100644 index 0000000..e39d728 --- /dev/null +++ b/template.cmake @@ -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() \ No newline at end of file diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..de7e898 --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 3.0) + +include(test.cmake) \ No newline at end of file diff --git a/test/test.cmake b/test/test.cmake new file mode 100644 index 0000000..697e467 --- /dev/null +++ b/test/test.cmake @@ -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})