From b45bff8ebd0befae3bb327d6d1dd992eb7dfd124 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Tue, 3 Mar 2015 19:09:58 -0500 Subject: Commit Callum's fix to eliminate dependency on cygwin printf. Use 'cmake -E echo' instead. --- indra/newview/CMakeLists.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 8c5bc9777c..530699cfd9 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1308,9 +1308,11 @@ source_group("CMake Rules" FILES ViewerInstall.cmake) # the summary.json file is created for the benefit of the TeamCity builds, where # it is used to provide descriptive information to the build results page add_custom_target(generate_viewer_version ALL - COMMAND printf '${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}' > ${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt - COMMAND printf '{"Type":"viewer","Version":"${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}"}' > ${CMAKE_BINARY_DIR}/summary.json - COMMENT Generating viewer_version.txt for manifest processing + COMMENT Generating '${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt' for manifest processing + COMMAND ${CMAKE_COMMAND} -E echo '${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}' > ${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt + + COMMENT Generating '${CMAKE_BINARY_DIR}/summary.json' for TeamCity builds + COMMAND ${CMAKE_COMMAND} -E echo '{"Type":"viewer","Version":"${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}"}' > ${CMAKE_BINARY_DIR}/summary.json ) set_source_files_properties( -- cgit v1.2.3 From 032f27aaebc99b0ae4398ed40adc38cc295ba6c8 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 5 Mar 2015 19:17:21 -0500 Subject: Simplify CMake code to generate viewer_version.txt and summary.json. The quoting used for the cygwin printf command didn't work for 'cmake -E echo'. The whole content was enclosed in single quotes, with individual string elements enclosed in double quotes. But we ended up with a summary.json containing (e.g.): '{Type:viewer,Version:3.7.26.33262}' instead of the desired: {"Type":"viewer","Version":"3.7.26.33262"} HOWEVER: I see no compelling reason why either of these files must be deferred to build time. It's simpler and more robust to generate them both directly from CMake at configure time. --- indra/newview/CMakeLists.txt | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 530699cfd9..e2c213389b 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1307,18 +1307,14 @@ source_group("CMake Rules" FILES ViewerInstall.cmake) # the viewer_version.txt file created here is for passing to viewer_manifest and autobuild # the summary.json file is created for the benefit of the TeamCity builds, where # it is used to provide descriptive information to the build results page -add_custom_target(generate_viewer_version ALL - COMMENT Generating '${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt' for manifest processing - COMMAND ${CMAKE_COMMAND} -E echo '${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}' > ${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt - - COMMENT Generating '${CMAKE_BINARY_DIR}/summary.json' for TeamCity builds - COMMAND ${CMAKE_COMMAND} -E echo '{"Type":"viewer","Version":"${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}"}' > ${CMAKE_BINARY_DIR}/summary.json - ) +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt" + "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}\n") +file(WRITE "${CMAKE_BINARY_DIR}/summary.json" + "{\"Type\":\"viewer\",\"Version\":\"${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}\"}\n") set_source_files_properties( llversioninfo.cpp tests/llversioninfo_test.cpp PROPERTIES - DEPENDS generate_viewer_version # dummy dependency to force recompile every time COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}" # see BuildVersion.cmake ) @@ -1676,8 +1672,6 @@ if (WINDOWS) LINK_FLAGS_RELEASE "/FORCE:MULTIPLE /MAP\"secondlife-bin.MAP\" /OPT:REF /LARGEADDRESSAWARE" ) - add_dependencies(${VIEWER_BINARY_NAME} generate_viewer_version) - if(USE_PRECOMPILED_HEADERS) set_target_properties( ${VIEWER_BINARY_NAME} @@ -2002,8 +1996,6 @@ if (LINUX) llcommon ) - add_dependencies(${VIEWER_BINARY_NAME} generate_viewer_version) - add_custom_command( OUTPUT ${product}.tar.bz2 COMMAND ${PYTHON_EXECUTABLE} @@ -2087,8 +2079,6 @@ if (DARWIN) "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app/Contents/Info.plist" ) - add_dependencies(${VIEWER_BINARY_NAME} generate_viewer_version) - add_custom_command( TARGET ${VIEWER_BINARY_NAME} POST_BUILD COMMAND ${PYTHON_EXECUTABLE} @@ -2121,7 +2111,6 @@ if (DARWIN) if (PACKAGE) add_custom_target(llpackage ALL DEPENDS ${VIEWER_BINARY_NAME}) - add_dependencies(llpackage generate_viewer_version) add_custom_command( TARGET llpackage POST_BUILD -- cgit v1.2.3