cmake_minimum_required(VERSION 3.4.3) SET(PROJECT_NAME OgreCrowd) project(${PROJECT_NAME}) find_package(OGRE REQUIRED CONFIG) # recast lib versions SET(SOVERSION 1) SET(VERSION 1.0.0) include_directories( ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/recastnavigation/RecastDemo/Contrib/fastlz ) add_subdirectory("recastnavigation/Recast") add_subdirectory("recastnavigation/Detour") add_subdirectory("recastnavigation/DebugUtils") add_subdirectory("recastnavigation/DetourCrowd") add_subdirectory("recastnavigation/DetourTileCache") file(GLOB ogrecrowdh "${PROJECT_SOURCE_DIR}/include/*.h") file(GLOB ogrecrowdcpp "${PROJECT_SOURCE_DIR}/src/*.cpp") file(GLOB fastlzh "${PROJECT_SOURCE_DIR}/recastnavigation/RecastDemo/Contrib/fastlz/*.h") file(GLOB fastlzcpp "${PROJECT_SOURCE_DIR}/recastnavigation/RecastDemo/Contrib/fastlz/*.c") add_library(${PROJECT_NAME} ${ogrecrowdcpp} ${fastlzcpp} ${ogrecrowdh}) target_include_directories(${PROJECT_NAME} PUBLIC $ $ $ ) target_link_libraries(${PROJECT_NAME} PUBLIC $ Recast Detour DebugUtils DetourCrowd DetourTileCache) # Generate cmake configuration scripts include(CMakePackageConfigHelpers) set(OGRECROWD_GENERATED_DIR ${CMAKE_CURRENT_BINARY_DIR}/generated) set(OGRECROWD_VERSION_CONFIG ${OGRECROWD_GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake) set(OGRECROWD_PROJECT_CONFIG ${OGRECROWD_GENERATED_DIR}/${PROJECT_NAME}Config.cmake) set(OGRECROWD_TARGETS_EXPORT_NAME ${PROJECT_NAME}Targets) set(OGRECROWD_CONFIG_INSTALL_DIR lib/cmake/${PROJECT_NAME}) set(OGRECROWD_NAMESPACE "${PROJECT_NAME}::") set(OGRECROWD_VERSION "${VERSION}") # Create a version config file write_basic_package_version_file(${OGRECROWD_VERSION_CONFIG} VERSION ${OGRECROWD_VERSION} COMPATIBILITY SameMajorVersion) # Create a project config file configure_file(${PROJECT_SOURCE_DIR}/cmake/Config.cmake.in ${OGRECROWD_PROJECT_CONFIG} @ONLY) # Install to the specified directory install(FILES ${OGRECROWD_VERSION_CONFIG} ${OGRECROWD_PROJECT_CONFIG} DESTINATION ${OGRECROWD_CONFIG_INSTALL_DIR}) install(EXPORT ${OGRECROWD_TARGETS_EXPORT_NAME} NAMESPACE ${OGRECROWD_NAMESPACE} DESTINATION ${OGRECROWD_CONFIG_INSTALL_DIR}) # Set standard installation directories set(RUNTIME_DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) set(LIBRARY_DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) set(ARCHIVE_DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) set(INCLUDES_DESTINATION ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME}) list (APPEND ogrecrowdh ${fastlzh}) set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${ogrecrowdh}") install(TARGETS ${PROJECT_NAME} Recast Detour DebugUtils DetourCrowd DetourTileCache EXPORT ${OGRECROWD_TARGETS_EXPORT_NAME} RUNTIME DESTINATION ${RUNTIME_DESTINATION} LIBRARY DESTINATION ${LIBRARY_DESTINATION} ARCHIVE DESTINATION ${ARCHIVE_DESTINATION} PUBLIC_HEADER DESTINATION ${INCLUDES_DESTINATION})