cmake_minimum_required(VERSION 2.8) project(WntrLing) set(WNTRLING_MAJOR_VERSION 0) set(WNTRLING_MINOR_VERSION 1) set(WNTRLING_VERSION ${WNTRLING_MAJOR_VERSION}.${WNTRLING_MINOR_VERSION}) ## Let's allow to choose the installation dirs. set(LIB_INSTALL_DIR lib CACHE PATH "Installation dir for libraries") set(BIN_INSTALL_DIR bin CACHE PATH "Installation dir for execs") set(INCLUDE_INSTALL_DIR include/wntr/ling CACHE PATH "Installation dir for headers") set(DATA_INSTALL_DIR share CACHE PATH "Installation dir for data") ## Here we turn relative paths to absolute. foreach(p LIB BIN INCLUDE DATA) SET(var ${p}_INSTALL_DIR) IF(NOT IS_ABSOLUTE "${${var}}") set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") endif() endforeach() ## Packages find_package(WntrData REQUIRED) ## Includes include_directories( "${PROJECT_SOURCE_DIR}" "${PROJECT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}/wntrling-core/include" "${PROJECT_SOURCE_DIR}/wntrling-en/include" ${WntrData_INCLUDE_DIRS}) add_subdirectory(wntrling-core) add_subdirectory(wntrling-en) add_subdirectory(wntrling-cli) # ==================================== # Add all targets to the build-tree export set. export(TARGETS wntrling-core wntrling-en wntrling-cli FILE "${PROJECT_BINARY_DIR}/WntrLingLibraryDepends.cmake") # build-tree export export(PACKAGE WntrLing) # WntrLingConfig.cmake for the build tree set(WNTRLING_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}" "${PROJECT_BINARY_DIR}") set(WNTRLING_LIB_DIR "${PROJECT_BINARY_DIR}/wntrling") set(WNTRLING_CMAKE_DIR "${PROJECT_BINARY_DIR}") configure_file(WntrLingConfig.cmake.in "${PROJECT_BINARY_DIR}/WntrLingConfig.cmake" @ONLY) configure_file(WntrLingConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/WntrLingConfigVersion.cmake" @ONLY) # export set for install-tree install(EXPORT WntrLingLibraryDepends DESTINATION "${CMAKE_INSTALL_PREFIX}/share/cmake/WntrLing" COMPONENT dev) # WntrLingConfig.cmake for the install tree set(WNTRLING_INCLUDE_DIRS "${INCLUDE_INSTALL_DIR}") set(WNTRLING_LIB_DIR "${LIB_INSTALL_DIR}") set(WNTRLING_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}/share/cmake/WntrLing") configure_file(WntrLingConfig.cmake.in "${PROJECT_BINARY_DIR}/InstallFiles/WntrLingConfig.cmake" @ONLY) configure_file(WntrLingConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/InstallFiles/WntrLingConfigVersion.cmake" @ONLY) install(FILES "${PROJECT_BINARY_DIR}/InstallFiles/WntrLingConfig.cmake" "${PROJECT_BINARY_DIR}/InstallFiles/WntrLingConfigVersion.cmake" DESTINATION "${WNTRLING_CMAKE_DIR}" COMPONENT dev)