#[[++

Copyright (C) 2019 ACT Developers


This file has been generated by the Automatic Component Toolkit (ACT) version 1.6.0.

Abstract: This is an autogenerated CMakeLists file for the development of Optional Class Library.

Interface version: 1.0.0


]]

cmake_minimum_required(VERSION 3.5)

### The implementation of the Optional Class Library component
project(OptClass)

set (CMAKE_CXX_STANDARD 11)

# The location of autogenerated interfaces
set(CMAKE_CURRENT_AUTOGENERATED_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Interfaces)

file(GLOB OPTCLASS_SRC
	${CMAKE_CURRENT_SOURCE_DIR}/Stub/*.cpp
)
file(GLOB OPTCLASS_HDR
	${CMAKE_CURRENT_SOURCE_DIR}/Stub/*.hpp
)
set(OPTCLASS_SRC ${OPTCLASS_SRC} ${OPTCLASS_SRC}
	${CMAKE_CURRENT_AUTOGENERATED_DIR}/optclass_interfaceexception.cpp
	${CMAKE_CURRENT_AUTOGENERATED_DIR}/optclass_interfacewrapper.cpp
	${CMAKE_CURRENT_AUTOGENERATED_DIR}/optclass_interfacejournal.cpp
)

add_library(optclass SHARED ${OPTCLASS_SRC})
# Do not prefix the binary's name with "lib" on Unix systems:
set_target_properties(optclass PROPERTIES PREFIX "" IMPORT_PREFIX "" )
# The following two properties are crucial to reduce the number of undesirably exported symbols
set_target_properties(optclass PROPERTIES CXX_VISIBILITY_PRESET hidden)
set_target_properties(optclass PROPERTIES VISIBILITY_INLINES_HIDDEN ON)
# This makes sure symbols are exported
target_compile_options(optclass PRIVATE "-D__OPTCLASS_EXPORTS")
target_include_directories(optclass PRIVATE ${CMAKE_CURRENT_AUTOGENERATED_DIR})
target_include_directories(optclass PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Stub)
