| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #=============================================================================
- # Kitware Information Macro Library
- # Copyright 2010-2011 Kitware, Inc.
- #
- # Distributed under the OSI-approved BSD License (the "License");
- # see accompanying file Copyright.txt for details.
- #
- # This software is distributed WITHOUT ANY WARRANTY; without even the
- # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- # See the License for more information.
- #=============================================================================
- # Import the KWIML directory tree into a subdirectory under a parent
- # project and configure the library as follows:
- #
- # set(KWIML myIML)
- # subdirs(KWIML)
- #
- # Optional settings are as follows:
- #
- # KWIML_HEADER_ROOT = build tree directory to hold KWIML headers.
- # Headers will go in a directory called "${KWIML}" under this root.
- # For example:
- #
- # set(KWIML_HEADER_ROOT ${PROJECT_BINARY_DIR})
- # include_directories(${PROJECT_BINARY_DIR})
- #
- # KWIML_INSTALL_INCLUDE_DIR = install KWIML with "make install"
- # Specify a value relative to the install prefix and do NOT start with '/'.
- # KWIML_INSTALL_INCLUDE_OPTIONS = extra header installation options
- # Specify options for the install(FILES) command.
- #
- # KWIML_LABELS_TEST = list of labels for KWIML tests
- cmake_minimum_required(VERSION 2.6.3 FATAL_ERROR)
- #-----------------------------------------------------------------------------
- if(NOT DEFINED KWIML)
- if(NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
- message(FATAL_ERROR "Set KWIML namespace in parent directory!")
- endif()
- set(KWIML KWIML)
- set(KWIML_STANDALONE 1)
- project(KWIML)
- include(CTest)
- mark_as_advanced(BUILD_TESTING)
- endif()
- #-----------------------------------------------------------------------------
- get_property(KWIML_LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES)
- foreach(lang ${KWIML_LANGUAGES})
- set(KWIML_LANGUAGE_${lang} 1)
- endforeach()
- if(NOT KWIML_LANGUAGE_C AND NOT KWIML_LANGUAGE_CXX)
- set(BUILD_TESTING OFF)
- endif()
- #-----------------------------------------------------------------------------
- if(NOT KWIML_HEADER_ROOT)
- set(KWIML_HEADER_ROOT "${PROJECT_BINARY_DIR}")
- endif()
- set(KWIML_HEADER_DIR "${KWIML_HEADER_ROOT}/${KWIML}")
- include_directories(${KWIML_HEADER_ROOT})
- #-----------------------------------------------------------------------------
- foreach(h ABI INT)
- set(header ${KWIML_HEADER_DIR}/${h}.h)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${h}.h.in ${header} @ONLY)
- if(KWIML_INSTALL_INCLUDE_DIR)
- install(FILES ${header}
- DESTINATION ${KWIML_INSTALL_INCLUDE_DIR}/${KWIML}
- ${KWIML_INSTALL_INCLUDE_OPTIONS})
- endif()
- endforeach()
- #-----------------------------------------------------------------------------
- if(BUILD_TESTING)
- add_subdirectory(test)
- endif()
|