Skip to content

Commit

Permalink
- update CMake Files, now only the linker fails
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@5217 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
Jens Frenkel committed Mar 26, 2010
1 parent 6422011 commit 7dac186
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 79 deletions.
47 changes: 23 additions & 24 deletions Compiler/CMakeLists.txt
Expand Up @@ -9,7 +9,8 @@ SET(SRCMO Absyn.mo AbsynDep.mo Algorithm.mo Builtin.mo
Exp.mo SCode.mo SCodeUtil.mo Graphviz.mo HashTable.mo
HashTable2.mo HashTable3.mo HashTable4.mo HashTable5.mo
HashTable6.mo HashTableCG.mo HashTableStringToPath.mo
Inline.mo Inst.mo InstExtends.mo Interactive.mo
# Inline.mo Inst.mo InstExtends.mo Interactive.mo
Inline.mo Inst.mo Interactive.mo
Lookup.mo Main.mo MMath.mo MetaUtil.mo Mod.mo ModUtil.mo
PartFn.mo Patternm.mo Prefix.mo PrefixUtil.mo Static.mo
SimCode.mo SimCodeC.mo SimCodeCSharp.mo SimCodegen.mo
Expand All @@ -32,26 +33,7 @@ IF(NOT RML)
MESSAGE(STATUS "-- rml is " ${RML})
ENDIF(NOT RML)

# BASH
IF(NOT BASH)
FIND_PROGRAM(BASH bash DOC "Location of the BASH executable"
PATHS ENV OMDEV
PATH_SUFFIXES bin tools/msys/bin)
MESSAGE(STATUS "-- bash is " ${BASH})
ENDIF(NOT BASH)

# RMLC
IF(NOT RMLC)
FIND_PROGRAM(RMLC rmlc DOC "Location of the RMLC executable"
PATHS ENV OMDEV
PATH_SUFFIXES bin tools/rml/bin)
MESSAGE(STATUS "-- rmlc is " ${RMLC})
ENDIF(NOT RMLC)

SET(RMLCFLAGS -Wr,-ftrace)

#copy all to CODEGENDIR

FOREACH(DEP ${ALLMO})

# Datei- und Pfadname
Expand Down Expand Up @@ -118,6 +100,9 @@ FOREACH(DEP ${ALLMO})

# target fuer OM_OUTPUT
ADD_CUSTOM_TARGET(${SIG_DEP} ALL DEPENDS ${SIGX_OUTPUT})

# remember
SET(SIGX_ALL ${SIGX_ALL} ${SIG_DEP})
ENDFOREACH(DEP)

# generate *.h and *.c from *.mo files
Expand All @@ -129,20 +114,34 @@ FOREACH(DEP ${SRCMO})

# Merken
SET(MOCH_DEP ${DFWE}.h ${DFWE}.c)
SET(MOCH_FILES ${MOCH_FILES} ${CODEGENDIR}/${DFWE}.h ${CODEGENDIR}/${DFWE}.c)

SET(MOCH_OUTPUT ${MOCH_DEP})
# custom command for rml to sig
ADD_CUSTOM_COMMAND(OUTPUT ${MOCH_OUTPUT}
COMMAND ${BASH} ${RMLC} -v ${RMLCFLAGS} +C ${DEP}
DEPENDS DEPEND ${COPY_ALL}
COMMAND ${RML} -Eplain -ftrace ${RMLCFLAGS} ${DEP}
DEPENDS DEPEND ${COPY_ALL} ${SIGX_ALL}
WORKING_DIRECTORY ${CODEGENDIR}
COMMENT "Generate *.h and *.c from ${DEP}")

# target fuer OM_OUTPUT
ADD_CUSTOM_TARGET(${DFWE}_codegen ALL DEPENDS ${MOCH_OUTPUT})

# remember
SET(MOCH_ALL ${MOCH_ALL} ${DFWE}_codegen)
ENDFOREACH(DEP)


ADD_SUBDIRECTORY(runtime)
ADD_SUBDIRECTORY(absyn_builder)
ADD_SUBDIRECTORY(modpar)
ADD_SUBDIRECTORY(modpar)

INCLUDE_DIRECTORIES($ENV{OMDEV}/tools/rml/include/plain)
INCLUDE_DIRECTORIES(${CODEGENDIR})


# omc program
link_directories($ENV{OMDEV}/lib/antlr-win32-msvc $ENV{OMDEV}/lib/mico-win32-msvc ${OMCTRUNCHOME}/Compiler/runtime/lpsolve/lib/win32)
ADD_EXECUTABLE(omc ${MOCH_FILES})
TARGET_LINK_LIBRARIES(omc absyn_builder libflat_modelica_parser libmodpar mico2313 wsock32 sendData shlwapi runtime c_runtime)
#psolve55
add_dependencies(omc ${MOCH_ALL})
49 changes: 20 additions & 29 deletions Compiler/absyn_builder/CMakeLists.txt
@@ -1,13 +1,3 @@


# ar
IF(NOT AR)
FIND_PROGRAM(AR ar DOC "Location of the ar executable"
PATHS ENV OMDEV
PATH_SUFFIXES bin tools/mingw/bin)
MESSAGE(STATUS "-- ar is " ${AR})
ENDIF(NOT AR)

# java
IF(NOT JAVA)
FIND_PROGRAM(JAVA java DOC "Location of the java executable"
Expand All @@ -25,24 +15,24 @@ SET(ANTLRFLAGS ) #-traceParser")
INCLUDE_DIRECTORIES($ENV{OMDEV}/include)
INCLUDE_DIRECTORIES($ENV{OMDEV}/tools/rml/include/plain)
INCLUDE_DIRECTORIES(${OMCTRUNCHOME}/modelica_parser/src)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
INCLUDE_DIRECTORIES(${CODEGENDIR}/absyn_builder)

GET_PROPERTY(modelica_parser GLOBAL PROPERTY MODELICA_parser_BUILD)
INCLUDE_DIRECTORIES(${modelica_parser})
GET_PROPERTY(modelica_flat_parser GLOBAL PROPERTY MODELICA_flat_parser_BUILD)
INCLUDE_DIRECTORIES(${modelica_flat_parser})


SET(MPTT_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/modelica_parserTokenTypes.txt)
SET(MPTT_OUTPUT ${CODEGENDIR}/absyn_builder/modelica_parserTokenTypes.txt)
# custom command for ar
ADD_CUSTOM_COMMAND(OUTPUT ${MPTT_OUTPUT}
COMMAND ${CMAKE_COMMAND} -E copy ${modelica_parser}/modelica_parserTokenTypes.txt ${CMAKE_CURRENT_BINARY_DIR}/modelica_parserTokenTypes.txt
COMMAND ${CMAKE_COMMAND} -E copy ${modelica_parser}/modelica_parserTokenTypes.txt ${CODEGENDIR}/absyn_builder/modelica_parserTokenTypes.txt
DEPENDS modelica_parser.g_antlr
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "copy ${modelica_parser}/modelica_parserTokenTypes.txt to ${CMAKE_CURRENT_BINARY_DIR}/modelica_parserTokenTypes.txt")
COMMENT "copy ${modelica_parser}/modelica_parserTokenTypes.txt to ${CODEGENDIR}/absyn_builder/modelica_parserTokenTypes.txt")

# target fuer OM_OUTPUT
ADD_CUSTOM_TARGET(MPTT_cp ALL DEPENDS ${modelica_parser})
ADD_CUSTOM_TARGET(MPTT_cp ALL DEPENDS modelica_parser.g_antlr)

# generate antlr files
SET(DEP walker.g)
Expand All @@ -64,13 +54,13 @@ SET(DEP walker.g)
# Merken
SET(ANTLR_DEP ${${DEP}_FILE})

SET(ANTLR_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/modelica_tree_parser.cpp ${CMAKE_CURRENT_BINARY_DIR}/modelica_tree_parser.hpp
${CMAKE_CURRENT_BINARY_DIR}/modelica_tree_parserTokenTypes.hpp ${CMAKE_CURRENT_BINARY_DIR}/modelica_tree_parserTokenTypes.txt)
SET(ANTLR_OUTPUT ${CODEGENDIR}/absyn_builder/modelica_tree_parser.cpp ${CODEGENDIR}/absyn_builder/modelica_tree_parser.hpp
${CODEGENDIR}/absyn_builder/modelica_tree_parserTokenTypes.hpp ${CODEGENDIR}/absyn_builder/modelica_tree_parserTokenTypes.txt)
# custom command for ar
ADD_CUSTOM_COMMAND(OUTPUT ${ANTLR_OUTPUT}
COMMAND ${ANTLR} ${ANTLRFLAGS} ${ANTLR_DEP}
DEPENDS ${MPTT_OUTPUT} ${ANTLR_DEP} modelica_parser.g_antlr
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${MPTT_OUTPUT} ${ANTLR_DEP} MPTT_cp
WORKING_DIRECTORY ${CODEGENDIR}/absyn_builder
COMMENT "Generate antlr from ${DEP}")

# target fuer OM_OUTPUT
Expand All @@ -94,14 +84,14 @@ SET(WDEP expression_parser.g)
# Merken
SET(ANTLR_WDEP ${${WDEP}_FILE})

SET(ANTLR_WOUTPUT ${CMAKE_CURRENT_BINARY_DIR}/modelica_expression_parser.cpp ${CMAKE_CURRENT_BINARY_DIR}/modelica_expression_parser.hpp
${CMAKE_CURRENT_BINARY_DIR}/modelica_expression_parserTokenTypes.hpp ${CMAKE_CURRENT_BINARY_DIR}/modelica_expression_parserTokenTypes.txt)
SET(ANTLR_WOUTPUT ${CODEGENDIR}/absyn_builder/modelica_expression_parser.cpp ${CODEGENDIR}/absyn_builder/modelica_expression_parser.hpp
${CODEGENDIR}/absyn_builder/modelica_expression_parserTokenTypes.hpp ${CODEGENDIR}/absyn_builder/modelica_expression_parserTokenTypes.txt)

SET(EP_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${WDEP})
SET(EP_OUTPUT ${CODEGENDIR}/absyn_builder/${WDEP})
# custom command for ar
ADD_CUSTOM_COMMAND(OUTPUT ${EP_OUTPUT}
COMMAND ${CMAKE_COMMAND} -E copy ${ANTLR_WDEP} ${EP_OUTPUT}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
WORKING_DIRECTORY ${CODEGENDIR}/absyn_builder
COMMENT "copy ${ANTLR_WDEP} to ${EP_OUTPUT}")

# target fuer OM_OUTPUT
Expand All @@ -110,8 +100,8 @@ SET(WDEP expression_parser.g)
# custom command for ar
ADD_CUSTOM_COMMAND(OUTPUT ${ANTLR_WOUTPUT}
COMMAND ${ANTLR} -glib ${OMCTRUNCHOME}/modelica_parser/src/modelica_parser.g ${ANTLRFLAGS} ${WDEP}
DEPENDS ${WDEP}_cp ${MPTT_OUTPUT} ${ANTLR_WDEP} modelica_parser.g_antlr
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${WDEP}_cp ${MPTT_OUTPUT} ${ANTLR_WDEP} modelica_parser.g_antlr ${MOCH_ALL}
WORKING_DIRECTORY ${CODEGENDIR}/absyn_builder
COMMENT "Generate antlr from ${ANTLR_WDEP}")

# target fuer OM_OUTPUT
Expand All @@ -124,10 +114,11 @@ SET(helperobjs parse.cpp)

SET(OBJS ${helperobjs} ${ANTLR_OUTPUT} ${ANTLR_WOUTPUT} ${ANTLR_FILES})

ADD_LIBRARY(absyn_builder ${OBJS})
IF(WIN32)
SET(ANTLR_LIB $ENV{OMDEV}/lib/antlr-win32-msvc/antlr)
SET(ANTLR_LIB antlr)
ELSE(WIN32)
SET(ANTLR_LIB $ENV{OMDEV}/lib/antlr-msys-mingw/libantlr)
SET(ANTLR_LIB libantlr)
ENDIF(WIN32)
TARGET_LINK_LIBRARIES(absyn_builder ${ANTLR_LIB} libmodelica_parser libflat_modelica_parser)
link_directories($ENV{OMDEV}/lib/antlr-win32-msvc)
ADD_LIBRARY(absyn_builder ${OBJS})
TARGET_LINK_LIBRARIES(absyn_builder antlr libmodelica_parser libflat_modelica_parser)
6 changes: 5 additions & 1 deletion Compiler/runtime/CMakeLists.txt
Expand Up @@ -7,6 +7,10 @@ IF(NOT IDL)
MESSAGE(STATUS "-- idl is " ${IDL})
ENDIF(NOT IDL)

INCLUDE_DIRECTORIES($ENV{OMDEV}/tools/rml/include/plain)
INCLUDE_DIRECTORIES(${CODEGENDIR}/absyn_builder)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})

