cpp_std 0.1.1

Bindings for C++ standard library
Documentation
# Generated by cpp_to_rust.
# See the template at "cpp_to_rust/cpp_to_rust_generator/templates/c_lib/CMakeLists.txt".

cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR)
project (cpp_std_c)

SET(CMAKE_VERBOSE_MAKEFILE ON)

if(RITUAL_QT)
    set(CMAKE_AUTOMOC ON)
    find_package(Qt5Core CONFIG REQUIRED)
endif()

include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
if(RITUAL_INCLUDE_PATH)
    message(STATUS "RITUAL_INCLUDE_PATH=${RITUAL_INCLUDE_PATH}")
    include_directories(${RITUAL_INCLUDE_PATH})
endif()
if(RITUAL_LIBRARY_PATH)
    message(STATUS "RITUAL_LIBRARY_PATH=${RITUAL_LIBRARY_PATH}")
    link_directories(${RITUAL_LIBRARY_PATH})
endif()

file(GLOB sources *.cpp)
file(GLOB headers *.h)
if(NOT(("${RITUAL_LIBRARY_TYPE}" STREQUAL "SHARED") OR ("${RITUAL_LIBRARY_TYPE}" STREQUAL "STATIC")))
    message(FATAL_ERROR "RITUAL_LIBRARY_TYPE must be either SHARED or STATIC." )
endif()
message(STATUS "RITUAL_LIBRARY_TYPE=${RITUAL_LIBRARY_TYPE}")
add_library(cpp_std_c ${RITUAL_LIBRARY_TYPE} ${sources})
if(RITUAL_LINKED_LIBS)
    message(STATUS "RITUAL_LINKED_LIBS=${RITUAL_LINKED_LIBS}")
    target_link_libraries(cpp_std_c ${RITUAL_LINKED_LIBS})
endif()

macro(add_osx_framework fwname target)
    find_library(FRAMEWORK_${fwname}
            NAMES ${fwname}
            PATHS ${RITUAL_FRAMEWORK_PATH}
            NO_DEFAULT_PATH)
    if( ${FRAMEWORK_${fwname}} STREQUAL FRAMEWORK_${fwname}-NOTFOUND)
        message(FATAL_ERROR "Framework not found: ${fwname}")
    else()
        target_link_libraries(${target} "${FRAMEWORK_${fwname}}/${fwname}")
        message(STATUS "Framework ${fwname} found at ${FRAMEWORK_${fwname}}")
    endif()
endmacro(add_osx_framework)

if(RITUAL_FRAMEWORK_PATH)
    message(STATUS "RITUAL_FRAMEWORK_PATH=${RITUAL_FRAMEWORK_PATH}")
endif()

if(RITUAL_LINKED_FRAMEWORKS)
    message(STATUS "RITUAL_LINKED_FRAMEWORKS=${RITUAL_LINKED_FRAMEWORKS}")
    foreach(framework ${RITUAL_LINKED_FRAMEWORKS})
        ADD_OSX_FRAMEWORK(${framework} cpp_std_c)
    endforeach()
endif()


add_definitions(-DCPP_STD_C_LIBRARY)

if(RITUAL_CPP_LIB_VERSION)
    message(STATUS "RITUAL_CPP_LIB_VERSION=${RITUAL_CPP_LIB_VERSION}")
    add_definitions(-DRITUAL_CPP_LIB_VERSION=${RITUAL_CPP_LIB_VERSION})
endif()

if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
    set(CMAKE_CXX_FLAGS
        "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-deprecated-declarations -Werror=return-type")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") # GCC
    set(CMAKE_CXX_FLAGS
        "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-deprecated-declarations -Werror=return-type")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
    # don't warn about deprecated items
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4996")
endif()

if(RITUAL_COMPILER_FLAGS)
    message(STATUS "RITUAL_COMPILER_FLAGS=${RITUAL_COMPILER_FLAGS}")
    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RITUAL_COMPILER_FLAGS}")
endif()

install(
    TARGETS cpp_std_c
    LIBRARY DESTINATION .
    ARCHIVE DESTINATION .
    RUNTIME DESTINATION .
)