38function(create_cmake_stages _file_configure _file_compile _file_install _component _component_title _srcdir _builddir _options _library_mode _output_libraries)
41 set(_indent_level
"${ARGV10}")
42 string(REPEAT
"\t" ${_indent_level} _CMAKE_INDENT_)
44 set(_CMAKE_INDENT_
"")
47 if(${_library_mode} STREQUAL
"static")
48 set(_CMAKE_SHARED_MODE
"OFF")
49 elseif(${_library_mode} STREQUAL
"shared")
50 set(_CMAKE_SHARED_MODE
"ON")
52 message(FATAL_ERROR
"Unknown library mode '${_library_mode}' in create_cmake_stages")
55 set(_CMAKE_COMPONENT_TITLE
"${_component_title}")
56 string(APPEND _CMAKE_STAGE_BUILD
"${_component}" "_build")
57 string(APPEND _CMAKE_STAGE_INSTALL
"${_component}" "_install")
58 set(_CMAKE_SRCDIR
"${_srcdir}")
59 set(_CMAKE_BUILD_DIR
"${_builddir}")
60 set(_CMAKE_OUTPUT_LIBRARIES
"${_output_libraries}")
62 list_join(_CMAKE_OPTIONS
"${_options}" "\n\t\t")
64 sanitize_for_filename(_CMAKE_COMPONENT_SAFE
"${_component}")
66 set(_CMAKE_CONFIGURE_FILE
67 "${BUILDMASTER_SCRIPTS_CMAKEDIR}/${_CMAKE_COMPONENT_SAFE}_configure.cmake"
70 "${BUILDMASTER_SCRIPTS_CMAKEDIR}/${_CMAKE_COMPONENT_SAFE}_build.cmake"
72 set(_CMAKE_INSTALL_FILE
73 "${BUILDMASTER_SCRIPTS_CMAKEDIR}/${_CMAKE_COMPONENT_SAFE}_install.cmake"
77 "${BUILDMASTER_TOOLS_CMAKE_SRCDIR}/configure.cmake.in"
78 "${_CMAKE_CONFIGURE_FILE}"
82 "${BUILDMASTER_TOOLS_CMAKE_SRCDIR}/build.cmake.in"
83 "${_CMAKE_BUILD_FILE}"
87 "${BUILDMASTER_TOOLS_CMAKE_SRCDIR}/install.cmake.in"
88 "${_CMAKE_INSTALL_FILE}"
91 set(${_file_configure}
"${_CMAKE_CONFIGURE_FILE}" PARENT_SCOPE)
92 set(${_file_compile}
"${_CMAKE_BUILD_FILE}" PARENT_SCOPE)
93 set(${_file_install}
"${_CMAKE_INSTALL_FILE}" PARENT_SCOPE)