PROJECT(SHADERVM)

FILE(GLOB SHADERVM_SRCS ${PROJECT_SOURCE_DIR}/*.cpp)
FILE(GLOB SHADERVM_HDRS ${PROJECT_SOURCE_DIR}/*.h)

SET(SHADERVM_INSTALL_HDRS shadeop.h)

INCLUDE(${SHADEREXECENV_SOURCE_DIR}/local.cmake)
SET(SHADERVM_SRCS ${SHADERVM_SRCS} ${SHADEREXECENV_SRCS})

INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/interfaces)
INCLUDE_DIRECTORIES(${AQSIS_BOOST_INCLUDE_DIR})

# Internal dependencies
INCLUDE(${AQSISTYPES_SOURCE_DIR}/export.cmake)
INCLUDE(${RIBAPI_SOURCE_DIR}/export.cmake)
INCLUDE(${SHADEREXECENV_SOURCE_DIR}/export.cmake)
INCLUDE(${AQSISTEX_SOURCE_DIR}/export.cmake)

ADD_DEFINITIONS(-DSHADERVM_EXPORTS -DSHADERCONTEXT_EXPORTS)
ADD_LIBRARY(shadervm SHARED ${SHADERVM_SRCS} ${SHADERVM_HDRS} ${INFORES_SRCS})

SET(LINKLIBS)
INCLUDE(${AQSISTYPES_SOURCE_DIR}/link.cmake)
INCLUDE(${AQSISTEX_SOURCE_DIR}/link.cmake)
TARGET_LINK_LIBRARIES(shadervm ${LINKLIBS})
SET_TARGET_PROPERTIES(shadervm PROPERTIES SOVERSION ${MAJOR} VERSION "${MAJOR}.${MINOR}")

INSTALL(TARGETS shadervm
	RUNTIME DESTINATION ${BINDIR}
	LIBRARY DESTINATION ${LIBDIR}
	ARCHIVE DESTINATION ${LIBDIR})

INSTALL(FILES ${SHADERVM_INSTALL_HDRS} DESTINATION ${INCLUDEDIR})

SOURCE_GROUP("Header Files" FILES ${SHADERVM_HDRS})
