Lines Matching refs:output

5 """cmake output module
9 This module produces cmake (2.8.8+) input as its output. One CMakeLists.txt is
23 library and incorrectly repeats it. As a result the output of this generator
140 def SetFileProperty(output, source_name, property_name, values, sep):
142 output.write('set_source_files_properties(')
143 output.write(source_name)
144 output.write(' PROPERTIES ')
145 output.write(property_name)
146 output.write(' "')
148 output.write(CMakeStringEscape(value))
149 output.write(sep)
150 output.write('")\n')
153 def SetFilesProperty(output, source_names, property_name, values, sep):
155 output.write('set_source_files_properties(\n')
157 output.write(' ')
158 output.write(source_name)
159 output.write('\n')
160 output.write(' PROPERTIES\n ')
161 output.write(property_name)
162 output.write(' "')
164 output.write(CMakeStringEscape(value))
165 output.write(sep)
166 output.write('"\n)\n')
169 def SetTargetProperty(output, target_name, property_name, values, sep=''):
171 output.write('set_target_properties(')
172 output.write(target_name)
173 output.write(' PROPERTIES ')
174 output.write(property_name)
175 output.write(' "')
177 output.write(CMakeStringEscape(value))
178 output.write(sep)
179 output.write('")\n')
182 def SetVariable(output, variable_name, value):
184 output.write('set(')
185 output.write(variable_name)
186 output.write(' "')
187 output.write(CMakeStringEscape(value))
188 output.write('")\n')
191 def SetVariableList(output, variable_name, values):
194 return SetVariable(output, variable_name, "")
196 return SetVariable(output, variable_name, values[0])
197 output.write('list(APPEND ')
198 output.write(variable_name)
199 output.write('\n "')
200 output.write('"\n "'.join([CMakeStringEscape(value) for value in values]))
201 output.write('")\n')
204 def UnsetVariable(output, variable_name):
206 output.write('unset(')
207 output.write(variable_name)
208 output.write(')\n')
211 def WriteVariable(output, variable_name, prepend=None):
213 output.write(prepend)
214 output.write('${')
215 output.write(variable_name)
216 output.write('}')
247 path_to_gyp, output):
264 SetVariableList(output, inputs_name,
271 SetVariableList(output, outputs_name, cmake_outputs)
274 # Collect the output dirs we'll need.
281 output.write('add_custom_command(OUTPUT ')
282 WriteVariable(output, outputs_name)
283 output.write('\n')
287 output.write(' COMMAND ${CMAKE_COMMAND} -E make_directory ')
288 output.write(directory)
289 output.write('\n')
291 output.write(' COMMAND ')
292 output.write(gyp.common.EncodePOSIXShellList(action['action']))
293 output.write('\n')
295 output.write(' DEPENDS ')
296 WriteVariable(output, inputs_name)
297 output.write('\n')
299 output.write(' WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/')
300 output.write(path_to_gyp)
301 output.write('\n')
303 output.write(' COMMENT ')
305 output.write(action['message'])
307 output.write(action_target_name)
308 output.write('\n')
310 output.write(' VERBATIM\n')
311 output.write(')\n')
314 output.write('add_custom_target(')
315 output.write(action_target_name)
316 output.write('\n DEPENDS ')
317 WriteVariable(output, outputs_name)
318 output.write('\n SOURCES ')
319 WriteVariable(output, inputs_name)
320 output.write('\n)\n')
333 path_to_gyp, output):
349 SetVariableList(output, inputs_name,
360 SetVariable(output, 'RULE_INPUT_PATH', rule_source)
361 SetVariable(output, 'RULE_INPUT_DIRNAME', rule_source_dirname)
362 SetVariable(output, 'RULE_INPUT_NAME', rule_source_basename)
363 SetVariable(output, 'RULE_INPUT_ROOT', rule_source_root)
364 SetVariable(output, 'RULE_INPUT_EXT', rule_source_ext)
367 # Collect the output dirs we'll need.
370 # Create variables for the output, as 'local' variable will be unset.
374 SetVariable(output, output_name,
383 output.write('add_custom_command(OUTPUT\n')
385 output.write(' ')
386 output.write(out)
387 output.write('\n')
390 output.write(' COMMAND ${CMAKE_COMMAND} -E make_directory ')
391 output.write(directory)
392 output.write('\n')
394 output.write(' COMMAND ')
395 output.write(gyp.common.EncodePOSIXShellList(rule['action']))
396 output.write('\n')
398 output.write(' DEPENDS ')
399 WriteVariable(output, inputs_name)
400 output.write(' ')
401 output.write(NormjoinPath(path_to_gyp, rule_source))
402 output.write('\n')
406 output.write(' WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/')
407 output.write(path_to_gyp)
408 output.write('\n')
410 output.write(' COMMENT ')
412 output.write(rule['message'])
414 output.write(action_name)
415 output.write('\n')
417 output.write(' VERBATIM\n')
418 output.write(')\n')
420 UnsetVariable(output, 'RULE_INPUT_PATH')
421 UnsetVariable(output, 'RULE_INPUT_DIRNAME')
422 UnsetVariable(output, 'RULE_INPUT_NAME')
423 UnsetVariable(output, 'RULE_INPUT_ROOT')
424 UnsetVariable(output, 'RULE_INPUT_EXT')
427 output.write('add_custom_target(')
428 output.write(rule_name)
429 output.write(' DEPENDS\n')
431 output.write(' ')
432 output.write(out)
433 output.write('\n')
434 output.write('SOURCES ')
435 WriteVariable(output, inputs_name)
436 output.write('\n')
438 output.write(' ')
439 output.write(NormjoinPath(path_to_gyp, rule_source))
440 output.write('\n')
441 output.write(')\n')
446 def WriteCopies(target_name, copies, extra_deps, path_to_gyp, output):
458 # CMake gets upset with custom targets with OUTPUT which specify no output.
461 output.write('add_custom_target(')
462 output.write(copy_name)
463 output.write(')\n')
499 SetVariableList(output, copy.inputs_name, copy.cmake_inputs)
502 SetVariableList(output, copy.outputs_name, copy.cmake_outputs)
505 output.write('add_custom_command(\n')
507 output.write('OUTPUT')
510 WriteVariable(output, copy.outputs_name, ' ')
511 output.write('\n')
516 output.write('COMMAND ${CMAKE_COMMAND} -E %s ' % copy.command)
517 output.write(src)
518 output.write(' ')
519 output.write(dst)
520 output.write("\n")
522 output.write('DEPENDS')
525 WriteVariable(output, copy.inputs_name, ' ')
526 output.write('\n')
528 output.write('WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/')
529 output.write(path_to_gyp)
530 output.write('\n')
532 output.write('COMMENT Copying for ')
533 output.write(target_name)
534 output.write('\n')
536 output.write('VERBATIM\n')
537 output.write(')\n')
540 output.write('add_custom_target(')
541 output.write(copy_name)
542 output.write('\n DEPENDS')
545 WriteVariable(output, copy.outputs_name, ' ')
546 output.write('\n SOURCES')
548 WriteVariable(output, file_copy.inputs_name, ' ')
549 output.write('\n)\n')
614 options, generator_flags, all_qualified_targets, output):
621 output.write('\n#')
622 output.write(qualified_target)
623 output.write('\n')
643 SetVariable(output, 'TARGET', target_name)
644 SetVariable(output, 'TOOLSET', target_toolset)
654 path_from_cmakelists_to_gyp, output)
659 path_from_cmakelists_to_gyp, output)
664 path_from_cmakelists_to_gyp, output)
689 SetVariableList(output, other_srcs_name,
701 output.write('link_directories(')
703 output.write(' ')
704 output.write(NormjoinPath(path_from_cmakelists_to_gyp, library_dir))
705 output.write('\n')
706 output.write(')\n')
708 output.write(cmake_target_type.command)
709 output.write('(')
710 output.write(cmake_target_name)
713 output.write(' ')
714 output.write(cmake_target_type.modifier)
717 WriteVariable(output, other_srcs_name, ' ')
719 output.write('\n')
722 output.write(' ')
723 output.write(NormjoinPath(path_from_cmakelists_to_gyp, src))
724 output.write('\n')
726 output.write(' ')
728 output.write(NormjoinPath(path_from_cmakelists_to_gyp, src))
729 output.write('\n')
731 output.write(')\n')
737 output.write('set_source_files_properties(')
738 WriteVariable(output, other_srcs_name, '')
739 output.write(' PROPERTIES HEADER_FILE_ONLY "TRUE")\n')
760 SetTargetProperty(output,
784 print ('ERROR: What output file should be generated?',
795 SetTargetProperty(output, cmake_target_name, 'PREFIX', product_prefix)
796 SetTargetProperty(output, cmake_target_name,
799 SetTargetProperty(output, cmake_target_name, 'SUFFIX', product_ext)
801 # Make the output of this target referenceable as a source.
805 SetFileProperty(output, cmake_target_output, 'GENERATED', ['TRUE'], '')
810 SetTargetProperty(output, cmake_target_name,
813 SetTargetProperty(output, extra_target_name,
821 SetVariableList(output, includes_name,
824 output.write('set_property(TARGET ')
825 output.write(cmake_target_name)
826 output.write(' APPEND PROPERTY INCLUDE_DIRECTORIES ')
827 WriteVariable(output, includes_name, '')
828 output.write(')\n')
833 SetTargetProperty(output,
845 # SetTargetProperty(output, cmake_target_name,
850 # SetTargetProperty(output, cmake_target_name,
891 SetTargetProperty(output, cmake_target_name, 'COMPILE_FLAGS', flags, ' ')
897 SetTargetProperty(output, cmake_target_name, 'COMPILE_FLAGS', flags, ' ')
901 SetFilesProperty(output, s_sources, 'COMPILE_FLAGS', cflags, ' ')
907 SetFilesProperty(output, c_sources, 'COMPILE_FLAGS', flags, ' ')
913 SetFilesProperty(output, cxx_sources, 'COMPILE_FLAGS', flags, ' ')
917 SetTargetProperty(output, cmake_target_name, 'LINKER_LANGUAGE', ['C'])
922 SetTargetProperty(output, cmake_target_name, 'LINK_FLAGS', ldflags, ' ')
952 output.write('add_dependencies(')
953 output.write(extra_dep)
954 output.write('\n')
957 output.write(' ')
958 output.write(dep)
959 output.write('\n')
960 output.write(')\n')
965 output.write('add_dependencies(')
966 output.write(cmake_target_name)
967 output.write('\n')
969 output.write(' ')
970 output.write(dep)
971 output.write('\n')
975 output.write(' ')
976 output.write(lib_dep)
977 output.write('\n')
978 output.write(')\n')
984 output.write('target_link_libraries(')
985 output.write(cmake_target_name)
986 output.write('\n')
990 output.write('-Wl,--start-group\n')
992 output.write(' ')
993 output.write(dep)
994 output.write('\n')
996 output.write('-Wl,--end-group\n')
999 output.write(' ')
1000 output.write(dep)
1001 output.write('\n')
1004 output.write(' ')
1005 output.write(lib)
1006 output.write('\n')
1008 output.write(')\n')
1010 UnsetVariable(output, 'TOOLSET')
1011 UnsetVariable(output, 'TARGET')
1028 # build_dir: relative path from source root to our output files.
1039 output = open(output_file, 'w')
1040 output.write('cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR)\n')
1041 output.write('cmake_policy(VERSION 2.8.8)\n')
1044 output.write('project(')
1045 output.write(project_target)
1046 output.write(')\n')
1048 SetVariable(output, 'configuration', config_to_use)
1052 output.write('enable_language(ASM)\n')
1054 # output.write('enable_language(ASM-ATT)\n')
1056 SetVariable(output, 'builddir', '${CMAKE_BINARY_DIR}')
1057 SetVariable(output, 'obj', '${builddir}/obj')
1058 output.write('\n')
1065 output.write('set(CMAKE_C_OUTPUT_EXTENSION_REPLACE 1)\n')
1066 output.write('set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1)\n')
1067 output.write('\n')
1082 options, generator_flags, all_qualified_targets, output)
1084 output.close()
1099 # build_dir: relative path from source root to our output files.