cmake_minimum_required(VERSION 3.0)
project(cd_utils)
find_package(MinGW REQUIRED)
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${PIP_INCLUDES})
file(GLOB CPPS_UTILS "cdutils_*.cpp")
file(GLOB HDRS_UTILS "cdutils_*.h")
add_library(${PROJECT_NAME} SHARED ${CPPS_UTILS} ${HDRS_UTILS})
target_link_libraries(${PROJECT_NAME} ${PIP_LIBRARY})
generate_export_header(${PROJECT_NAME})
list(APPEND HDRS_UTILS "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_export.h")

add_executable(cdutilstest "cdutilstest.cpp" "cdtest.h")
target_link_libraries(cdutilstest ${PIP_LIBRARY} ${PROJECT_NAME})
message(STATUS "Building ${PROJECT_NAME}")

if(LIB)
	list(APPEND _ALL_TARGETS ${PROJECT_NAME})
	set(_ALL_TARGETS ${_ALL_TARGETS} PARENT_SCOPE)
	if(WIN32)
		install(FILES ${HDRS_UTILS} DESTINATION ${MINGW_INCLUDE})
		install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${MINGW_LIB})
		install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${MINGW_BIN})
	else()
		install(FILES ${HDRS_UTILS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
		install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
	endif()
	#message(STATUS "Install ${PROJECT_NAME} to system \"${CMAKE_INSTALL_PREFIX}\"")
else()
	if(WIN32)
		install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
		install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION lib)
	else()
		install(TARGETS ${PROJECT_NAME} DESTINATION lib)
	endif()
	install(FILES ${HDRS_UTILS} DESTINATION include)
	#message(STATUS "Install ${PROJECT_NAME} to local \"bin\"")
endif()
