Re: [CMake] getting a build parameter from a file
Why not just use configure_file to write ${metals} into the file... configure_file only actually touches/writes-to/updates the file if the contents are different... Then you can just depend on that file and you don't need a separate timestamp file. HTH, David C. On Tue, Jun 9, 2015 at 1:05 AM, Dave Yost d...@yost.com wrote: First, my cmake code does this: sets ${metals} from a cmake command-line argument compares the contents of ${metals} against the contents of a file to note whether the variable is being changed since the last run of cmake writes the new value to that file for next time call an add_timestamp_file_target function. which touches the file metalsTimestamp if the variable is being changed or if the file doesn’t exist. Then comes this: set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -DMETALS=${metals}) add_executable (metals metals.cc) add_dependencies (metals metalsTimestamp) My add_timestamp_file_target function has to use one of add_custom_target add_custom_command to make metalsTimestamp visible to the add_dependencies function. Problem is, it seems that those commands have to touch the file every time cmake runs, but I want to touch it only when necessary. Is there a way to make this work? -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
Re: [CMake] getting a build parameter from a file
On 2015-06-09, at 8:05 AM, David Cole dlrd...@aol.com wrote: Why not just use configure_file because I didn’t know about it. Thanks! to write ${metals} into the file... configure_file only actually touches/writes-to/updates the file if the contents are different... Then you can just depend on that file and you don't need a separate timestamp file. HTH, David C. On Tue, Jun 9, 2015 at 1:05 AM, Dave Yost d...@yost.com wrote: First, my cmake code does this: sets ${metals} from a cmake command-line argument compares the contents of ${metals} against the contents of a file to note whether the variable is being changed since the last run of cmake writes the new value to that file for next time call an add_timestamp_file_target function. which touches the file metalsTimestamp if the variable is being changed or if the file doesn’t exist. Then comes this: set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -DMETALS=${metals}) add_executable (metals metals.cc) add_dependencies (metals metalsTimestamp) My add_timestamp_file_target function has to use one of add_custom_target add_custom_command to make metalsTimestamp visible to the add_dependencies function. Problem is, it seems that those commands have to touch the file every time cmake runs, but I want to touch it only when necessary. Is there a way to make this work? -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
[CMake] getting a build parameter from a file
First, my cmake code does this: sets ${metals} from a cmake command-line argument compares the contents of ${metals} against the contents of a file to note whether the variable is being changed since the last run of cmake writes the new value to that file for next time call an add_timestamp_file_target function. which touches the file metalsTimestamp if the variable is being changed or if the file doesn’t exist. Then comes this: set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -DMETALS=${metals}) add_executable (metals metals.cc http://metals.cc/) add_dependencies (metals metalsTimestamp) My add_timestamp_file_target function has to use one of add_custom_target add_custom_command to make metalsTimestamp visible to the add_dependencies function. Problem is, it seems that those commands have to touch the file every time cmake runs, but I want to touch it only when necessary. Is there a way to make this work? -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake