#cmake version
cmake_minimum_required ( VERSION 3.10 )

project ( helloworld CXX C)



#reset output path
set ( EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin )
set ( LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib )

set ( CMAKE_SHARED_LIBRARY_LINK_C_FLAGS )

message(STATUS "CMake Info")
message(STATUS "=======================================================")
message(STATUS "    Operation System :  ${CMAKE_SYSTEM}")
message(STATUS "    CPU Architecture : ${CMAKE_SYSTEM_PROCESSOR}")
message(STATUS "    Build Type : ${CMAKE_BUILD_TYPE}${CMAKE_CONFIGURATION_TYPES}")
message(STATUS "    Shared Library  : ${BUILD_SHARED_LIBS}")
message(STATUS "    Build Examples  : ${CSERIALPORT_BUILD_EXAMPLES}")
message(STATUS "    Build Test  : ${CSERIALPORT_BUILD_TEST}")
message(STATUS "=======================================================")
#set include file
include_directories (./inc)
include_directories ( $ENV{XPL_FEATURE_DIR}/easylogging)
include_directories ( $ENV{XPL_FEATURE_DIR}/easylogging/inc)
#set source file
aux_source_directory ( . DIR_USR_SOURCE )
aux_source_directory ( $ENV{XPL_FEATURE_DIR}/easylogging/src DIR_USR_SOURCE )
aux_source_directory ( $ENV{XPL_FEATURE_DIR}/easylogging DIR_USR_SOURCE )
# aux_source_directory ( ./src DIR_USR_SOURCE )

#set CC AR LD AS
set ( CMAKE_C_COMPILER $ENV{CC} )
set ( CMAKE_C_AR $ENV{AR} )
set ( CMAKE_C_LD $ENV{LD} )

#CFLAGS
set ( CMAKE_C_FLAGS "-g -std=c++11" )
set ( CMAKE_CXX_FLAGS "-g -std=c++11" )

add_definitions (
	-DELPP_FEATURE_ALL
	-DELPP_FEATURE_CRASH_LOG
	#-DELPP_NO_DEFAULT_LOG_FILE
	-DELPP_THREAD_SAFE
	-DELPP_OS_UNIX
	#-DELPP_SYSLOG
)

#set debug
if(CMAKE_BUILD_TYPE STREQUAL Debug)
	add_definitions (
		-DPRINT_DEBUG_INFO
	)
endif()


#添加静态库
add_library ( libtest2 STATIC IMPORTED )
add_library ( libtest1 STATIC IMPORTED )

# #静态库的路径
set_property (TARGET libtest1 PROPERTY IMPORTED_LOCATION $ENV{XPL_THIRDPARTY_DIR}/test1/libtest1.a)
set_property (TARGET libtest2 PROPERTY IMPORTED_LOCATION  $ENV{XPL_THIRDPARTY_DIR}/test2/libtest2.a)


MESSAGE( STATUS "There are source files : ${DIR_USR_SOURCE}.")
#generate target
add_executable ( ${CMAKE_PROJECT_NAME} ${DIR_USR_SOURCE} )
target_link_libraries ( ${CMAKE_PROJECT_NAME} pthread libtest1 libtest2 )  

#add custom
add_custom_target ( clean-all COMMAND rm -rf {CMAKE_BINARY_DIR}/* )
