# $Id: CMakeLists.txt 332 2013-04-03 14:24:08Z roland_schwarz $
# This is the CMake project file for the libe57 reference implementation
#
# Copyright 2010 Roland Schwarz, Riegl LMS GmbH
#
# Permission is hereby granted, free of charge, to any person or organization
# obtaining a copy of the software and accompanying documentation covered by
# this license (the "Software") to use, reproduce, display, distribute,
# execute, and transmit the Software, and to prepare derivative works of the
# Software, and to permit third-parties to whom the Software is furnished to
# do so, all subject to the following:
#
# The copyright notices in the Software and this entire statement, including
# the above license grant, this restriction and the following disclaimer,
# must be included in all copies of the Software, in whole or in part, and
# all derivative works of the Software, unless such copies or derivative
# works are solely in the form of machine-executable object code generated by
# a source language processor.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
# SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
# FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.

cmake_minimum_required(VERSION 2.8.2)

# Override flags to enable prepare for linking to static runtime
set(CMAKE_USER_MAKE_RULES_OVERRIDE ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/c_flag_overrides.cmake)
set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/cxx_flag_overrides.cmake)

# Set a private module find path
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/../../cmake/Modules/")

include(CMakeGenerateDocumentation)

project(E57SimpleImpl_doc)

# developer adjustable version numbers
set(${PROJECT_NAME}_MAJOR_VERSION 1)
set(${PROJECT_NAME}_MINOR_VERSION 1)

# try to find subversion revision number
execute_process(
    COMMAND svnversion
    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
    OUTPUT_VARIABLE ${PROJECT_NAME}_BUILD_VERSION
)
string(STRIP ${${PROJECT_NAME}_BUILD_VERSION} ${PROJECT_NAME}_BUILD_VERSION)
if (NOT ${PROJECT_NAME}_BUILD_VERSION)
    set(${PROJECT_NAME}_BUILD_VERSION "unknown")
endif ()

# calculate the library name tag
set(T_ ${PROJECT_NAME})
set(T_ ${T_}-${${PROJECT_NAME}_MAJOR_VERSION})
set(T_ ${T_}.${${PROJECT_NAME}_MINOR_VERSION})
set(T_ ${T_}.${${PROJECT_NAME}_BUILD_VERSION})
set(${PROJECT_NAME}_TAG ${T_})

include(Tags)

# propose a default installation directory
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
    string(REGEX REPLACE "/${PROJECT_NAME}" "" CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
    set(T_ ${PROJECT_NAME})
    set(T_ ${T_}-${${PROJECT_NAME}_MAJOR_VERSION})
    set(T_ ${T_}.${${PROJECT_NAME}_MINOR_VERSION})
    set(T_ ${T_}.${${PROJECT_NAME}_BUILD_VERSION})
    # set(T_ ${T_}-${${PROJECT_NAME}_BUILD_TAG})
    set(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${T_}
        CACHE PATH
        "Install path prefix, prepended onto install directories."
        FORCE
    )
endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)



#
# Documentation
#


generate_documentation(doc
    Doxyfile
    DOXYVAR_INPUT
        ../../src/refimpl/E57Simple.cpp
        ../../include/E57Simple.h
    DOXYVAR_OUTPUT_DIRECTORY
        ${PROJECT_BINARY_DIR}
)

install(
    DIRECTORY
        ${PROJECT_BINARY_DIR}/html
    DESTINATION
        .
)

