From 11d89c7608ddab2b183617418b391b83fccd3759 Mon Sep 17 00:00:00 2001 From: Ryan Pavlik Date: Fri, 15 Jun 2018 11:32:48 -0500 Subject: [PATCH] Clean up and improve "COPY_IF_DIFFERENT" CMake macro --- cMake/FreeCadMacros.cmake | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/cMake/FreeCadMacros.cmake b/cMake/FreeCadMacros.cmake index 60d6bc5ead..7680a808e9 100644 --- a/cMake/FreeCadMacros.cmake +++ b/cMake/FreeCadMacros.cmake @@ -14,7 +14,7 @@ MACRO(COPY_IF_DIFFERENT FROM_DIR TO_DIR FILES TARGETS TAGS) # TAGS - Since only the file name is used # to generate rules, pre-pend a user # supplied tag to prevent duplicate rule errors. -SET(AddTargets "") +SET(AddTargets) FOREACH(SRC ${FILES}) GET_FILENAME_COMPONENT(SRCFILE ${SRC} NAME) # Command to copy the files to ${STEP1}/src, if changed. @@ -31,11 +31,11 @@ FOREACH(SRC ${FILES}) ENDIF("${TO_DIR}" STREQUAL "") ADD_CUSTOM_COMMAND( OUTPUT ${TARGET} - COMMAND ${CMAKE_COMMAND} - ARGS -E copy_if_different ${FROM} ${TO} + COMMAND "${CMAKE_COMMAND}" + ARGS -E copy_if_different "${FROM}" "${TO}" COMMENT "Copying ${SRCFILE} ${TO_DIR}" ) - SET(AddTargets ${AddTargets} ${TARGET}) + list(APPEND AddTargets ${TARGET}) ENDFOREACH(SRC ${FILES}) SET(${TARGETS} ${AddTargets}) ENDMACRO(COPY_IF_DIFFERENT FROM_DIR TO_DIR FILES TARGETS TAGS) @@ -236,15 +236,15 @@ MACRO(SET_BIN_DIR ProjectName OutputName) if(WIN32) set_target_properties(${ProjectName} PROPERTIES DEBUG_OUTPUT_NAME ${OutputName}_d) else(WIN32) - # FreeCADBase, SMDS, Driver, MEFISTO2 and area-native libs don't depend on parts from CMAKE_INSTALL_LIBDIR - if(NOT ${ProjectName} MATCHES "^(FreeCADBase|SMDS|Driver|MEFISTO2|area-native)$") - if(${ARGC} STREQUAL 4) - set_property(TARGET ${ProjectName} APPEND PROPERTY INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}${ARGV3}) - else(${ARGC} STREQUAL 4) - set_property(TARGET ${ProjectName} APPEND PROPERTY INSTALL_RPATH ${CMAKE_INSTALL_LIBDIR}) - endif() - endif() - endif(WIN32) + # FreeCADBase, SMDS, Driver, MEFISTO2 and area-native libs don't depend on parts from CMAKE_INSTALL_LIBDIR + if(NOT ${ProjectName} MATCHES "^(FreeCADBase|SMDS|Driver|MEFISTO2|area-native)$") + if(${ARGC} STREQUAL 4) + set_property(TARGET ${ProjectName} APPEND PROPERTY INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}${ARGV3}) + else(${ARGC} STREQUAL 4) + set_property(TARGET ${ProjectName} APPEND PROPERTY INSTALL_RPATH ${CMAKE_INSTALL_LIBDIR}) + endif() + endif() + endif(WIN32) ENDMACRO(SET_BIN_DIR) # Set python prefix & suffix together @@ -255,8 +255,8 @@ MACRO(SET_PYTHON_PREFIX_SUFFIX ProjectName) if(WIN32) set_target_properties(${ProjectName} PROPERTIES SUFFIX ".pyd") - # 0000661: cmake build on Mac OS: dealing with dylib versus so - elseif(APPLE) + # 0000661: cmake build on Mac OS: dealing with dylib versus so + elseif(APPLE) set_target_properties(${ProjectName} PROPERTIES SUFFIX ".so") endif(WIN32) -ENDMACRO(SET_PYTHON_PREFIX_SUFFIX) +ENDMACRO(SET_PYTHON_PREFIX_SUFFIX)