VCMIUtils.cmake 1.1 KB

123456789101112131415161718
  1. #######################################
  2. # Output directories #
  3. #######################################
  4. macro(vcmi_set_output_dir name dir)
  5. # multi-config builds (e.g. msvc)
  6. foreach (OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
  7. string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIGUPPERCASE)
  8. set_target_properties(${name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIGUPPERCASE} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${dir})
  9. set_target_properties(${name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIGUPPERCASE} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${dir})
  10. set_target_properties(${name} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIGUPPERCASE} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${dir})
  11. endforeach()
  12. # generic no-config case (e.g. with mingw or MacOS)
  13. set_target_properties(${name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build/${dir})
  14. set_target_properties(${name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build/${dir})
  15. set_target_properties(${name} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build/${dir})
  16. endmacro()