# custom command for idl
SET(IDL_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/omc_communication.cc ${CMAKE_CURRENT_BINARY_DIR}/omc_communication.h)
ADD_CUSTOM_COMMAND(OUTPUT ${IDL_OUTPUT}
Expand All @@ -25,5 +29,5 @@ SET(CPPSRC unitparser.cpp unitparserext.cpp ptolemyio.cpp daeext.cpp ErrorMessa
SET(OBJ ${SRC} ${CPPSRC})

# Bibliothek
#ADD_LIBRARY(c_runtime ${c_runtime_sources} ${c_runtime_headers})
ADD_LIBRARY(runtime ${CORBASRC} ${c_runtime_headers})
#TARGET_LINK_LIBRARIES(c_runtime f2c)
18 changes: 5 additions & 13 deletions flat_modelica_parser/src/CMakeLists.txt
@@ -1,12 +1,3 @@

# ar
IF(NOT AR)
FIND_PROGRAM(AR ar DOC "Location of the ar executable"
PATHS ENV OMDEV
PATH_SUFFIXES bin tools/mingw/bin)
MESSAGE(STATUS "-- ar is " ${AR})
ENDIF(NOT AR)

# java
IF(NOT JAVA)
FIND_PROGRAM(JAVA java DOC "Location of the java executable"
Expand Down Expand Up @@ -100,12 +91,13 @@ SET(helperobjs ${OMCTRUNCHOME}/modelica_parser/src/token_names.cpp

SET(OBJS ${helperobjs} ${ANTLR_OUTPUT} ${ANTLR_POUTPUT} ${ANTLR_FILES})

ADD_LIBRARY(libflat_modelica_parser ${OBJS})
IF(WIN32)
SET(ANTLR_LIB $ENV{OMDEV}/lib/antlr-win32-msvc/antlr)
SET(ANTLR_LIB antlr)
ELSE(WIN32)
SET(ANTLR_LIB $ENV{OMDEV}/lib/antlr-msys-mingw/libantlr)
SET(ANTLR_LIB libantlr)
ENDIF(WIN32)
TARGET_LINK_LIBRARIES(libflat_modelica_parser ${ANTLR_LIB})
link_directories($ENV{OMDEV}/lib/antlr-win32-msvc)
ADD_LIBRARY(libflat_modelica_parser ${OBJS})
TARGET_LINK_LIBRARIES(libflat_modelica_parser antlr)


17 changes: 5 additions & 12 deletions modelica_parser/src/CMakeLists.txt
@@ -1,12 +1,4 @@

# ar
IF(NOT AR)
FIND_PROGRAM(AR ar DOC "Location of the ar executable"
PATHS ENV OMDEV
PATH_SUFFIXES bin tools/mingw/bin)
MESSAGE(STATUS "-- ar is " ${AR})
ENDIF(NOT AR)

# java
IF(NOT JAVA)
FIND_PROGRAM(JAVA java DOC "Location of the java executable"
Expand Down Expand Up @@ -96,12 +88,13 @@ SET(helperobjs token_names.cpp parse_tree_dumper.cpp token_names.hpp parse_tree_

SET(OBJS ${helperobjs} ${ANTLR_OUTPUT} ${ANTLR_FILES} ${ANTLR_POUTPUT})

ADD_LIBRARY(libmodelica_parser ${OBJS})
IF(WIN32)
SET(ANTLR_LIB $ENV{OMDEV}/lib/antlr-win32-msvc/antlr)
SET(ANTLR_LIB antlr)
ELSE(WIN32)
SET(ANTLR_LIB $ENV{OMDEV}/lib/antlr-msys-mingw/libantlr)
SET(ANTLR_LIB libantlr)
ENDIF(WIN32)
TARGET_LINK_LIBRARIES(libmodelica_parser ${ANTLR_LIB})
link_directories($ENV{OMDEV}/lib/antlr-win32-msvc)
ADD_LIBRARY(libmodelica_parser ${OBJS})
TARGET_LINK_LIBRARIES(libmodelica_parser antlr)


0 comments on commit 7dac186

Please sign in to comment.