|
|
@@ -106,6 +106,8 @@ Create custom targets to build projects in external trees
|
|
|
:manual:`CMake Options <cmake(1)>`. Arguments in the form
|
|
|
``-Dvar:string=on`` are always passed to the command line, and
|
|
|
therefore cannot be changed by the user.
|
|
|
+ Arguments may use
|
|
|
+ :manual:`generator expressions <cmake-generator-expressions(7)>`.
|
|
|
``CMAKE_CACHE_ARGS <arg>...``
|
|
|
Initial cache arguments, of the form ``-Dvar:string=on``.
|
|
|
These arguments are written in a pre-load a script that populates
|
|
|
@@ -271,6 +273,9 @@ specifies to run ``make`` and then ``echo done`` during the build step.
|
|
|
Whether the current working directory is preserved between commands is
|
|
|
not defined. Behavior of shell operators like ``&&`` is not defined.
|
|
|
|
|
|
+Arguments to ``<step>_COMMAND`` or ``COMMAND`` options may use
|
|
|
+:manual:`generator expressions <cmake-generator-expressions(7)>`.
|
|
|
+
|
|
|
.. command:: ExternalProject_Get_Property
|
|
|
|
|
|
The ``ExternalProject_Get_Property`` function retrieves external project
|
|
|
@@ -1303,14 +1308,14 @@ endif()
|
|
|
endif()
|
|
|
endforeach()
|
|
|
set(code "${code}set(command \"${cmd}\")${code_execute_process}")
|
|
|
- file(WRITE ${stamp_dir}/${name}-${step}-impl.cmake "${code}")
|
|
|
- set(command ${CMAKE_COMMAND} "-Dmake=\${make}" "-Dconfig=\${config}" -P ${stamp_dir}/${name}-${step}-impl.cmake)
|
|
|
+ file(GENERATE OUTPUT "${stamp_dir}/${name}-${step}-$<CONFIG>-impl.cmake" CONTENT "${code}")
|
|
|
+ set(command ${CMAKE_COMMAND} "-Dmake=\${make}" "-Dconfig=\${config}" -P ${stamp_dir}/${name}-${step}-$<CONFIG>-impl.cmake)
|
|
|
endif()
|
|
|
|
|
|
# Wrap the command in a script to log output to files.
|
|
|
- set(script ${stamp_dir}/${name}-${step}.cmake)
|
|
|
+ set(script ${stamp_dir}/${name}-${step}-$<CONFIG>.cmake)
|
|
|
set(logbase ${stamp_dir}/${name}-${step})
|
|
|
- file(WRITE ${script} "
|
|
|
+ set(code "
|
|
|
${code_cygpath_make}
|
|
|
set(command \"${command}\")
|
|
|
execute_process(
|
|
|
@@ -1331,6 +1336,7 @@ else()
|
|
|
message(STATUS \"\${msg}\")
|
|
|
endif()
|
|
|
")
|
|
|
+ file(GENERATE OUTPUT "${script}" CONTENT "${code}")
|
|
|
set(command ${CMAKE_COMMAND} ${make} ${config} -P ${script})
|
|
|
set(${cmd_var} "${command}" PARENT_SCOPE)
|
|
|
endfunction()
|