cmake_minimum_required(VERSION 3.1)

project(asynchronous_execution CXX)


#
# Lib
#
set(CMAKE_POSITION_INDEPENDENT_CODE ON)


include_directories(
	"include"
)

file(
	GLOB
	source_files
	"src/*.cpp"
	"include/*.h"
)

ADD_LIBRARY(
	asynchronous_execution
	STATIC
	${source_files}
)

target_compile_features(
	asynchronous_execution
	PRIVATE cxx_generic_lambdas
)


#
# Sample
#
IF(SAMPLE MATCHES "TRUE")
	file(
		GLOB
		source_files_sample_1
		"sample/sample_1.cpp"
	)

	add_executable(
		sample_1
		${source_files_sample_1}
	)

	TARGET_LINK_LIBRARIES(
		sample_1
		asynchronous_execution
	)

	IF(UNIX)
		TARGET_LINK_LIBRARIES(
			sample_1
			pthread
		)
	ENDIF() #Unix

	target_compile_features(
		sample_1
		PRIVATE cxx_generic_lambdas
	)
ENDIF() # SAMPLE
