cmake_minimum_required(VERSION 2.6)

if (WIN32)
    # Suppression du warning de l'interface avec la dll 
    set (CXX_FLAGS_ADD "${CXX_FLAGS_ADD} /wd4251")
	# Suppression du warning C4355: 'this' : used in base member initializer list
    set (CXX_FLAGS_ADD "${CXX_FLAGS_ADD} /wd4355")
	# Suppression du warning C4190:  has C-linkage specified, but returns UDT 'std::vector<_Ty>' which is incompatible with C
    set (CXX_FLAGS_ADD "${CXX_FLAGS_ADD} /wd4190")
	
	# Ajout du force include de winsock2
	#set (CXX_FLAGS_ADD "${CXX_FLAGS_ADD} /FI winsock2.h")
	# Suppression du warning  'sprintf': This function or variable may be unsafe
	#add_definitions (-D_CRT_SECURE_NO_WARNINGS)
	# Supression du problme avec winsock2
	#add_definitions (-D_WIN32_WINNT=0x0400)
		
	set (OROCOS_TARGET win32)
	#message (STATUS "Windows detected")
endif()

add_definitions (-DOROCOS_TARGET=${OROCOS_TARGET})

# if (COMPOSANT_LIB_STATIC)
# This CMakeList files need Orocos environement variable to be defined to the root of rtt
# You also need to copy src folder to a new rtt folder	
	
	
	# add_definitions (-DOCL_STATIC)
# else (COMPOSANT_LIB_STATIC)
	# add_definitions (-DOCL_DLL_EXPORT)
# endif ()

	find_package(Boost)
	include_directories(${Boost_INCLUDE_DIRS})

	# FIND RTT
	###############################################################################################
	set (OROCOS_RTT_BUILD_HINTS $ENV{OROCOS}/build/src/ $ENV{OROCOS}/build/src/os/ $ENV{OROCOS}/build/src/os/${TARGET}/ $ENV{OROCOS}/build/src/corba/)
	
	find_path(OROCOS_RTT_INCLUDE_DIR rtt/RTT.hpp "$ENV{OROCOS}")
	find_path(OROCOS_RTT_BUILD_DIR rtt-config.h ${OROCOS_RTT_BUILD_HINTS})
	
	set(OROCOS_RTT_LIB_NAME orocos-rtt-${OROCOS_TARGET})

	find_library(OROCOS_RTT_LIBRARY NAME ${OROCOS_RTT_LIB_NAME} HINTS "$ENV{OROCOS}/build/src/${TARGET}/")

	include_directories(${OROCOS_RTT_INCLUDE_DIR})
	include_directories(${OROCOS_RTT_BUILD_DIR})
	include_directories(${OROCOS_RTT_BUILD_DIR}/os/)
	include_directories(${OROCOS_RTT_BUILD_DIR}/os/${OROCOS_TARGET})

	set(OCL_STATIC_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../ocl-1_8_0)
	set(OCL_STATIC_SOURCE 
			${OCL_STATIC_SOURCE_DIR}/ocl/OCL.hpp 
			${OCL_STATIC_SOURCE_DIR}/ocl/VectorTemplateComposition.hpp
			${OCL_STATIC_SOURCE_DIR}/bin/deployer-funcs.hpp
			${OCL_STATIC_SOURCE_DIR}/bin/deployer-funcs.cpp
			${OCL_STATIC_SOURCE_DIR}/ocl/ComponentLoader.hpp
			${OCL_STATIC_SOURCE_DIR}/deployment/ComponentLoader.cpp
			${OCL_STATIC_SOURCE_DIR}/deployment/DeploymentComponent.hpp
			${OCL_STATIC_SOURCE_DIR}/deployment/DeploymentComponent.cpp
			${OCL_STATIC_SOURCE_DIR}/deployment/CorbaDeploymentComponent.hpp
			${OCL_STATIC_SOURCE_DIR}/deployment/CorbaDeploymentComponent.cpp
	)
	
	
	file (GLOB sourceFiles *.cpp *.h)
	
	add_executable(
        HelloWorld
        ${sourceFiles}
    )
	
	set_target_properties( HelloWorld PROPERTIES
		COMPILE_FLAGS "${CXX_FLAGS_ADD}"
	)
	
	target_link_libraries ( 
		HelloWorld
		${OROCOS_RTT_LIBRARY}
	)
