File: get-cli-arguments.cmake

package info (click to toggle)
hipsolver 6.4.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 11,096 kB
  • sloc: cpp: 72,703; f90: 8,280; sh: 573; python: 531; ansic: 84; makefile: 51; xml: 10
file content (25 lines) | stat: -rw-r--r-- 1,006 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Attempt (best effort) to return a list of user specified parameters cmake was invoked with
# NOTE: Even if the user specifies CMAKE_INSTALL_PREFIX on the command line, the parameter is
# not returned because it does not have the matching helpstring

function(append_cmake_cli_arguments initial_cli_args return_cli_args)

  # Retrieves the contents of CMakeCache.txt
  get_cmake_property(cmake_properties CACHE_VARIABLES)

  foreach(property ${cmake_properties})
    get_property(help_string CACHE ${property} PROPERTY HELPSTRING)

    # Properties specified on the command line have boilerplate text
    if(help_string MATCHES "variable specified on the command line")
      # message(STATUS "property: ${property}")
      # message(STATUS "value: ${${property}}")

      list(APPEND cli_args "-D${property}=${${property}}")
    endif()
  endforeach()

  # message(STATUS "get_command_line_arguments: ${cli_args}")
  set(${return_cli_args} ${${initial_cli_args}} ${cli_args} PARENT_SCOPE)

endfunction()