cmake_minimum_required(VERSION 3.9)
project(OutDir C)

get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if(_isMultiConfig)
  foreach(config ${CMAKE_CONFIGURATION_TYPES})
    string(TOUPPER "${config}" CONFIG)
    list(APPEND configs "${CONFIG}")
  endforeach()
  set(CMAKE_BUILD_TYPE)
elseif(NOT CMAKE_BUILD_TYPE)
  set(CMAKE_BUILD_TYPE Debug)
endif()

if(CMAKE_BUILD_TYPE)
  string(TOUPPER "${CMAKE_BUILD_TYPE}" configs)
endif()

set(top "${OutDir_BINARY_DIR}")
foreach(config ${configs})
  foreach(type archive runtime library)
    string(TOUPPER "${type}" TYPE)
    set(CMAKE_${TYPE}_OUTPUT_DIRECTORY_${config} "${top}/${type}")
    file(REMOVE_RECURSE "${top}/${type}")
  endforeach()
endforeach()

add_subdirectory(../COnly COnly)

add_custom_command(
  OUTPUT OutDir.h
  COMMAND ${CMAKE_COMMAND} -Dtop=${top} -P ${OutDir_SOURCE_DIR}/OutDir.cmake
  DEPENDS COnly ${OutDir_SOURCE_DIR}/OutDir.cmake
  )
include_directories(${top})
add_executable(OutDir OutDir.c OutDir.h)
