From: <bi...@us...> - 2014-05-22 17:07:20
|
Revision: 10096 http://sourceforge.net/p/oorexx/code-0/10096 Author: bigrixx Date: 2014-05-22 17:07:17 +0000 (Thu, 22 May 2014) Log Message: ----------- Add macro to make file copying operations less wordy Modified Paths: -------------- main/trunk/CMakeLists.txt Modified: main/trunk/CMakeLists.txt =================================================================== --- main/trunk/CMakeLists.txt 2014-05-21 21:57:36 UTC (rev 10095) +++ main/trunk/CMakeLists.txt 2014-05-22 17:07:17 UTC (rev 10096) @@ -705,31 +705,21 @@ # Extra link library definitions target_link_libraries(rexximage rexx rexxapi ${platform_rexximg_libs}) +# handy macro for copying files from the source into the build directory. +macro (copy_build_file name source) + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name} + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${source}/${name} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name} + DEPENDS ${source}/${name} + ) +endmacro (copy_build_file) + # Copy the class files to the build directory -ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/CoreClasses.orx - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${build_rexx_classes_dir}/CoreClasses.orx ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/CoreClasses.orx - DEPENDS ${build_rexx_classes_dir}/CoreClasses.orx - ) +copy_build_file(CoreClasses.orx ${build_rexx_classes_dir}) +copy_build_file(StreamClasses.orx ${build_rexx_classes_dir}) +copy_build_file(Serializable.orx ${build_rexx_classes_dir}) +copy_build_file(PlatformObjects.orx ${build_interpreter_platform_dir}) -ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/StreamClasses.orx - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${build_rexx_classes_dir}/StreamClasses.orx ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/StreamClasses.orx - DEPENDS ${build_rexx_classes_dir}/StreamClasses.orx - ) - -ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Serializable.orx - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${build_rexx_classes_dir}/Serializable.orx ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Serializable.orx - DEPENDS ${build_rexx_classes_dir}/Serializable.orx - ) - -ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/PlatformObjects.orx - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${build_interpreter_platform_dir}/PlatformObjects.orx ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/PlatformObjects.orx - DEPENDS ${build_interpreter_platform_dir}/PlatformObjects.orx - ) - # These are the portable class files the image requires set (image_class_files ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/CoreClasses.orx @@ -739,11 +729,7 @@ # On Windows, the ole support is also included in the image if (WIN32) - ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/orexxole.cls - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${build_extensions_ole_dir}/orexxole.cls ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/orexxole.cls - DEPENDS ${build_extensions_ole_dir}/orexxole.cls - ) + copy_build_file(orexxole.cls ${build_extensions_ole_dir}) set (platform_rexx_img_depends orexxole ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/orexxole.cls) endif () |