l0bsterssg

node.js static responsive blog post generator
Log | Files | Refs | README

cmake.js (3257B)


      1 /*
      2 Language: CMake
      3 Description: CMake is an open-source cross-platform system for build automation.
      4 Author: Igor Kalnitsky <igor@kalnitsky.org>
      5 Website: https://cmake.org
      6 */
      7 
      8 /** @type LanguageFn */
      9 function cmake(hljs) {
     10   return {
     11     name: 'CMake',
     12     aliases: ['cmake.in'],
     13     case_insensitive: true,
     14     keywords: {
     15       keyword:
     16         // scripting commands
     17         'break cmake_host_system_information cmake_minimum_required cmake_parse_arguments ' +
     18         'cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro ' +
     19         'endwhile execute_process file find_file find_library find_package find_path ' +
     20         'find_program foreach function get_cmake_property get_directory_property ' +
     21         'get_filename_component get_property if include include_guard list macro ' +
     22         'mark_as_advanced math message option return separate_arguments ' +
     23         'set_directory_properties set_property set site_name string unset variable_watch while ' +
     24         // project commands
     25         'add_compile_definitions add_compile_options add_custom_command add_custom_target ' +
     26         'add_definitions add_dependencies add_executable add_library add_link_options ' +
     27         'add_subdirectory add_test aux_source_directory build_command create_test_sourcelist ' +
     28         'define_property enable_language enable_testing export fltk_wrap_ui ' +
     29         'get_source_file_property get_target_property get_test_property include_directories ' +
     30         'include_external_msproject include_regular_expression install link_directories ' +
     31         'link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions ' +
     32         'set_source_files_properties set_target_properties set_tests_properties source_group ' +
     33         'target_compile_definitions target_compile_features target_compile_options ' +
     34         'target_include_directories target_link_directories target_link_libraries ' +
     35         'target_link_options target_sources try_compile try_run ' +
     36         // CTest commands
     37         'ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ' +
     38         'ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ' +
     39         'ctest_test ctest_update ctest_upload ' +
     40         // deprecated commands
     41         'build_name exec_program export_library_dependencies install_files install_programs ' +
     42         'install_targets load_command make_directory output_required_files remove ' +
     43         'subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file ' +
     44         'qt5_use_modules qt5_use_package qt5_wrap_cpp ' +
     45         // core keywords
     46         'on off true false and or not command policy target test exists is_newer_than ' +
     47         'is_directory is_symlink is_absolute matches less greater equal less_equal ' +
     48         'greater_equal strless strgreater strequal strless_equal strgreater_equal version_less ' +
     49         'version_greater version_equal version_less_equal version_greater_equal in_list defined'
     50     },
     51     contains: [
     52       {
     53         className: 'variable',
     54         begin: '\\${', end: '}'
     55       },
     56       hljs.HASH_COMMENT_MODE,
     57       hljs.QUOTE_STRING_MODE,
     58       hljs.NUMBER_MODE
     59     ]
     60   };
     61 }
     62 
     63 module.exports = cmake;