Files
fail/ovp/armmModel/CMakeLists.txt
hsc b70b6fb43a another directory rename: failstar -> fail
"failstar" sounds like a name for a cruise liner from the 80s.  As "*" isn't a
desirable part of directory names, just name the whole thing "fail/", the core
parts being stored in "fail/core/".

Additionally fixing two build system dependency issues:
 - missing jobserver -> protomessages dependency
 - broken bochs -> fail dependency (add_custom_target DEPENDS only allows plain
   file dependencies ... cmake for the win)


git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@956 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-03-08 19:43:02 +00:00

99 lines
2.1 KiB
CMake

Project(OVPCM3_Model)
cmake_minimum_required(VERSION 2.8)
message(STATUS "Imperas Home: $ENV{IMPERAS_HOME}")
message(STATUS "Imperas License: $ENV{IMPERASD_LICENSE_FILE}")
message(STATUS "Arch: $ENV{IMPERAS_ARCH}")
set(IMPERAS_BIN $ENV{IMPERAS_HOME}/bin/$ENV{IMPERAS_ARCH})
set(IMPERAS_VMISTUBS ${IMPERAS_BIN}/vmiStubs.a)
set(IMPERAS_VMIINC
-I$ENV{IMPERAS_HOME}/ImpPublic/include/host
)
## This is needed when building a shared library
set(HOST_LDFLAGS "-Wl,--version-script=$ENV{IMPERAS_HOME}/ImperasLib/source/buildutils/version.script")
## This is needed by a platform executable
set(SIM_LDFLAGS $ENV{IMPERAS_HOME}/bin/$ENV{IMPERAS_ARCH}/libRuntimeLoader.so)
message(STATUS "Fail* base dir included: ${FAIL_BASE}")
include_directories(${FAIL_BASE})
include_directories($ENV{IMPERAS_HOME}/ImpPublic/include/host)
set(CMAKE_C_COMPILER "gcc")
set(CMAKE_CXX_COMPILER "g++")
#### Put resulting (model) library file in <your_build_dir>/lib ####
set(SRCS
failSALlink.cc
armAttributeEntriesThumb16.h
armAttributeEntriesThumb32.h
armBitMacros.h
armBus.c
armConfig.h
armDebug.h
armDecodeEntriesThumb16.h
armDecodeEntriesThumb32.h
armDecode.h
armDecodeThumb.h
armDecodeTypes.h
armDisassembleFormats.h
armDisassemble.h
armEmit.h
armExceptions.h
armExceptionTypes.h
armFPConstants.h
armFunctions.h
armInfo.c
armmAttrs.c
armmConfigList.c
armmDebug.c
armmDecode.c
armmDecodeThumb.c
armmDisassemble.c
armmDoc.c
armmDoc.h
armmEmit.c
armMessage.h
armmExceptions.c
armmMain.c
armmMorphFunctions.c
armmMorphTable.c
armMode.h
armMorphEntries.h
armMorphFunctions.h
armMorph.h
armmParameters.c
armmParameters.h
armmSemiHost.c
armmSys.c
armmUtils.c
armmVFP.c
armmVM.c
armRegisters.h
armStructure.h
armSys.h
armSysRegisters.h
armTypeRefs.h
armUtils.h
armVariant.h
armVFP.h
armVM.h
)
add_definitions("-m32")
message(STATUS "armmModel ld flags: ${HOST_LDFLAGS}")
add_library(armmModel SHARED ${SRCS})
#add_dependencies(armmModel SAL)
set_target_properties(armmModel PROPERTIES LINK_FLAGS "${HOST_LDFLAGS} -m32")
#target_link_libraries(armmModel ${IMPERAS_VMISTUBS} ${LIBRARY_OUTPUT_PATH}/libSAL.a)
target_link_libraries(armmModel ${IMPERAS_VMISTUBS})