cmake_minimum_required(VERSION 3.16)

project(casmine)

set (CMAKE_CXX_STANDARD 17)
set (CXX_STANDARD_REQUIRED ON)

find_package(Boost REQUIRED)

add_library(casmine 
  SHARED
    ansi-styles.cpp
    casmine.cpp
    describe.cpp
    matchers.cpp
    reporter.cpp
    helpers.cpp
)

target_compile_definitions(casmine
	PRIVATE
		RAPIDJSON_HAS_STDSTRING
)

target_link_libraries(
  casmine 
  Boost::boost
)

target_include_directories(casmine
  PRIVATE
    SYSTEM ${GLIB_INCLUDE_DIRS}
    SYSTEM ${LIBXML2_INCLUDE_DIR}
)

include(GNUInstallDirs)
install(
  TARGETS 
    casmine  
  LIBRARY
)
install(
  FILES
    ansi-styles.h
    casmine.h
    common.h
    describe.h
    expect.h
    helpers.h
    matchers.h
    reporter.h
  DESTINATION
    /usr/include/casmine
)

