#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()