Changeset a44b408 in OpenModelica


Ignore:
Timestamp:
2020-10-21T14:04:15+02:00 (4 years ago)
Author:
Mahder Gebremedhin <mahder.gebremedhin@…>
Children:
b9156e9
Parents:
c6856ffe
git-author:
Mahder Gebremedhin <mahder.gebremedhin@…> (07/12/20 20:34:30)
git-committer:
Mahder Gebremedhin <mahder.gebremedhin@…> (10/21/20 14:04:15)
Message:

[cmake] Move the antlr target macros new file.

  • They clutter things in the main cmake file.
Location:
OMCompiler/Parser
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • OMCompiler/Parser/CMakeLists.txt

    rc6856ffe ra44b408  
    88
    99
    10 function(ADD_ANTLR_GRAMMAR_TARGET input_file output_dir)
    11 
    12   get_filename_component(file_name_no_ext ${input_file} NAME_WE)
    13   set(output_file_path_no_ext ${output_dir}/${file_name_no_ext}Parser)
    14 
    15   add_custom_command(
    16     DEPENDS ${input_file}
    17     SOURCE ${input_file}
    18     COMMAND ${Java_JAVA_EXECUTABLE}
    19     ARGS -cp ${OMAntlr3_ANTLRJAR}
    20           org.antlr.Tool -Xconversiontimeout 10000 -report
    21           -o ${output_dir}
    22           ${input_file}
    23     COMMENT "Generating ${output_file_path_no_ext}.c/h for ANTLR file ${input_file}."
    24     OUTPUT ${output_file_path_no_ext}.c
    25     OUTPUT ${output_file_path_no_ext}.h
    26   )
    27   set_source_files_properties(${output_file_path_no_ext}.c GENERATED)
    28   set_source_files_properties(${output_file_path_no_ext}.h GENERATED)
    29   message(STATUS "added antrl target ${output_file_path_no_ext}")
    30 endfunction(ADD_ANTLR_GRAMMAR_TARGET)
    31 
    32 
    33 macro(ADD_ANTLR_BASE_LEXER_TARGET input_file output_dir src_list)
    34 
    35   get_filename_component(file_name_no_ext ${input_file} NAME_WE)
    36   set(output_file_path_no_ext ${output_dir}/${file_name_no_ext})
    37   set(output_file_base_path_no_ext ${output_dir}/${file_name_no_ext}_BaseModelica_Lexer)
    38 
    39   add_custom_command(
    40     DEPENDS ${input_file} ${CMAKE_CURRENT_SOURCE_DIR}/BaseModelica_Lexer.g
    41     SOURCE ${input_file}
    42     COMMAND ${Java_JAVA_EXECUTABLE}
    43     ARGS -cp ${OMAntlr3_ANTLRJAR}
    44           org.antlr.Tool -Xconversiontimeout 10000
    45           -o ${output_dir}
    46           ${input_file}
    47     COMMENT "Generating ${output_file_path_no_ext}.c/h and ${output_file_base_path_no_ext}.c/h for ANTLR file ${input_file}."
    48     OUTPUT ${output_file_path_no_ext}.c
    49     OUTPUT ${output_file_path_no_ext}.h
    50     OUTPUT ${output_file_base_path_no_ext}.c
    51     OUTPUT ${output_file_base_path_no_ext}.h
    52   )
    53   set_source_files_properties(${output_file_path_no_ext}.c GENERATED)
    54   set_source_files_properties(${output_file_path_no_ext}.h GENERATED)
    55   set_source_files_properties(${output_file_base_path_no_ext}.c GENERATED)
    56   set_source_files_properties(${output_file_base_path_no_ext}.h GENERATED)
    57 
    58   set(LAST_ANTLR_BASE_LEXER_TARGET_OUTPUTS ${output_file_path_no_ext}.c ${output_file_base_path_no_ext}.c)
    59   # message(STATUS ${LAST_ANTLR_BASE_LEXER_TARGET_OUTPUTS})
    60 
    61   message(STATUS "added antrl target ${output_file_path_no_ext}")
    62 endmacro(ADD_ANTLR_BASE_LEXER_TARGET)
    63 
    64 
    6510set(OM_PARSE_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/Parser_omc.c)
    6611
     
    6914file(MAKE_DIRECTORY ${GNERATED_DIRECTORY})
    7015
    71 ADD_ANTLR_BASE_LEXER_TARGET(${CMAKE_CURRENT_SOURCE_DIR}/Modelica_3_Lexer.g ${GNERATED_DIRECTORY} OM_PARSE_SOURCES)
    72 set(OM_PARSE_SOURCES ${OM_PARSE_SOURCES} ${LAST_ANTLR_BASE_LEXER_TARGET_OUTPUTS})
     16include(omc_antlr_target_macros.cmake)
    7317
    74 ADD_ANTLR_BASE_LEXER_TARGET(${CMAKE_CURRENT_SOURCE_DIR}/ParModelica_Lexer.g ${GNERATED_DIRECTORY} ${OM_PARSE_SOURCES})
    75 set(OM_PARSE_SOURCES ${OM_PARSE_SOURCES} ${LAST_ANTLR_BASE_LEXER_TARGET_OUTPUTS})
     18ADD_ANTLR_BASE_LEXER_TARGET(${CMAKE_CURRENT_SOURCE_DIR}/Modelica_3_Lexer.g ${GNERATED_DIRECTORY})
     19set(OM_PARSE_SOURCES ${OM_PARSE_SOURCES} ${ANTLR_BASE_LEXER_Modelica_3_Lexer_OUTPUT_SOURCES})
    7620
    77 ADD_ANTLR_BASE_LEXER_TARGET(${CMAKE_CURRENT_SOURCE_DIR}/MetaModelica_Lexer.g ${GNERATED_DIRECTORY} ${OM_PARSE_SOURCES})
    78 set(OM_PARSE_SOURCES ${OM_PARSE_SOURCES} ${LAST_ANTLR_BASE_LEXER_TARGET_OUTPUTS})
     21ADD_ANTLR_BASE_LEXER_TARGET(${CMAKE_CURRENT_SOURCE_DIR}/ParModelica_Lexer.g ${GNERATED_DIRECTORY})
     22set(OM_PARSE_SOURCES ${OM_PARSE_SOURCES} ${ANTLR_BASE_LEXER_ParModelica_Lexer_OUTPUT_SOURCES})
     23
     24ADD_ANTLR_BASE_LEXER_TARGET(${CMAKE_CURRENT_SOURCE_DIR}/MetaModelica_Lexer.g ${GNERATED_DIRECTORY})
     25set(OM_PARSE_SOURCES ${OM_PARSE_SOURCES} ${ANTLR_BASE_LEXER_MetaModelica_Lexer_OUTPUT_SOURCES})
    7926
    8027ADD_ANTLR_GRAMMAR_TARGET(${CMAKE_CURRENT_SOURCE_DIR}/Modelica.g ${GNERATED_DIRECTORY})
    8128set(OM_PARSE_SOURCES ${OM_PARSE_SOURCES} ${GNERATED_DIRECTORY}/ModelicaParser.c)
    8229
    83 message(STATUS ${OM_PARSE_SOURCES})
     30# message(STATUS ${OM_PARSE_SOURCES})
    8431
    8532
    8633######################### add libomparser ###########################
    87 add_library(omparse STATIC ${OM_PARSE_SOURCES})
     34add_library(omparse SHARED ${OM_PARSE_SOURCES})
    8835target_link_libraries(omparse PUBLIC omantlr3)
    8936target_link_libraries(omparse PUBLIC OpenModelicaRuntimeC)
Note: See TracChangeset for help on using the changeset viewer.