[Avida-SVN] r2010 - branches/uml
dknoester at myxo.css.msu.edu
dknoester at myxo.css.msu.edu
Sat Aug 25 10:39:54 PDT 2007
Author: dknoester
Date: 2007-08-25 13:39:54 -0400 (Sat, 25 Aug 2007)
New Revision: 2010
Added:
branches/uml/Alice_CMakeLists.txt
branches/uml/HPC_CMakeLists.txt
branches/uml/hpc_build_avida
Removed:
branches/uml/CMakeLists.txt
Modified:
branches/uml/build_avida
Log:
Added new CMakeList for HPC (to find boost)
Added: branches/uml/Alice_CMakeLists.txt
===================================================================
--- branches/uml/Alice_CMakeLists.txt (rev 0)
+++ branches/uml/Alice_CMakeLists.txt 2007-08-25 17:39:54 UTC (rev 2010)
@@ -0,0 +1,645 @@
+PROJECT(AVIDA)
+
+# The following three variables must be after the PROJECT statement, otherwise
+# newer versions of cmake will (correctly) use an empty value of
+# PROJECT_BINARY_DIR, since the project didn't exist yet.
+
+# Default location for installed software/configs/ docs is the build directory.
+SET(CMAKE_INSTALL_PREFIX
+ "${PROJECT_BINARY_DIR}"
+ CACHE PATH
+ "Install path prefix, prepended onto install directories."
+ FORCE
+)
+
+# Final software is built directly into the work subdirectory.
+SET(EXECUTABLE_OUTPUT_PATH
+ "${PROJECT_BINARY_DIR}/bin"
+ CACHE PATH
+ "Single output directory for building all executables."
+)
+
+SET(LIBRARY_OUTPUT_PATH
+ "${PROJECT_BINARY_DIR}/lib"
+ CACHE PATH
+ "Built libraries are placed here before installation."
+)
+
+
+
+# This section defines default builtin compiler options
+# ------------------------------------------------------------------------------
+IF(UNIX)
+ IF (CMAKE_CXX_COMPILER MATCHES ".*pathCC.*")
+ SET(COMPILER_WARNING_FLAGS "")
+ SET(COMPILER_OPTIMIZATION_FLAGS "-ffast-math -funroll-loops -fstrict-aliasing -OPT:Olimit=0")
+ ELSE (CMAKE_CXX_COMPILER MATCHES ".*pathCC.*")
+ SET(COMPILER_WARNING_FLAGS "-Wextra -Wno-unknown-pragmas -Wconversion -Wno-trigraphs")
+ SET(COMPILER_OPTIMIZATION_FLAGS "-ffast-math -funroll-loops -fstrict-aliasing -ftree-vectorize -fvisibility-inlines-hidden")
+ ENDIF (CMAKE_CXX_COMPILER MATCHES ".*pathCC.*")
+
+ INCLUDE(CheckCSourceCompiles)
+ SET(CMAKE_REQUIRED_FLAGS "-mno-fused-madd")
+ CHECK_C_SOURCE_COMPILES("int main() { return 0; }" HAVE_FUSED_MADD)
+ SET(CMAKE_REQUIRED_FLAGS "")
+
+ IF(HAVE_FUSED_MADD)
+ SET(COMPILER_OPTIMIZATION_FLAGS "-mno-fused-madd ${COMPILER_OPTIMIZATION_FLAGS}")
+ ENDIF(HAVE_FUSED_MADD)
+
+ # Four types of c++ compilations:
+ # - debug (Debug)
+ # - minimum-size release (MinSizeRel)
+ # - release (Release)
+ # - release with debug info (RelWithDebInfo)
+ SET(CMAKE_CXX_FLAGS_DEBUG
+ "-g ${COMPILER_WARNING_FLAGS} -DDEBUG"
+ CACHE STRING "Flags used by the compiler during debug builds." FORCE)
+ SET(CMAKE_CXX_FLAGS_MINSIZEREL
+ "-Os ${COMPILER_WARNING_FLAGS} -DNDEBUG"
+ CACHE STRING "Flags used by the compiler during release minsize builds." FORCE)
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO
+ "-O2 -g ${COMPILER_OPTIMIZATION_FLAGS} ${COMPILER_WARNING_FLAGS} -DDEBUG"
+ CACHE STRING "Flags used by the compiler during release builds." FORCE)
+ SET(CMAKE_CXX_FLAGS_RELEASE
+ "-O3 ${COMPILER_OPTIMIZATION_FLAGS} ${COMPILER_WARNING_FLAGS} -DNDEBUG"
+ CACHE STRING "Flags used by the compiler during release builds." FORCE)
+ENDIF(UNIX)
+
+
+# Default build mode compiles c++ and c code with debug info and no
+# optimizations.
+IF(NOT CMAKE_BUILD_TYPE)
+ SET(CMAKE_BUILD_TYPE
+ Release
+ CACHE STRING
+ "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel."
+ FORCE
+ )
+ENDIF(NOT CMAKE_BUILD_TYPE)
+
+
+
+# Build Instructions for the Avida Core functionality
+# - Below are groups of sources, based on directory. Each appends the source
+# - files to the master AVIDA_CORE_SOURCES list that is used to build a
+# - static library that is linked into relevant targets.
+# ------------------------------------------------------------------------------
+SET(AVIDA_CORE_SOURCES)
+SET(ALL_INC_DIRS
+ ${PROJECT_SOURCE_DIR}/source
+)
+
+
+# The actions directory
+SET(ACTIONS_DIR ${PROJECT_SOURCE_DIR}/source/actions)
+SET(ACTIONS_SOURCES
+ ${ACTIONS_DIR}/cActionLibrary.cc
+ ${ACTIONS_DIR}/DriverActions.cc
+ ${ACTIONS_DIR}/EnvironmentActions.cc
+ ${ACTIONS_DIR}/LandscapeActions.cc
+ ${ACTIONS_DIR}/PopulationActions.cc
+ ${ACTIONS_DIR}/PrintActions.cc
+ ${ACTIONS_DIR}/SaveLoadActions.cc
+)
+SOURCE_GROUP(actions FILES ${ACTIONS_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${ACTIONS_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${ACTIONS_DIR})
+
+
+# The analyze directory
+SET(ANALYZE_DIR ${PROJECT_SOURCE_DIR}/source/analyze)
+SET(ANALYZE_SOURCES
+ ${ANALYZE_DIR}/cAnalyze.cc
+ ${ANALYZE_DIR}/cAnalyzeGenotype.cc
+ ${ANALYZE_DIR}/cAnalyzeJobQueue.cc
+ ${ANALYZE_DIR}/cAnalyzeJobWorker.cc
+ ${ANALYZE_DIR}/cMutationalNeighborhood.cc
+)
+SOURCE_GROUP(analyze FILES ${ANALYZE_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${ANALYZE_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${ANALYZE_DIR})
+
+
+# The classification directory
+SET(CLASSIFICATION_DIR ${PROJECT_SOURCE_DIR}/source/classification)
+SET(CLASSIFICATION_SOURCES
+ ${CLASSIFICATION_DIR}/cClassificationManager.cc
+ ${CLASSIFICATION_DIR}/cGenotype.cc
+ ${CLASSIFICATION_DIR}/cGenotype_BirthData.cc
+ ${CLASSIFICATION_DIR}/cGenotypeControl.cc
+ ${CLASSIFICATION_DIR}/cInjectGenotype.cc
+ ${CLASSIFICATION_DIR}/cInjectGenotypeControl.cc
+ ${CLASSIFICATION_DIR}/cInjectGenotypeQueue.cc
+ ${CLASSIFICATION_DIR}/cLineage.cc
+ ${CLASSIFICATION_DIR}/cSpecies.cc
+ ${CLASSIFICATION_DIR}/cSpeciesControl.cc
+ ${CLASSIFICATION_DIR}/cSpeciesQueue.cc
+)
+SOURCE_GROUP(classification FILES ${CLASSIFICATION_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${CLASSIFICATION_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${CLASSIFICATION_DIR})
+
+
+# The core viewer directory
+SET(COREVIEW_DIR ${PROJECT_SOURCE_DIR}/source/viewer-core)
+SET(COREVIEW_SOURCES
+ ${COREVIEW_DIR}/cCoreView_Info.cc
+)
+SOURCE_GROUP(coreview FILES ${COREVIEW_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${COREVIEW_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${COREVIEW_DIR})
+
+
+# The core GUI directory
+SET(COREGUI_DIR ${PROJECT_SOURCE_DIR}/source/viewer-coreGUI)
+SET(COREGUI_SOURCES
+ ${COREGUI_DIR}/cGUIDriver.cc
+)
+SOURCE_GROUP(coregui FILES ${COREGUI_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${COREGUI_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${COREGUI_DIR})
+
+
+# The cpu directory
+SET(CPU_DIR ${PROJECT_SOURCE_DIR}/source/cpu)
+SET(CPU_SOURCES
+ ${CPU_DIR}/cCodeLabel.cc
+ ${CPU_DIR}/cCPUMemory.cc
+ ${CPU_DIR}/cCPUStack.cc
+ ${CPU_DIR}/cCPUTestInfo.cc
+ ${CPU_DIR}/cHardwareBase.cc
+ ${CPU_DIR}/cHardwareCPU.cc
+ ${CPU_DIR}/cHardwareExperimental.cc
+ ${CPU_DIR}/cHardwareGX.cc
+ ${CPU_DIR}/cHardwareManager.cc
+ ${CPU_DIR}/cHardwareSMT.cc
+ ${CPU_DIR}/cHardwareStatusPrinter.cc
+ ${CPU_DIR}/cHardwareTransSMT.cc
+ ${CPU_DIR}/cHeadCPU.cc
+ ${CPU_DIR}/cInstSet.cc
+ ${CPU_DIR}/cTestCPU.cc
+ ${CPU_DIR}/cTestCPUInterface.cc
+)
+SOURCE_GROUP(cpu FILES ${CPU_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${CPU_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${CPU_DIR})
+
+
+# The drivers directory
+SET(DRIVERS_DIR ${PROJECT_SOURCE_DIR}/source/drivers)
+SET(DRIVERS_SOURCES
+ ${DRIVERS_DIR}/cDefaultAnalyzeDriver.cc
+ ${DRIVERS_DIR}/cDefaultRunDriver.cc
+ ${DRIVERS_DIR}/cDriverManager.cc
+ ${DRIVERS_DIR}/cFallbackWorldDriver.cc
+)
+SOURCE_GROUP(drivers FILES ${DRIVERS_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${DRIVERS_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${DRIVERS_DIR})
+
+
+# The main directory
+SET(MAIN_DIR ${PROJECT_SOURCE_DIR}/source/main)
+SET(MAIN_SOURCES
+ ${MAIN_DIR}/avida.cc
+ ${MAIN_DIR}/cAvidaConfig.cc
+ ${MAIN_DIR}/cBirthChamber.cc
+ ${MAIN_DIR}/cDeme.cc
+ ${MAIN_DIR}/cEnvironment.cc
+ ${MAIN_DIR}/cEventList.cc
+ ${MAIN_DIR}/cFitnessMatrix.cc
+ ${MAIN_DIR}/cGenome.cc
+ ${MAIN_DIR}/cGenomeUtil.cc
+ ${MAIN_DIR}/cInstruction.cc
+ ${MAIN_DIR}/cLandscape.cc
+ ${MAIN_DIR}/cLocalMutations.cc
+ ${MAIN_DIR}/cMutationLib.cc
+ ${MAIN_DIR}/cMutationRates.cc
+ ${MAIN_DIR}/cMxCodeArray.cc
+ ${MAIN_DIR}/cOrganism.cc
+ ${MAIN_DIR}/cPhenotype.cc
+ ${MAIN_DIR}/cPopulation.cc
+ ${MAIN_DIR}/cPopulationCell.cc
+ ${MAIN_DIR}/cPopulationInterface.cc
+ ${MAIN_DIR}/cReaction.cc
+ ${MAIN_DIR}/cReactionLib.cc
+ ${MAIN_DIR}/cReactionResult.cc
+ ${MAIN_DIR}/cResource.cc
+ ${MAIN_DIR}/cResourceCount.cc
+ ${MAIN_DIR}/cResourceLib.cc
+ ${MAIN_DIR}/cSpatialCountElem.cc
+ ${MAIN_DIR}/cSpatialResCount.cc
+ ${MAIN_DIR}/cUMLModel.cc
+ ${MAIN_DIR}/cUMLStateDiagram.cc
+ ${MAIN_DIR}/cStats.cc
+ ${MAIN_DIR}/cTaskLib.cc
+ ${MAIN_DIR}/cWorld.cc
+)
+SOURCE_GROUP(main FILES ${MAIN_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${MAIN_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${MAIN_DIR})
+
+
+# The platform directory
+SET(PLATFORM_DIR ${PROJECT_SOURCE_DIR}/source/platform)
+SET(PLATFORM_SOURCES
+ ${PLATFORM_DIR}/cThread.cc
+ ${PLATFORM_DIR}/PlatformExpert.cc
+)
+LIST(APPEND AVIDA_CORE_SOURCES ${PLATFORM_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${PLATFORM_DIR})
+
+
+# The tools directory
+SET(TOOLS_DIR ${PROJECT_SOURCE_DIR}/source/tools)
+SET(TOOLS_SOURCES
+ ${TOOLS_DIR}/cArgContainer.cc
+ ${TOOLS_DIR}/cArgSchema.cc
+ ${TOOLS_DIR}/cChangeList.cc
+ ${TOOLS_DIR}/cConstSchedule.cc
+ ${TOOLS_DIR}/cDataEntry.cc
+ ${TOOLS_DIR}/cDataFile.cc
+ ${TOOLS_DIR}/cDataFileManager.cc
+ ${TOOLS_DIR}/cDataManager_Base.cc
+ ${TOOLS_DIR}/cDefaultMessageDisplay.cc
+ ${TOOLS_DIR}/cDoubleSum.cc
+ ${TOOLS_DIR}/cFile.cc
+ ${TOOLS_DIR}/cHelpAlias.cc
+ ${TOOLS_DIR}/cHelpManager.cc
+ ${TOOLS_DIR}/cHelpType.cc
+ ${TOOLS_DIR}/cHistogram.cc
+ ${TOOLS_DIR}/cInitFile.cc
+ ${TOOLS_DIR}/cIntSum.cc
+ ${TOOLS_DIR}/cIntegratedSchedule.cc
+ ${TOOLS_DIR}/cIntegratedScheduleNode.cc
+ ${TOOLS_DIR}/cMerit.cc
+ ${TOOLS_DIR}/cProbSchedule.cc
+ ${TOOLS_DIR}/cRandom.cc
+ ${TOOLS_DIR}/cRunningAverage.cc
+ ${TOOLS_DIR}/cSchedule.cc
+ ${TOOLS_DIR}/cString.cc
+ ${TOOLS_DIR}/cStringIterator.cc
+ ${TOOLS_DIR}/cStringList.cc
+ ${TOOLS_DIR}/cStringUtil.cc
+ ${TOOLS_DIR}/cTools.cc
+ ${TOOLS_DIR}/cWeightedIndex.cc
+)
+SOURCE_GROUP(tools FILES ${TOOLS_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${TOOLS_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${TOOLS_DIR})
+
+
+# Create the static library from the master source list
+INCLUDE_DIRECTORIES(${ALL_INC_DIRS})
+ADD_LIBRARY(avidacore ${AVIDA_CORE_SOURCES})
+
+
+
+# Build Instructions for the TCMalloc library
+# ------------------------------------------------------------------------------
+IF(UNIX)
+ SET(AVD_ENABLE_TCMALLOC TRUE)
+ELSE(UNIX)
+ SET(AVD_ENABLE_TCMALLOC FALSE)
+ENDIF(UNIX)
+IF(AVD_ENABLE_TCMALLOC)
+ SET(TCMALLOC_DIR source/platform/tcmalloc)
+ SET(TCMALLOC_SOURCES
+ ${TCMALLOC_DIR}/system-alloc.cc
+ ${TCMALLOC_DIR}/tcmalloc-logging.cc
+ ${TCMALLOC_DIR}/tcmalloc.cc
+ )
+ ADD_LIBRARY(tcmalloc ${TCMALLOC_SOURCES})
+ENDIF(AVD_ENABLE_TCMALLOC)
+
+
+
+# Target Processing
+# - For each enabled target, process its build instructions. Must occur after
+# - avidacore has been defined.
+# ------------------------------------------------------------------------------
+OPTION(AVD_CMDLINE
+ "Enable building standard command line Avida (fastest version)."
+ ON
+)
+IF(AVD_CMDLINE)
+ SET(AVIDA_CMDLINE_DIR source/targets/avida)
+ SET(AVIDA_CMDLINE_SOURCES ${AVIDA_CMDLINE_DIR}/primitive.cc)
+ SOURCE_GROUP(target\\avida FILES ${AVIDA_CMDLINE_SOURCES})
+ ADD_EXECUTABLE(avida ${AVIDA_CMDLINE_SOURCES})
+
+ SET(AVIDA_CMDLINE_LIBS avidacore)
+ IF(NOT MSVC)
+ LIST(APPEND AVIDA_CMDLINE_LIBS pthread)
+ ENDIF(NOT MSVC)
+ IF(AVD_ENABLE_TCMALLOC)
+ LIST(APPEND AVIDA_CMDLINE_LIBS tcmalloc)
+ ENDIF(AVD_ENABLE_TCMALLOC)
+ TARGET_LINK_LIBRARIES(avida ${AVIDA_CMDLINE_LIBS})
+
+ INSTALL_TARGETS(/work avida)
+ENDIF(AVD_CMDLINE)
+
+
+# By default, do not build the console interface to Avida.
+OPTION(AVD_GUI_NCURSES
+ "Enable building Avida console interface."
+ OFF
+)
+# Make sure requisites are present for build of console interface. Give
+# user feedback if they're missing.
+IF(AVD_GUI_NCURSES)
+ # Locate the ncurses screen handling package (for Avida's console
+ # interface) and the Qt graphics API (for Avida's graphic interface).
+ INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/FindNcurses.cmake)
+ IF(NOT NCURSES_INCLUDE_PATH)
+ MESSAGE("Unable to locate header files for the ncurses CRT screen handling package. Please set the advanced variable NCURSES_INCLUDE_PATH to their location.")
+ ENDIF(NOT NCURSES_INCLUDE_PATH)
+ IF(NOT NCURSES_LIBRARY)
+ MESSAGE("Unable to locate 'libncurses'. Please set the advanced variable NCURSES_LIBRARY to its location.")
+ ENDIF(NOT NCURSES_LIBRARY)
+
+ IF(NCURSES_LIBRARY AND NCURSES_INCLUDE_PATH)
+
+ INCLUDE_DIRECTORIES(${NCURSES_INCLUDE_PATH})
+
+ SET(AVIDA_VIEWER_DIR source/targets/avida-viewer)
+ SET(AVIDA_VIEWER_SOURCES
+ ${AVIDA_VIEWER_DIR}/cAnalyzeScreen.cc
+ ${AVIDA_VIEWER_DIR}/cAnalyzeView.cc
+ ${AVIDA_VIEWER_DIR}/cBarScreen.cc
+ ${AVIDA_VIEWER_DIR}/cEnvironmentScreen.cc
+ ${AVIDA_VIEWER_DIR}/cHistScreen.cc
+ ${AVIDA_VIEWER_DIR}/cMapScreen.cc
+ ${AVIDA_VIEWER_DIR}/cMenuWindow.cc
+ ${AVIDA_VIEWER_DIR}/cOptionsScreen.cc
+ ${AVIDA_VIEWER_DIR}/cScreen.cc
+ ${AVIDA_VIEWER_DIR}/cStatsScreen.cc
+ ${AVIDA_VIEWER_DIR}/cSymbolUtil.cc
+ ${AVIDA_VIEWER_DIR}/cTextViewerAnalyzeDriver.cc
+ ${AVIDA_VIEWER_DIR}/cTextViewerDriver.cc
+ ${AVIDA_VIEWER_DIR}/cTextViewerDriver_Base.cc
+ ${AVIDA_VIEWER_DIR}/cTextWindow.cc
+ ${AVIDA_VIEWER_DIR}/cView.cc
+ ${AVIDA_VIEWER_DIR}/cViewInfo.cc
+ ${AVIDA_VIEWER_DIR}/cZoomScreen.cc
+ ${AVIDA_VIEWER_DIR}/viewer.cc
+ )
+ SOURCE_GROUP(targets\\avida-viewer FILES ${AVIDA_VIEWER_SOURCES})
+ ADD_EXECUTABLE(avida-viewer ${AVIDA_VIEWER_SOURCES})
+
+ SET(AVIDA_VIEWER_LIBS avidacore ${NCURSES_LIBRARY})
+ IF(NOT MSVC)
+ LIST(APPEND AVIDA_VIEWER_LIBS pthread)
+ ENDIF(NOT MSVC)
+ IF(AVD_ENABLE_TCMALLOC)
+ LIST(APPEND AVIDA_VIEWER_LIBS tcmalloc)
+ ENDIF(AVD_ENABLE_TCMALLOC)
+ TARGET_LINK_LIBRARIES(avida-viewer ${AVIDA_VIEWER_LIBS})
+
+ INSTALL_TARGETS(/work avida-viewer)
+
+ ENDIF(NCURSES_LIBRARY AND NCURSES_INCLUDE_PATH)
+ENDIF(AVD_GUI_NCURSES)
+
+
+
+# By default, do not build the console interface to Avida.
+OPTION(AVD_GUI_PROTO_TEXT
+ "Enable building new Avida text interface."
+ OFF
+)
+# Make sure requisites are present for build of console interface. Give
+# user feedback if they're missing.
+IF(AVD_GUI_PROTO_TEXT)
+ # Locate the ncurses screen handling package (for Avida's console
+ # interface) and the Qt graphics API (for Avida's graphic interface).
+ INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/FindNcurses.cmake)
+ IF(NOT NCURSES_INCLUDE_PATH)
+ MESSAGE("Unable to locate header files for the ncurses CRT screen handling package. Please set the advanced variable NCURSES_INCLUDE_PATH to their location.")
+ ENDIF(NOT NCURSES_INCLUDE_PATH)
+ IF(NOT NCURSES_LIBRARY)
+ MESSAGE("Unable to locate 'libncurses'. Please set the advanced variable NCURSES_LIBRARY to its location.")
+ ENDIF(NOT NCURSES_LIBRARY)
+
+ IF(NCURSES_LIBRARY AND NCURSES_INCLUDE_PATH)
+
+ INCLUDE_DIRECTORIES(${NCURSES_INCLUDE_PATH})
+
+ SET(AVIDA_TEXT_VIEWER_DIR source/targets/viewer-text)
+ SET(AVIDA_TEXT_VIEWER_SOURCES
+# ${AVIDA_TEXT_VIEWER_DIR}/cAnalyzeScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cAnalyzeView.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cBarScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cEnvironmentScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cHistScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cMapScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cMenuWindow.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cOptionsScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cStatsScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cSymbolUtil.cc
+ ${AVIDA_TEXT_VIEWER_DIR}/cTextWindow.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cView.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cViewInfo.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cZoomScreen.cc
+ ${AVIDA_TEXT_VIEWER_DIR}/cDriver_TextViewer.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cTextViewerManager.cc
+ ${AVIDA_TEXT_VIEWER_DIR}/viewer-text.cc
+ )
+ SOURCE_GROUP(targets\\viewer-text FILES ${AVIDA_TEXT_VIEWER_SOURCES})
+ ADD_EXECUTABLE(avida-textview ${AVIDA_TEXT_VIEWER_SOURCES})
+
+ SET(AVIDA_TEXT_VIEWER_LIBS avidacore ${NCURSES_LIBRARY})
+ IF(NOT MSVC)
+ LIST(APPEND AVIDA_TEXT_VIEWER_LIBS pthread)
+ ENDIF(NOT MSVC)
+ IF(AVD_ENABLE_TCMALLOC)
+ LIST(APPEND AVIDA_TEXT_VIEWER_LIBS tcmalloc)
+ ENDIF(AVD_ENABLE_TCMALLOC)
+ TARGET_LINK_LIBRARIES(avida-textview ${AVIDA_TEXT_VIEWER_LIBS})
+
+ INSTALL_TARGETS(/work avida-textview)
+
+ ENDIF(NCURSES_LIBRARY AND NCURSES_INCLUDE_PATH)
+ENDIF(AVD_GUI_PROTO_TEXT)
+
+
+
+# By default, do not build the console interface to Avida.
+OPTION(AVD_GUI_PROTO_FLTK
+ "Enable building new Avida FLTK graphical interface."
+ OFF
+)
+# Make sure requisites are present for build of console interface. Give
+# user feedback if they're missing.
+IF(AVD_GUI_PROTO_FLTK)
+ # Locate the fltk GUI package
+ INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/FindFLTK.cmake)
+ IF(NOT FLTK_INCLUDE_PATH)
+ MESSAGE("Unable to locate header files for the FLTK graphics package. Please set the advanced variable FLTK_INCLUDE_PATH to their location.")
+ ENDIF(NOT FLTK_INCLUDE_PATH)
+ IF(NOT FLTK_BASE_LIBRARY)
+ MESSAGE("Unable to locate 'fltk.lib'. Please set the advanced variable FLTK_BASE_LIBRARY to its location.")
+ ENDIF(NOT FLTK_BASE_LIBRARY)
+
+ IF(FLTK_BASE_LIBRARY AND FLTK_INCLUDE_PATH)
+
+ INCLUDE_DIRECTORIES(${FLTK_INCLUDE_PATH})
+
+ SET(AVIDA_FLTK_VIEWER_DIR source/targets/viewer-fltk)
+ SET(AVIDA_FLTK_VIEWER_SOURCES
+ ${AVIDA_FLTK_VIEWER_DIR}/cDriver_FltkViewer.cc
+ ${AVIDA_FLTK_VIEWER_DIR}/viewer-fltk.cc
+ )
+ SOURCE_GROUP(targets\\viewer-fltk FILES ${AVIDA_FLTK_VIEWER_SOURCES})
+ ADD_EXECUTABLE(avida-fltkview ${AVIDA_FLTK_VIEWER_SOURCES})
+
+ SET(AVIDA_FLTK_VIEWER_LIBS avidacore ${FLTK_BASE_LIBRARY})
+ IF(NOT MSVC)
+ LIST(APPEND AVIDA_FLTK_VIEWER_LIBS pthread)
+ ENDIF(NOT MSVC)
+ IF(AVD_ENABLE_TCMALLOC)
+ LIST(APPEND AVIDA_FLTK_VIEWER_LIBS tcmalloc)
+ ENDIF(AVD_ENABLE_TCMALLOC)
+ TARGET_LINK_LIBRARIES(avida-fltkview ${AVIDA_FLTK_VIEWER_LIBS})
+ SET_TARGET_PROPERTIES(avida-fltkview PROPERTIES LINK_FLAGS ${FLTK_PLATFORM_DEPENDENT_LIBS})
+
+ INSTALL_TARGETS(/work avida-fltkview)
+
+ ENDIF(FLTK_BASE_LIBRARY AND FLTK_INCLUDE_PATH)
+ENDIF(AVD_GUI_PROTO_FLTK)
+
+
+
+OPTION(AVD_TASK_EVENT_GEN
+ "Enable building the task_event_gen utility"
+ OFF
+)
+IF(AVD_TASK_EVENT_GEN)
+ SET(UTILS_DIR source/utils)
+ SET(TASK_EVENT_GEN_SOURCES
+ ${TOOLS_DIR}/cFile.cc
+ ${TOOLS_DIR}/cRandom.cc
+ ${TOOLS_DIR}/cString.cc
+ ${TOOLS_DIR}/cInitFIle.cc
+ ${TOOLS_DIR}/cStringIterator.cc
+ ${TOOLS_DIR}/cStringList.cc
+ ${UTILS_DIR}/task_events/task_event_gen.cc
+ )
+ ADD_EXECUTABLE(task_event_gen ${TASK_EVENT_GEN_SOURCES})
+ INSTALL_TARGETS(/work task_event_gen)
+ENDIF(AVD_TASK_EVENT_GEN)
+
+
+OPTION(AVD_UNIT_TESTS
+ "Enable the unit-tests executable. Running this target will test various low level functionality."
+ OFF
+)
+IF(AVD_UNIT_TESTS)
+ SET(UNIT_TESTS_DIR source/targets/unit-tests)
+ SET(UNIT_TESTS_SOURCES
+ ${UNIT_TESTS_DIR}/main.cc
+ )
+ ADD_EXECUTABLE(unit-tests ${UNIT_TESTS_SOURCES})
+ INSTALL_TARGETS(/work unit-tests)
+ENDIF(AVD_UNIT_TESTS)
+
+
+# Default Configuration Files
+# - Installed into the work directory alongside selected targets
+# ------------------------------------------------------------------------------
+SET(CFG_FILES_DIR support/config)
+SET(CFG_FILES
+ ${CFG_FILES_DIR}/analyze.cfg
+ ${CFG_FILES_DIR}/avida.cfg
+ ${CFG_FILES_DIR}/environment.cfg
+ ${CFG_FILES_DIR}/events.cfg
+ ${CFG_FILES_DIR}/instset-classic.cfg
+ ${CFG_FILES_DIR}/instset-sex-classic.cfg
+ ${CFG_FILES_DIR}/instset-smt.cfg
+ ${CFG_FILES_DIR}/instset-transsmt.cfg
+ ${CFG_FILES_DIR}/default-classic.org
+ ${CFG_FILES_DIR}/default-sex-classic.org
+ ${CFG_FILES_DIR}/default-smt.org
+ ${CFG_FILES_DIR}/default-transsmt.org
+)
+INSTALL_FILES(/work FILES ${CFG_FILES})
+
+
+
+# Avida-ED Related
+# ------------------------------------------------------------------------------
+
+OPTION(AVD_GUI_PYQT
+ "Enable the PyQt GUI interface. (EXPERIMENTAL)"
+ OFF
+)
+IF(AVD_GUI_PYQT)
+ SET(AVD_PY_BINDINGS ON CACHE BOOL "Avida Python Bindings MUST be built for the PyQt GUI." FORCE)
+ FIND_PROGRAM(PYUIC pyuic DOC "Path to pyuic. Used to compile python files from .ui files.")
+ENDIF(AVD_GUI_PYQT)
+
+
+# Experimental Boost.Python interface to avida is disabled by default.
+OPTION(AVD_PY_BINDINGS
+ "Enable Python interface to Avida. (EXPERIMENTAL)"
+ OFF
+)
+IF(AVD_PY_BINDINGS)
+ INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/avdFindPython.cmake)
+ AVD_FIND_PYTHON(2.4 /Library/Frameworks)
+ SET( BOOST_VERSION "1_32" CACHE STRING "Version of Boost Library to use")
+ FIND_LIBRARY(
+ BOOST_LIBRARY
+ NAMES
+ boost_python-${BOOST_VERSION}
+ boost_python
+ PATHS
+ /usr/local/lib
+ DOC "Path where the Boost Python Library can be found"
+ )
+ FIND_PATH(
+ BOOST_INCLUDE_PATH
+ boost/python/def.hpp
+ /usr/local/include
+ /usr/local/include/boost
+ /usr/local/include/boost-${BOOST_VERSION}
+ DOC "Path where the Boost Python header files can be found"
+ )
+ FIND_PROGRAM(
+ GCCXML
+ gccxml
+ DOC "gccxml must be in the search path specified by your PATH environment variable in order for pyste to operate"
+ )
+ SET(UNIT_TESTS TRUE)
+
+ ADD_SUBDIRECTORY(source/bindings)
+ ADD_SUBDIRECTORY(source/python)
+ENDIF(AVD_PY_BINDINGS)
+
+
+# By default, compile all unit tests of primitive Avida classes. Tests
+# are run via 'make test' under unix.
+OPTION(AVD_CMAKE_UNIT_TESTS
+ "Enable building primitive unit test suites."
+ OFF
+)
+IF(AVD_CMAKE_UNIT_TESTS)
+ SET(UNIT_TESTS TRUE)
+ INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
+ ADD_DEFINITIONS(-DENABLE_UNIT_TESTS)
+ ADD_DEFINITIONS(-DUSE_tMemTrack=1)
+ ENABLE_TESTING()
+ELSE(AVD_CMAKE_UNIT_TESTS)
+ REMOVE_DEFINITIONS(-DENABLE_UNIT_TESTS)
+ REMOVE_DEFINITIONS(-DUSE_tMemTrack=1)
+ENDIF(AVD_CMAKE_UNIT_TESTS)
+
+
+IF(BUILD_AvidaSupportLibs)
+ IF(EXISTS source/third-party/AvidaSupportLibs/CMakeLists.txt)
+ ADD_SUBDIRECTORY(source/third-party/AvidaSupportLibs)
+ ENDIF(EXISTS source/third-party/AvidaSupportLibs/CMakeLists.txt)
+ENDIF(BUILD_AvidaSupportLibs)
Deleted: branches/uml/CMakeLists.txt
===================================================================
--- branches/uml/CMakeLists.txt 2007-08-25 17:25:58 UTC (rev 2009)
+++ branches/uml/CMakeLists.txt 2007-08-25 17:39:54 UTC (rev 2010)
@@ -1,645 +0,0 @@
-PROJECT(AVIDA)
-
-# The following three variables must be after the PROJECT statement, otherwise
-# newer versions of cmake will (correctly) use an empty value of
-# PROJECT_BINARY_DIR, since the project didn't exist yet.
-
-# Default location for installed software/configs/ docs is the build directory.
-SET(CMAKE_INSTALL_PREFIX
- "${PROJECT_BINARY_DIR}"
- CACHE PATH
- "Install path prefix, prepended onto install directories."
- FORCE
-)
-
-# Final software is built directly into the work subdirectory.
-SET(EXECUTABLE_OUTPUT_PATH
- "${PROJECT_BINARY_DIR}/bin"
- CACHE PATH
- "Single output directory for building all executables."
-)
-
-SET(LIBRARY_OUTPUT_PATH
- "${PROJECT_BINARY_DIR}/lib"
- CACHE PATH
- "Built libraries are placed here before installation."
-)
-
-
-
-# This section defines default builtin compiler options
-# ------------------------------------------------------------------------------
-IF(UNIX)
- IF (CMAKE_CXX_COMPILER MATCHES ".*pathCC.*")
- SET(COMPILER_WARNING_FLAGS "")
- SET(COMPILER_OPTIMIZATION_FLAGS "-ffast-math -funroll-loops -fstrict-aliasing -OPT:Olimit=0")
- ELSE (CMAKE_CXX_COMPILER MATCHES ".*pathCC.*")
- SET(COMPILER_WARNING_FLAGS "-Wextra -Wno-unknown-pragmas -Wconversion -Wno-trigraphs")
- SET(COMPILER_OPTIMIZATION_FLAGS "-ffast-math -funroll-loops -fstrict-aliasing -ftree-vectorize -fvisibility-inlines-hidden")
- ENDIF (CMAKE_CXX_COMPILER MATCHES ".*pathCC.*")
-
- INCLUDE(CheckCSourceCompiles)
- SET(CMAKE_REQUIRED_FLAGS "-mno-fused-madd")
- CHECK_C_SOURCE_COMPILES("int main() { return 0; }" HAVE_FUSED_MADD)
- SET(CMAKE_REQUIRED_FLAGS "")
-
- IF(HAVE_FUSED_MADD)
- SET(COMPILER_OPTIMIZATION_FLAGS "-mno-fused-madd ${COMPILER_OPTIMIZATION_FLAGS}")
- ENDIF(HAVE_FUSED_MADD)
-
- # Four types of c++ compilations:
- # - debug (Debug)
- # - minimum-size release (MinSizeRel)
- # - release (Release)
- # - release with debug info (RelWithDebInfo)
- SET(CMAKE_CXX_FLAGS_DEBUG
- "-g ${COMPILER_WARNING_FLAGS} -DDEBUG"
- CACHE STRING "Flags used by the compiler during debug builds." FORCE)
- SET(CMAKE_CXX_FLAGS_MINSIZEREL
- "-Os ${COMPILER_WARNING_FLAGS} -DNDEBUG"
- CACHE STRING "Flags used by the compiler during release minsize builds." FORCE)
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO
- "-O2 -g ${COMPILER_OPTIMIZATION_FLAGS} ${COMPILER_WARNING_FLAGS} -DDEBUG"
- CACHE STRING "Flags used by the compiler during release builds." FORCE)
- SET(CMAKE_CXX_FLAGS_RELEASE
- "-O3 ${COMPILER_OPTIMIZATION_FLAGS} ${COMPILER_WARNING_FLAGS} -DNDEBUG"
- CACHE STRING "Flags used by the compiler during release builds." FORCE)
-ENDIF(UNIX)
-
-
-# Default build mode compiles c++ and c code with debug info and no
-# optimizations.
-IF(NOT CMAKE_BUILD_TYPE)
- SET(CMAKE_BUILD_TYPE
- Release
- CACHE STRING
- "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel."
- FORCE
- )
-ENDIF(NOT CMAKE_BUILD_TYPE)
-
-
-
-# Build Instructions for the Avida Core functionality
-# - Below are groups of sources, based on directory. Each appends the source
-# - files to the master AVIDA_CORE_SOURCES list that is used to build a
-# - static library that is linked into relevant targets.
-# ------------------------------------------------------------------------------
-SET(AVIDA_CORE_SOURCES)
-SET(ALL_INC_DIRS
- ${PROJECT_SOURCE_DIR}/source
-)
-
-
-# The actions directory
-SET(ACTIONS_DIR ${PROJECT_SOURCE_DIR}/source/actions)
-SET(ACTIONS_SOURCES
- ${ACTIONS_DIR}/cActionLibrary.cc
- ${ACTIONS_DIR}/DriverActions.cc
- ${ACTIONS_DIR}/EnvironmentActions.cc
- ${ACTIONS_DIR}/LandscapeActions.cc
- ${ACTIONS_DIR}/PopulationActions.cc
- ${ACTIONS_DIR}/PrintActions.cc
- ${ACTIONS_DIR}/SaveLoadActions.cc
-)
-SOURCE_GROUP(actions FILES ${ACTIONS_SOURCES})
-LIST(APPEND AVIDA_CORE_SOURCES ${ACTIONS_SOURCES})
-LIST(APPEND ALL_INC_DIRS ${ACTIONS_DIR})
-
-
-# The analyze directory
-SET(ANALYZE_DIR ${PROJECT_SOURCE_DIR}/source/analyze)
-SET(ANALYZE_SOURCES
- ${ANALYZE_DIR}/cAnalyze.cc
- ${ANALYZE_DIR}/cAnalyzeGenotype.cc
- ${ANALYZE_DIR}/cAnalyzeJobQueue.cc
- ${ANALYZE_DIR}/cAnalyzeJobWorker.cc
- ${ANALYZE_DIR}/cMutationalNeighborhood.cc
-)
-SOURCE_GROUP(analyze FILES ${ANALYZE_SOURCES})
-LIST(APPEND AVIDA_CORE_SOURCES ${ANALYZE_SOURCES})
-LIST(APPEND ALL_INC_DIRS ${ANALYZE_DIR})
-
-
-# The classification directory
-SET(CLASSIFICATION_DIR ${PROJECT_SOURCE_DIR}/source/classification)
-SET(CLASSIFICATION_SOURCES
- ${CLASSIFICATION_DIR}/cClassificationManager.cc
- ${CLASSIFICATION_DIR}/cGenotype.cc
- ${CLASSIFICATION_DIR}/cGenotype_BirthData.cc
- ${CLASSIFICATION_DIR}/cGenotypeControl.cc
- ${CLASSIFICATION_DIR}/cInjectGenotype.cc
- ${CLASSIFICATION_DIR}/cInjectGenotypeControl.cc
- ${CLASSIFICATION_DIR}/cInjectGenotypeQueue.cc
- ${CLASSIFICATION_DIR}/cLineage.cc
- ${CLASSIFICATION_DIR}/cSpecies.cc
- ${CLASSIFICATION_DIR}/cSpeciesControl.cc
- ${CLASSIFICATION_DIR}/cSpeciesQueue.cc
-)
-SOURCE_GROUP(classification FILES ${CLASSIFICATION_SOURCES})
-LIST(APPEND AVIDA_CORE_SOURCES ${CLASSIFICATION_SOURCES})
-LIST(APPEND ALL_INC_DIRS ${CLASSIFICATION_DIR})
-
-
-# The core viewer directory
-SET(COREVIEW_DIR ${PROJECT_SOURCE_DIR}/source/viewer-core)
-SET(COREVIEW_SOURCES
- ${COREVIEW_DIR}/cCoreView_Info.cc
-)
-SOURCE_GROUP(coreview FILES ${COREVIEW_SOURCES})
-LIST(APPEND AVIDA_CORE_SOURCES ${COREVIEW_SOURCES})
-LIST(APPEND ALL_INC_DIRS ${COREVIEW_DIR})
-
-
-# The core GUI directory
-SET(COREGUI_DIR ${PROJECT_SOURCE_DIR}/source/viewer-coreGUI)
-SET(COREGUI_SOURCES
- ${COREGUI_DIR}/cGUIDriver.cc
-)
-SOURCE_GROUP(coregui FILES ${COREGUI_SOURCES})
-LIST(APPEND AVIDA_CORE_SOURCES ${COREGUI_SOURCES})
-LIST(APPEND ALL_INC_DIRS ${COREGUI_DIR})
-
-
-# The cpu directory
-SET(CPU_DIR ${PROJECT_SOURCE_DIR}/source/cpu)
-SET(CPU_SOURCES
- ${CPU_DIR}/cCodeLabel.cc
- ${CPU_DIR}/cCPUMemory.cc
- ${CPU_DIR}/cCPUStack.cc
- ${CPU_DIR}/cCPUTestInfo.cc
- ${CPU_DIR}/cHardwareBase.cc
- ${CPU_DIR}/cHardwareCPU.cc
- ${CPU_DIR}/cHardwareExperimental.cc
- ${CPU_DIR}/cHardwareGX.cc
- ${CPU_DIR}/cHardwareManager.cc
- ${CPU_DIR}/cHardwareSMT.cc
- ${CPU_DIR}/cHardwareStatusPrinter.cc
- ${CPU_DIR}/cHardwareTransSMT.cc
- ${CPU_DIR}/cHeadCPU.cc
- ${CPU_DIR}/cInstSet.cc
- ${CPU_DIR}/cTestCPU.cc
- ${CPU_DIR}/cTestCPUInterface.cc
-)
-SOURCE_GROUP(cpu FILES ${CPU_SOURCES})
-LIST(APPEND AVIDA_CORE_SOURCES ${CPU_SOURCES})
-LIST(APPEND ALL_INC_DIRS ${CPU_DIR})
-
-
-# The drivers directory
-SET(DRIVERS_DIR ${PROJECT_SOURCE_DIR}/source/drivers)
-SET(DRIVERS_SOURCES
- ${DRIVERS_DIR}/cDefaultAnalyzeDriver.cc
- ${DRIVERS_DIR}/cDefaultRunDriver.cc
- ${DRIVERS_DIR}/cDriverManager.cc
- ${DRIVERS_DIR}/cFallbackWorldDriver.cc
-)
-SOURCE_GROUP(drivers FILES ${DRIVERS_SOURCES})
-LIST(APPEND AVIDA_CORE_SOURCES ${DRIVERS_SOURCES})
-LIST(APPEND ALL_INC_DIRS ${DRIVERS_DIR})
-
-
-# The main directory
-SET(MAIN_DIR ${PROJECT_SOURCE_DIR}/source/main)
-SET(MAIN_SOURCES
- ${MAIN_DIR}/avida.cc
- ${MAIN_DIR}/cAvidaConfig.cc
- ${MAIN_DIR}/cBirthChamber.cc
- ${MAIN_DIR}/cDeme.cc
- ${MAIN_DIR}/cEnvironment.cc
- ${MAIN_DIR}/cEventList.cc
- ${MAIN_DIR}/cFitnessMatrix.cc
- ${MAIN_DIR}/cGenome.cc
- ${MAIN_DIR}/cGenomeUtil.cc
- ${MAIN_DIR}/cInstruction.cc
- ${MAIN_DIR}/cLandscape.cc
- ${MAIN_DIR}/cLocalMutations.cc
- ${MAIN_DIR}/cMutationLib.cc
- ${MAIN_DIR}/cMutationRates.cc
- ${MAIN_DIR}/cMxCodeArray.cc
- ${MAIN_DIR}/cOrganism.cc
- ${MAIN_DIR}/cPhenotype.cc
- ${MAIN_DIR}/cPopulation.cc
- ${MAIN_DIR}/cPopulationCell.cc
- ${MAIN_DIR}/cPopulationInterface.cc
- ${MAIN_DIR}/cReaction.cc
- ${MAIN_DIR}/cReactionLib.cc
- ${MAIN_DIR}/cReactionResult.cc
- ${MAIN_DIR}/cResource.cc
- ${MAIN_DIR}/cResourceCount.cc
- ${MAIN_DIR}/cResourceLib.cc
- ${MAIN_DIR}/cSpatialCountElem.cc
- ${MAIN_DIR}/cSpatialResCount.cc
- ${MAIN_DIR}/cUMLModel.cc
- ${MAIN_DIR}/cUMLStateDiagram.cc
- ${MAIN_DIR}/cStats.cc
- ${MAIN_DIR}/cTaskLib.cc
- ${MAIN_DIR}/cWorld.cc
-)
-SOURCE_GROUP(main FILES ${MAIN_SOURCES})
-LIST(APPEND AVIDA_CORE_SOURCES ${MAIN_SOURCES})
-LIST(APPEND ALL_INC_DIRS ${MAIN_DIR})
-
-
-# The platform directory
-SET(PLATFORM_DIR ${PROJECT_SOURCE_DIR}/source/platform)
-SET(PLATFORM_SOURCES
- ${PLATFORM_DIR}/cThread.cc
- ${PLATFORM_DIR}/PlatformExpert.cc
-)
-LIST(APPEND AVIDA_CORE_SOURCES ${PLATFORM_SOURCES})
-LIST(APPEND ALL_INC_DIRS ${PLATFORM_DIR})
-
-
-# The tools directory
-SET(TOOLS_DIR ${PROJECT_SOURCE_DIR}/source/tools)
-SET(TOOLS_SOURCES
- ${TOOLS_DIR}/cArgContainer.cc
- ${TOOLS_DIR}/cArgSchema.cc
- ${TOOLS_DIR}/cChangeList.cc
- ${TOOLS_DIR}/cConstSchedule.cc
- ${TOOLS_DIR}/cDataEntry.cc
- ${TOOLS_DIR}/cDataFile.cc
- ${TOOLS_DIR}/cDataFileManager.cc
- ${TOOLS_DIR}/cDataManager_Base.cc
- ${TOOLS_DIR}/cDefaultMessageDisplay.cc
- ${TOOLS_DIR}/cDoubleSum.cc
- ${TOOLS_DIR}/cFile.cc
- ${TOOLS_DIR}/cHelpAlias.cc
- ${TOOLS_DIR}/cHelpManager.cc
- ${TOOLS_DIR}/cHelpType.cc
- ${TOOLS_DIR}/cHistogram.cc
- ${TOOLS_DIR}/cInitFile.cc
- ${TOOLS_DIR}/cIntSum.cc
- ${TOOLS_DIR}/cIntegratedSchedule.cc
- ${TOOLS_DIR}/cIntegratedScheduleNode.cc
- ${TOOLS_DIR}/cMerit.cc
- ${TOOLS_DIR}/cProbSchedule.cc
- ${TOOLS_DIR}/cRandom.cc
- ${TOOLS_DIR}/cRunningAverage.cc
- ${TOOLS_DIR}/cSchedule.cc
- ${TOOLS_DIR}/cString.cc
- ${TOOLS_DIR}/cStringIterator.cc
- ${TOOLS_DIR}/cStringList.cc
- ${TOOLS_DIR}/cStringUtil.cc
- ${TOOLS_DIR}/cTools.cc
- ${TOOLS_DIR}/cWeightedIndex.cc
-)
-SOURCE_GROUP(tools FILES ${TOOLS_SOURCES})
-LIST(APPEND AVIDA_CORE_SOURCES ${TOOLS_SOURCES})
-LIST(APPEND ALL_INC_DIRS ${TOOLS_DIR})
-
-
-# Create the static library from the master source list
-INCLUDE_DIRECTORIES(${ALL_INC_DIRS})
-ADD_LIBRARY(avidacore ${AVIDA_CORE_SOURCES})
-
-
-
-# Build Instructions for the TCMalloc library
-# ------------------------------------------------------------------------------
-IF(UNIX)
- SET(AVD_ENABLE_TCMALLOC TRUE)
-ELSE(UNIX)
- SET(AVD_ENABLE_TCMALLOC FALSE)
-ENDIF(UNIX)
-IF(AVD_ENABLE_TCMALLOC)
- SET(TCMALLOC_DIR source/platform/tcmalloc)
- SET(TCMALLOC_SOURCES
- ${TCMALLOC_DIR}/system-alloc.cc
- ${TCMALLOC_DIR}/tcmalloc-logging.cc
- ${TCMALLOC_DIR}/tcmalloc.cc
- )
- ADD_LIBRARY(tcmalloc ${TCMALLOC_SOURCES})
-ENDIF(AVD_ENABLE_TCMALLOC)
-
-
-
-# Target Processing
-# - For each enabled target, process its build instructions. Must occur after
-# - avidacore has been defined.
-# ------------------------------------------------------------------------------
-OPTION(AVD_CMDLINE
- "Enable building standard command line Avida (fastest version)."
- ON
-)
-IF(AVD_CMDLINE)
- SET(AVIDA_CMDLINE_DIR source/targets/avida)
- SET(AVIDA_CMDLINE_SOURCES ${AVIDA_CMDLINE_DIR}/primitive.cc)
- SOURCE_GROUP(target\\avida FILES ${AVIDA_CMDLINE_SOURCES})
- ADD_EXECUTABLE(avida ${AVIDA_CMDLINE_SOURCES})
-
- SET(AVIDA_CMDLINE_LIBS avidacore)
- IF(NOT MSVC)
- LIST(APPEND AVIDA_CMDLINE_LIBS pthread)
- ENDIF(NOT MSVC)
- IF(AVD_ENABLE_TCMALLOC)
- LIST(APPEND AVIDA_CMDLINE_LIBS tcmalloc)
- ENDIF(AVD_ENABLE_TCMALLOC)
- TARGET_LINK_LIBRARIES(avida ${AVIDA_CMDLINE_LIBS})
-
- INSTALL_TARGETS(/work avida)
-ENDIF(AVD_CMDLINE)
-
-
-# By default, do not build the console interface to Avida.
-OPTION(AVD_GUI_NCURSES
- "Enable building Avida console interface."
- OFF
-)
-# Make sure requisites are present for build of console interface. Give
-# user feedback if they're missing.
-IF(AVD_GUI_NCURSES)
- # Locate the ncurses screen handling package (for Avida's console
- # interface) and the Qt graphics API (for Avida's graphic interface).
- INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/FindNcurses.cmake)
- IF(NOT NCURSES_INCLUDE_PATH)
- MESSAGE("Unable to locate header files for the ncurses CRT screen handling package. Please set the advanced variable NCURSES_INCLUDE_PATH to their location.")
- ENDIF(NOT NCURSES_INCLUDE_PATH)
- IF(NOT NCURSES_LIBRARY)
- MESSAGE("Unable to locate 'libncurses'. Please set the advanced variable NCURSES_LIBRARY to its location.")
- ENDIF(NOT NCURSES_LIBRARY)
-
- IF(NCURSES_LIBRARY AND NCURSES_INCLUDE_PATH)
-
- INCLUDE_DIRECTORIES(${NCURSES_INCLUDE_PATH})
-
- SET(AVIDA_VIEWER_DIR source/targets/avida-viewer)
- SET(AVIDA_VIEWER_SOURCES
- ${AVIDA_VIEWER_DIR}/cAnalyzeScreen.cc
- ${AVIDA_VIEWER_DIR}/cAnalyzeView.cc
- ${AVIDA_VIEWER_DIR}/cBarScreen.cc
- ${AVIDA_VIEWER_DIR}/cEnvironmentScreen.cc
- ${AVIDA_VIEWER_DIR}/cHistScreen.cc
- ${AVIDA_VIEWER_DIR}/cMapScreen.cc
- ${AVIDA_VIEWER_DIR}/cMenuWindow.cc
- ${AVIDA_VIEWER_DIR}/cOptionsScreen.cc
- ${AVIDA_VIEWER_DIR}/cScreen.cc
- ${AVIDA_VIEWER_DIR}/cStatsScreen.cc
- ${AVIDA_VIEWER_DIR}/cSymbolUtil.cc
- ${AVIDA_VIEWER_DIR}/cTextViewerAnalyzeDriver.cc
- ${AVIDA_VIEWER_DIR}/cTextViewerDriver.cc
- ${AVIDA_VIEWER_DIR}/cTextViewerDriver_Base.cc
- ${AVIDA_VIEWER_DIR}/cTextWindow.cc
- ${AVIDA_VIEWER_DIR}/cView.cc
- ${AVIDA_VIEWER_DIR}/cViewInfo.cc
- ${AVIDA_VIEWER_DIR}/cZoomScreen.cc
- ${AVIDA_VIEWER_DIR}/viewer.cc
- )
- SOURCE_GROUP(targets\\avida-viewer FILES ${AVIDA_VIEWER_SOURCES})
- ADD_EXECUTABLE(avida-viewer ${AVIDA_VIEWER_SOURCES})
-
- SET(AVIDA_VIEWER_LIBS avidacore ${NCURSES_LIBRARY})
- IF(NOT MSVC)
- LIST(APPEND AVIDA_VIEWER_LIBS pthread)
- ENDIF(NOT MSVC)
- IF(AVD_ENABLE_TCMALLOC)
- LIST(APPEND AVIDA_VIEWER_LIBS tcmalloc)
- ENDIF(AVD_ENABLE_TCMALLOC)
- TARGET_LINK_LIBRARIES(avida-viewer ${AVIDA_VIEWER_LIBS})
-
- INSTALL_TARGETS(/work avida-viewer)
-
- ENDIF(NCURSES_LIBRARY AND NCURSES_INCLUDE_PATH)
-ENDIF(AVD_GUI_NCURSES)
-
-
-
-# By default, do not build the console interface to Avida.
-OPTION(AVD_GUI_PROTO_TEXT
- "Enable building new Avida text interface."
- OFF
-)
-# Make sure requisites are present for build of console interface. Give
-# user feedback if they're missing.
-IF(AVD_GUI_PROTO_TEXT)
- # Locate the ncurses screen handling package (for Avida's console
- # interface) and the Qt graphics API (for Avida's graphic interface).
- INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/FindNcurses.cmake)
- IF(NOT NCURSES_INCLUDE_PATH)
- MESSAGE("Unable to locate header files for the ncurses CRT screen handling package. Please set the advanced variable NCURSES_INCLUDE_PATH to their location.")
- ENDIF(NOT NCURSES_INCLUDE_PATH)
- IF(NOT NCURSES_LIBRARY)
- MESSAGE("Unable to locate 'libncurses'. Please set the advanced variable NCURSES_LIBRARY to its location.")
- ENDIF(NOT NCURSES_LIBRARY)
-
- IF(NCURSES_LIBRARY AND NCURSES_INCLUDE_PATH)
-
- INCLUDE_DIRECTORIES(${NCURSES_INCLUDE_PATH})
-
- SET(AVIDA_TEXT_VIEWER_DIR source/targets/viewer-text)
- SET(AVIDA_TEXT_VIEWER_SOURCES
-# ${AVIDA_TEXT_VIEWER_DIR}/cAnalyzeScreen.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cAnalyzeView.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cBarScreen.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cEnvironmentScreen.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cHistScreen.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cMapScreen.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cMenuWindow.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cOptionsScreen.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cScreen.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cStatsScreen.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cSymbolUtil.cc
- ${AVIDA_TEXT_VIEWER_DIR}/cTextWindow.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cView.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cViewInfo.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cZoomScreen.cc
- ${AVIDA_TEXT_VIEWER_DIR}/cDriver_TextViewer.cc
-# ${AVIDA_TEXT_VIEWER_DIR}/cTextViewerManager.cc
- ${AVIDA_TEXT_VIEWER_DIR}/viewer-text.cc
- )
- SOURCE_GROUP(targets\\viewer-text FILES ${AVIDA_TEXT_VIEWER_SOURCES})
- ADD_EXECUTABLE(avida-textview ${AVIDA_TEXT_VIEWER_SOURCES})
-
- SET(AVIDA_TEXT_VIEWER_LIBS avidacore ${NCURSES_LIBRARY})
- IF(NOT MSVC)
- LIST(APPEND AVIDA_TEXT_VIEWER_LIBS pthread)
- ENDIF(NOT MSVC)
- IF(AVD_ENABLE_TCMALLOC)
- LIST(APPEND AVIDA_TEXT_VIEWER_LIBS tcmalloc)
- ENDIF(AVD_ENABLE_TCMALLOC)
- TARGET_LINK_LIBRARIES(avida-textview ${AVIDA_TEXT_VIEWER_LIBS})
-
- INSTALL_TARGETS(/work avida-textview)
-
- ENDIF(NCURSES_LIBRARY AND NCURSES_INCLUDE_PATH)
-ENDIF(AVD_GUI_PROTO_TEXT)
-
-
-
-# By default, do not build the console interface to Avida.
-OPTION(AVD_GUI_PROTO_FLTK
- "Enable building new Avida FLTK graphical interface."
- OFF
-)
-# Make sure requisites are present for build of console interface. Give
-# user feedback if they're missing.
-IF(AVD_GUI_PROTO_FLTK)
- # Locate the fltk GUI package
- INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/FindFLTK.cmake)
- IF(NOT FLTK_INCLUDE_PATH)
- MESSAGE("Unable to locate header files for the FLTK graphics package. Please set the advanced variable FLTK_INCLUDE_PATH to their location.")
- ENDIF(NOT FLTK_INCLUDE_PATH)
- IF(NOT FLTK_BASE_LIBRARY)
- MESSAGE("Unable to locate 'fltk.lib'. Please set the advanced variable FLTK_BASE_LIBRARY to its location.")
- ENDIF(NOT FLTK_BASE_LIBRARY)
-
- IF(FLTK_BASE_LIBRARY AND FLTK_INCLUDE_PATH)
-
- INCLUDE_DIRECTORIES(${FLTK_INCLUDE_PATH})
-
- SET(AVIDA_FLTK_VIEWER_DIR source/targets/viewer-fltk)
- SET(AVIDA_FLTK_VIEWER_SOURCES
- ${AVIDA_FLTK_VIEWER_DIR}/cDriver_FltkViewer.cc
- ${AVIDA_FLTK_VIEWER_DIR}/viewer-fltk.cc
- )
- SOURCE_GROUP(targets\\viewer-fltk FILES ${AVIDA_FLTK_VIEWER_SOURCES})
- ADD_EXECUTABLE(avida-fltkview ${AVIDA_FLTK_VIEWER_SOURCES})
-
- SET(AVIDA_FLTK_VIEWER_LIBS avidacore ${FLTK_BASE_LIBRARY})
- IF(NOT MSVC)
- LIST(APPEND AVIDA_FLTK_VIEWER_LIBS pthread)
- ENDIF(NOT MSVC)
- IF(AVD_ENABLE_TCMALLOC)
- LIST(APPEND AVIDA_FLTK_VIEWER_LIBS tcmalloc)
- ENDIF(AVD_ENABLE_TCMALLOC)
- TARGET_LINK_LIBRARIES(avida-fltkview ${AVIDA_FLTK_VIEWER_LIBS})
- SET_TARGET_PROPERTIES(avida-fltkview PROPERTIES LINK_FLAGS ${FLTK_PLATFORM_DEPENDENT_LIBS})
-
- INSTALL_TARGETS(/work avida-fltkview)
-
- ENDIF(FLTK_BASE_LIBRARY AND FLTK_INCLUDE_PATH)
-ENDIF(AVD_GUI_PROTO_FLTK)
-
-
-
-OPTION(AVD_TASK_EVENT_GEN
- "Enable building the task_event_gen utility"
- OFF
-)
-IF(AVD_TASK_EVENT_GEN)
- SET(UTILS_DIR source/utils)
- SET(TASK_EVENT_GEN_SOURCES
- ${TOOLS_DIR}/cFile.cc
- ${TOOLS_DIR}/cRandom.cc
- ${TOOLS_DIR}/cString.cc
- ${TOOLS_DIR}/cInitFIle.cc
- ${TOOLS_DIR}/cStringIterator.cc
- ${TOOLS_DIR}/cStringList.cc
- ${UTILS_DIR}/task_events/task_event_gen.cc
- )
- ADD_EXECUTABLE(task_event_gen ${TASK_EVENT_GEN_SOURCES})
- INSTALL_TARGETS(/work task_event_gen)
-ENDIF(AVD_TASK_EVENT_GEN)
-
-
-OPTION(AVD_UNIT_TESTS
- "Enable the unit-tests executable. Running this target will test various low level functionality."
- OFF
-)
-IF(AVD_UNIT_TESTS)
- SET(UNIT_TESTS_DIR source/targets/unit-tests)
- SET(UNIT_TESTS_SOURCES
- ${UNIT_TESTS_DIR}/main.cc
- )
- ADD_EXECUTABLE(unit-tests ${UNIT_TESTS_SOURCES})
- INSTALL_TARGETS(/work unit-tests)
-ENDIF(AVD_UNIT_TESTS)
-
-
-# Default Configuration Files
-# - Installed into the work directory alongside selected targets
-# ------------------------------------------------------------------------------
-SET(CFG_FILES_DIR support/config)
-SET(CFG_FILES
- ${CFG_FILES_DIR}/analyze.cfg
- ${CFG_FILES_DIR}/avida.cfg
- ${CFG_FILES_DIR}/environment.cfg
- ${CFG_FILES_DIR}/events.cfg
- ${CFG_FILES_DIR}/instset-classic.cfg
- ${CFG_FILES_DIR}/instset-sex-classic.cfg
- ${CFG_FILES_DIR}/instset-smt.cfg
- ${CFG_FILES_DIR}/instset-transsmt.cfg
- ${CFG_FILES_DIR}/default-classic.org
- ${CFG_FILES_DIR}/default-sex-classic.org
- ${CFG_FILES_DIR}/default-smt.org
- ${CFG_FILES_DIR}/default-transsmt.org
-)
-INSTALL_FILES(/work FILES ${CFG_FILES})
-
-
-
-# Avida-ED Related
-# ------------------------------------------------------------------------------
-
-OPTION(AVD_GUI_PYQT
- "Enable the PyQt GUI interface. (EXPERIMENTAL)"
- OFF
-)
-IF(AVD_GUI_PYQT)
- SET(AVD_PY_BINDINGS ON CACHE BOOL "Avida Python Bindings MUST be built for the PyQt GUI." FORCE)
- FIND_PROGRAM(PYUIC pyuic DOC "Path to pyuic. Used to compile python files from .ui files.")
-ENDIF(AVD_GUI_PYQT)
-
-
-# Experimental Boost.Python interface to avida is disabled by default.
-OPTION(AVD_PY_BINDINGS
- "Enable Python interface to Avida. (EXPERIMENTAL)"
- OFF
-)
-IF(AVD_PY_BINDINGS)
- INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/avdFindPython.cmake)
- AVD_FIND_PYTHON(2.4 /Library/Frameworks)
- SET( BOOST_VERSION "1_32" CACHE STRING "Version of Boost Library to use")
- FIND_LIBRARY(
- BOOST_LIBRARY
- NAMES
- boost_python-${BOOST_VERSION}
- boost_python
- PATHS
- /usr/local/lib
- DOC "Path where the Boost Python Library can be found"
- )
- FIND_PATH(
- BOOST_INCLUDE_PATH
- boost/python/def.hpp
- /usr/local/include
- /usr/local/include/boost
- /usr/local/include/boost-${BOOST_VERSION}
- DOC "Path where the Boost Python header files can be found"
- )
- FIND_PROGRAM(
- GCCXML
- gccxml
- DOC "gccxml must be in the search path specified by your PATH environment variable in order for pyste to operate"
- )
- SET(UNIT_TESTS TRUE)
-
- ADD_SUBDIRECTORY(source/bindings)
- ADD_SUBDIRECTORY(source/python)
-ENDIF(AVD_PY_BINDINGS)
-
-
-# By default, compile all unit tests of primitive Avida classes. Tests
-# are run via 'make test' under unix.
-OPTION(AVD_CMAKE_UNIT_TESTS
- "Enable building primitive unit test suites."
- OFF
-)
-IF(AVD_CMAKE_UNIT_TESTS)
- SET(UNIT_TESTS TRUE)
- INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
- ADD_DEFINITIONS(-DENABLE_UNIT_TESTS)
- ADD_DEFINITIONS(-DUSE_tMemTrack=1)
- ENABLE_TESTING()
-ELSE(AVD_CMAKE_UNIT_TESTS)
- REMOVE_DEFINITIONS(-DENABLE_UNIT_TESTS)
- REMOVE_DEFINITIONS(-DUSE_tMemTrack=1)
-ENDIF(AVD_CMAKE_UNIT_TESTS)
-
-
-IF(BUILD_AvidaSupportLibs)
- IF(EXISTS source/third-party/AvidaSupportLibs/CMakeLists.txt)
- ADD_SUBDIRECTORY(source/third-party/AvidaSupportLibs)
- ENDIF(EXISTS source/third-party/AvidaSupportLibs/CMakeLists.txt)
-ENDIF(BUILD_AvidaSupportLibs)
Added: branches/uml/HPC_CMakeLists.txt
===================================================================
--- branches/uml/HPC_CMakeLists.txt (rev 0)
+++ branches/uml/HPC_CMakeLists.txt 2007-08-25 17:39:54 UTC (rev 2010)
@@ -0,0 +1,630 @@
+PROJECT(AVIDA)
+
+# The following three variables must be after the PROJECT statement, otherwise
+# newer versions of cmake will (correctly) use an empty value of
+# PROJECT_BINARY_DIR, since the project didn't exist yet.
+
+# Default location for installed software/configs/ docs is the build directory.
+SET(CMAKE_INSTALL_PREFIX
+ "${PROJECT_BINARY_DIR}"
+ CACHE PATH
+ "Install path prefix, prepended onto install directories."
+ FORCE
+)
+
+# Final software is built directly into the work subdirectory.
+SET(EXECUTABLE_OUTPUT_PATH
+ "${PROJECT_BINARY_DIR}/bin"
+ CACHE PATH
+ "Single output directory for building all executables."
+)
+
+SET(LIBRARY_OUTPUT_PATH
+ "${PROJECT_BINARY_DIR}/lib"
+ CACHE PATH
+ "Built libraries are placed here before installation."
+)
+
+
+
+# This section defines default builtin compiler options
+# ------------------------------------------------------------------------------
+IF(UNIX)
+ INCLUDE_DIRECTORIES(/mnt/home/dk/include)
+
+ # Four types of c++ compilations:
+ # - debug (Debug)
+ # - minimum-size release (MinSizeRel)
+ # - release (Release)
+ # - release with debug info (RelWithDebInfo)
+ SET(CMAKE_CXX_FLAGS_DEBUG
+ "-g ${COMPILER_WARNING_FLAGS} -DDEBUG"
+ CACHE STRING "Flags used by the compiler during debug builds." FORCE)
+ SET(CMAKE_CXX_FLAGS_MINSIZEREL
+ "-Os ${COMPILER_WARNING_FLAGS} -DNDEBUG"
+ CACHE STRING "Flags used by the compiler during release minsize builds." FORCE)
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO
+ "-O2 -g ${COMPILER_OPTIMIZATION_FLAGS} ${COMPILER_WARNING_FLAGS} -DDEBUG"
+ CACHE STRING "Flags used by the compiler during release builds." FORCE)
+ SET(CMAKE_CXX_FLAGS_RELEASE
+ "-O3 ${COMPILER_OPTIMIZATION_FLAGS} ${COMPILER_WARNING_FLAGS} -DNDEBUG"
+ CACHE STRING "Flags used by the compiler during release builds." FORCE)
+ENDIF(UNIX)
+
+
+# Default build mode compiles c++ and c code with debug info and no
+# optimizations.
+IF(NOT CMAKE_BUILD_TYPE)
+ SET(CMAKE_BUILD_TYPE
+ Release
+ CACHE STRING
+ "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel."
+ FORCE
+ )
+ENDIF(NOT CMAKE_BUILD_TYPE)
+
+
+
+# Build Instructions for the Avida Core functionality
+# - Below are groups of sources, based on directory. Each appends the source
+# - files to the master AVIDA_CORE_SOURCES list that is used to build a
+# - static library that is linked into relevant targets.
+# ------------------------------------------------------------------------------
+SET(AVIDA_CORE_SOURCES)
+SET(ALL_INC_DIRS
+ ${PROJECT_SOURCE_DIR}/source
+)
+
+
+# The actions directory
+SET(ACTIONS_DIR ${PROJECT_SOURCE_DIR}/source/actions)
+SET(ACTIONS_SOURCES
+ ${ACTIONS_DIR}/cActionLibrary.cc
+ ${ACTIONS_DIR}/DriverActions.cc
+ ${ACTIONS_DIR}/EnvironmentActions.cc
+ ${ACTIONS_DIR}/LandscapeActions.cc
+ ${ACTIONS_DIR}/PopulationActions.cc
+ ${ACTIONS_DIR}/PrintActions.cc
+ ${ACTIONS_DIR}/SaveLoadActions.cc
+)
+SOURCE_GROUP(actions FILES ${ACTIONS_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${ACTIONS_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${ACTIONS_DIR})
+
+
+# The analyze directory
+SET(ANALYZE_DIR ${PROJECT_SOURCE_DIR}/source/analyze)
+SET(ANALYZE_SOURCES
+ ${ANALYZE_DIR}/cAnalyze.cc
+ ${ANALYZE_DIR}/cAnalyzeGenotype.cc
+ ${ANALYZE_DIR}/cAnalyzeJobQueue.cc
+ ${ANALYZE_DIR}/cAnalyzeJobWorker.cc
+ ${ANALYZE_DIR}/cMutationalNeighborhood.cc
+)
+SOURCE_GROUP(analyze FILES ${ANALYZE_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${ANALYZE_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${ANALYZE_DIR})
+
+
+# The classification directory
+SET(CLASSIFICATION_DIR ${PROJECT_SOURCE_DIR}/source/classification)
+SET(CLASSIFICATION_SOURCES
+ ${CLASSIFICATION_DIR}/cClassificationManager.cc
+ ${CLASSIFICATION_DIR}/cGenotype.cc
+ ${CLASSIFICATION_DIR}/cGenotype_BirthData.cc
+ ${CLASSIFICATION_DIR}/cGenotypeControl.cc
+ ${CLASSIFICATION_DIR}/cInjectGenotype.cc
+ ${CLASSIFICATION_DIR}/cInjectGenotypeControl.cc
+ ${CLASSIFICATION_DIR}/cInjectGenotypeQueue.cc
+ ${CLASSIFICATION_DIR}/cLineage.cc
+ ${CLASSIFICATION_DIR}/cSpecies.cc
+ ${CLASSIFICATION_DIR}/cSpeciesControl.cc
+ ${CLASSIFICATION_DIR}/cSpeciesQueue.cc
+)
+SOURCE_GROUP(classification FILES ${CLASSIFICATION_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${CLASSIFICATION_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${CLASSIFICATION_DIR})
+
+
+# The core viewer directory
+SET(COREVIEW_DIR ${PROJECT_SOURCE_DIR}/source/viewer-core)
+SET(COREVIEW_SOURCES
+ ${COREVIEW_DIR}/cCoreView_Info.cc
+)
+SOURCE_GROUP(coreview FILES ${COREVIEW_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${COREVIEW_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${COREVIEW_DIR})
+
+
+# The core GUI directory
+SET(COREGUI_DIR ${PROJECT_SOURCE_DIR}/source/viewer-coreGUI)
+SET(COREGUI_SOURCES
+ ${COREGUI_DIR}/cGUIDriver.cc
+)
+SOURCE_GROUP(coregui FILES ${COREGUI_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${COREGUI_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${COREGUI_DIR})
+
+
+# The cpu directory
+SET(CPU_DIR ${PROJECT_SOURCE_DIR}/source/cpu)
+SET(CPU_SOURCES
+ ${CPU_DIR}/cCodeLabel.cc
+ ${CPU_DIR}/cCPUMemory.cc
+ ${CPU_DIR}/cCPUStack.cc
+ ${CPU_DIR}/cCPUTestInfo.cc
+ ${CPU_DIR}/cHardwareBase.cc
+ ${CPU_DIR}/cHardwareCPU.cc
+ ${CPU_DIR}/cHardwareExperimental.cc
+ ${CPU_DIR}/cHardwareGX.cc
+ ${CPU_DIR}/cHardwareManager.cc
+ ${CPU_DIR}/cHardwareSMT.cc
+ ${CPU_DIR}/cHardwareStatusPrinter.cc
+ ${CPU_DIR}/cHardwareTransSMT.cc
+ ${CPU_DIR}/cHeadCPU.cc
+ ${CPU_DIR}/cInstSet.cc
+ ${CPU_DIR}/cTestCPU.cc
+ ${CPU_DIR}/cTestCPUInterface.cc
+)
+SOURCE_GROUP(cpu FILES ${CPU_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${CPU_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${CPU_DIR})
+
+
+# The drivers directory
+SET(DRIVERS_DIR ${PROJECT_SOURCE_DIR}/source/drivers)
+SET(DRIVERS_SOURCES
+ ${DRIVERS_DIR}/cDefaultAnalyzeDriver.cc
+ ${DRIVERS_DIR}/cDefaultRunDriver.cc
+ ${DRIVERS_DIR}/cDriverManager.cc
+ ${DRIVERS_DIR}/cFallbackWorldDriver.cc
+)
+SOURCE_GROUP(drivers FILES ${DRIVERS_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${DRIVERS_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${DRIVERS_DIR})
+
+
+# The main directory
+SET(MAIN_DIR ${PROJECT_SOURCE_DIR}/source/main)
+SET(MAIN_SOURCES
+ ${MAIN_DIR}/avida.cc
+ ${MAIN_DIR}/cAvidaConfig.cc
+ ${MAIN_DIR}/cBirthChamber.cc
+ ${MAIN_DIR}/cDeme.cc
+ ${MAIN_DIR}/cEnvironment.cc
+ ${MAIN_DIR}/cEventList.cc
+ ${MAIN_DIR}/cFitnessMatrix.cc
+ ${MAIN_DIR}/cGenome.cc
+ ${MAIN_DIR}/cGenomeUtil.cc
+ ${MAIN_DIR}/cInstruction.cc
+ ${MAIN_DIR}/cLandscape.cc
+ ${MAIN_DIR}/cLocalMutations.cc
+ ${MAIN_DIR}/cMutationLib.cc
+ ${MAIN_DIR}/cMutationRates.cc
+ ${MAIN_DIR}/cMxCodeArray.cc
+ ${MAIN_DIR}/cOrganism.cc
+ ${MAIN_DIR}/cPhenotype.cc
+ ${MAIN_DIR}/cPopulation.cc
+ ${MAIN_DIR}/cPopulationCell.cc
+ ${MAIN_DIR}/cPopulationInterface.cc
+ ${MAIN_DIR}/cReaction.cc
+ ${MAIN_DIR}/cReactionLib.cc
+ ${MAIN_DIR}/cReactionResult.cc
+ ${MAIN_DIR}/cResource.cc
+ ${MAIN_DIR}/cResourceCount.cc
+ ${MAIN_DIR}/cResourceLib.cc
+ ${MAIN_DIR}/cSpatialCountElem.cc
+ ${MAIN_DIR}/cSpatialResCount.cc
+ ${MAIN_DIR}/cUMLModel.cc
+ ${MAIN_DIR}/cUMLStateDiagram.cc
+ ${MAIN_DIR}/cStats.cc
+ ${MAIN_DIR}/cTaskLib.cc
+ ${MAIN_DIR}/cWorld.cc
+)
+SOURCE_GROUP(main FILES ${MAIN_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${MAIN_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${MAIN_DIR})
+
+
+# The platform directory
+SET(PLATFORM_DIR ${PROJECT_SOURCE_DIR}/source/platform)
+SET(PLATFORM_SOURCES
+ ${PLATFORM_DIR}/cThread.cc
+ ${PLATFORM_DIR}/PlatformExpert.cc
+)
+LIST(APPEND AVIDA_CORE_SOURCES ${PLATFORM_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${PLATFORM_DIR})
+
+
+# The tools directory
+SET(TOOLS_DIR ${PROJECT_SOURCE_DIR}/source/tools)
+SET(TOOLS_SOURCES
+ ${TOOLS_DIR}/cArgContainer.cc
+ ${TOOLS_DIR}/cArgSchema.cc
+ ${TOOLS_DIR}/cChangeList.cc
+ ${TOOLS_DIR}/cConstSchedule.cc
+ ${TOOLS_DIR}/cDataEntry.cc
+ ${TOOLS_DIR}/cDataFile.cc
+ ${TOOLS_DIR}/cDataFileManager.cc
+ ${TOOLS_DIR}/cDataManager_Base.cc
+ ${TOOLS_DIR}/cDefaultMessageDisplay.cc
+ ${TOOLS_DIR}/cDoubleSum.cc
+ ${TOOLS_DIR}/cFile.cc
+ ${TOOLS_DIR}/cHelpAlias.cc
+ ${TOOLS_DIR}/cHelpManager.cc
+ ${TOOLS_DIR}/cHelpType.cc
+ ${TOOLS_DIR}/cHistogram.cc
+ ${TOOLS_DIR}/cInitFile.cc
+ ${TOOLS_DIR}/cIntSum.cc
+ ${TOOLS_DIR}/cIntegratedSchedule.cc
+ ${TOOLS_DIR}/cIntegratedScheduleNode.cc
+ ${TOOLS_DIR}/cMerit.cc
+ ${TOOLS_DIR}/cProbSchedule.cc
+ ${TOOLS_DIR}/cRandom.cc
+ ${TOOLS_DIR}/cRunningAverage.cc
+ ${TOOLS_DIR}/cSchedule.cc
+ ${TOOLS_DIR}/cString.cc
+ ${TOOLS_DIR}/cStringIterator.cc
+ ${TOOLS_DIR}/cStringList.cc
+ ${TOOLS_DIR}/cStringUtil.cc
+ ${TOOLS_DIR}/cTools.cc
+ ${TOOLS_DIR}/cWeightedIndex.cc
+)
+SOURCE_GROUP(tools FILES ${TOOLS_SOURCES})
+LIST(APPEND AVIDA_CORE_SOURCES ${TOOLS_SOURCES})
+LIST(APPEND ALL_INC_DIRS ${TOOLS_DIR})
+
+
+# Create the static library from the master source list
+INCLUDE_DIRECTORIES(${ALL_INC_DIRS})
+ADD_LIBRARY(avidacore ${AVIDA_CORE_SOURCES})
+
+
+
+# Build Instructions for the TCMalloc library
+# ------------------------------------------------------------------------------
+IF(UNIX)
+ SET(AVD_ENABLE_TCMALLOC TRUE)
+ELSE(UNIX)
+ SET(AVD_ENABLE_TCMALLOC FALSE)
+ENDIF(UNIX)
+IF(AVD_ENABLE_TCMALLOC)
+ SET(TCMALLOC_DIR source/platform/tcmalloc)
+ SET(TCMALLOC_SOURCES
+ ${TCMALLOC_DIR}/system-alloc.cc
+ ${TCMALLOC_DIR}/tcmalloc-logging.cc
+ ${TCMALLOC_DIR}/tcmalloc.cc
+ )
+ ADD_LIBRARY(tcmalloc ${TCMALLOC_SOURCES})
+ENDIF(AVD_ENABLE_TCMALLOC)
+
+
+
+# Target Processing
+# - For each enabled target, process its build instructions. Must occur after
+# - avidacore has been defined.
+# ------------------------------------------------------------------------------
+OPTION(AVD_CMDLINE
+ "Enable building standard command line Avida (fastest version)."
+ ON
+)
+IF(AVD_CMDLINE)
+ SET(AVIDA_CMDLINE_DIR source/targets/avida)
+ SET(AVIDA_CMDLINE_SOURCES ${AVIDA_CMDLINE_DIR}/primitive.cc)
+ SOURCE_GROUP(target\\avida FILES ${AVIDA_CMDLINE_SOURCES})
+ ADD_EXECUTABLE(avida ${AVIDA_CMDLINE_SOURCES})
+
+ SET(AVIDA_CMDLINE_LIBS avidacore)
+ IF(NOT MSVC)
+ LIST(APPEND AVIDA_CMDLINE_LIBS pthread)
+ ENDIF(NOT MSVC)
+ IF(AVD_ENABLE_TCMALLOC)
+ LIST(APPEND AVIDA_CMDLINE_LIBS tcmalloc)
+ ENDIF(AVD_ENABLE_TCMALLOC)
+ TARGET_LINK_LIBRARIES(avida ${AVIDA_CMDLINE_LIBS})
+
+ INSTALL_TARGETS(/work avida)
+ENDIF(AVD_CMDLINE)
+
+
+# By default, do not build the console interface to Avida.
+OPTION(AVD_GUI_NCURSES
+ "Enable building Avida console interface."
+ OFF
+)
+# Make sure requisites are present for build of console interface. Give
+# user feedback if they're missing.
+IF(AVD_GUI_NCURSES)
+ # Locate the ncurses screen handling package (for Avida's console
+ # interface) and the Qt graphics API (for Avida's graphic interface).
+ INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/FindNcurses.cmake)
+ IF(NOT NCURSES_INCLUDE_PATH)
+ MESSAGE("Unable to locate header files for the ncurses CRT screen handling package. Please set the advanced variable NCURSES_INCLUDE_PATH to their location.")
+ ENDIF(NOT NCURSES_INCLUDE_PATH)
+ IF(NOT NCURSES_LIBRARY)
+ MESSAGE("Unable to locate 'libncurses'. Please set the advanced variable NCURSES_LIBRARY to its location.")
+ ENDIF(NOT NCURSES_LIBRARY)
+
+ IF(NCURSES_LIBRARY AND NCURSES_INCLUDE_PATH)
+
+ INCLUDE_DIRECTORIES(${NCURSES_INCLUDE_PATH})
+
+ SET(AVIDA_VIEWER_DIR source/targets/avida-viewer)
+ SET(AVIDA_VIEWER_SOURCES
+ ${AVIDA_VIEWER_DIR}/cAnalyzeScreen.cc
+ ${AVIDA_VIEWER_DIR}/cAnalyzeView.cc
+ ${AVIDA_VIEWER_DIR}/cBarScreen.cc
+ ${AVIDA_VIEWER_DIR}/cEnvironmentScreen.cc
+ ${AVIDA_VIEWER_DIR}/cHistScreen.cc
+ ${AVIDA_VIEWER_DIR}/cMapScreen.cc
+ ${AVIDA_VIEWER_DIR}/cMenuWindow.cc
+ ${AVIDA_VIEWER_DIR}/cOptionsScreen.cc
+ ${AVIDA_VIEWER_DIR}/cScreen.cc
+ ${AVIDA_VIEWER_DIR}/cStatsScreen.cc
+ ${AVIDA_VIEWER_DIR}/cSymbolUtil.cc
+ ${AVIDA_VIEWER_DIR}/cTextViewerAnalyzeDriver.cc
+ ${AVIDA_VIEWER_DIR}/cTextViewerDriver.cc
+ ${AVIDA_VIEWER_DIR}/cTextViewerDriver_Base.cc
+ ${AVIDA_VIEWER_DIR}/cTextWindow.cc
+ ${AVIDA_VIEWER_DIR}/cView.cc
+ ${AVIDA_VIEWER_DIR}/cViewInfo.cc
+ ${AVIDA_VIEWER_DIR}/cZoomScreen.cc
+ ${AVIDA_VIEWER_DIR}/viewer.cc
+ )
+ SOURCE_GROUP(targets\\avida-viewer FILES ${AVIDA_VIEWER_SOURCES})
+ ADD_EXECUTABLE(avida-viewer ${AVIDA_VIEWER_SOURCES})
+
+ SET(AVIDA_VIEWER_LIBS avidacore ${NCURSES_LIBRARY})
+ IF(NOT MSVC)
+ LIST(APPEND AVIDA_VIEWER_LIBS pthread)
+ ENDIF(NOT MSVC)
+ IF(AVD_ENABLE_TCMALLOC)
+ LIST(APPEND AVIDA_VIEWER_LIBS tcmalloc)
+ ENDIF(AVD_ENABLE_TCMALLOC)
+ TARGET_LINK_LIBRARIES(avida-viewer ${AVIDA_VIEWER_LIBS})
+
+ INSTALL_TARGETS(/work avida-viewer)
+
+ ENDIF(NCURSES_LIBRARY AND NCURSES_INCLUDE_PATH)
+ENDIF(AVD_GUI_NCURSES)
+
+
+
+# By default, do not build the console interface to Avida.
+OPTION(AVD_GUI_PROTO_TEXT
+ "Enable building new Avida text interface."
+ OFF
+)
+# Make sure requisites are present for build of console interface. Give
+# user feedback if they're missing.
+IF(AVD_GUI_PROTO_TEXT)
+ # Locate the ncurses screen handling package (for Avida's console
+ # interface) and the Qt graphics API (for Avida's graphic interface).
+ INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/FindNcurses.cmake)
+ IF(NOT NCURSES_INCLUDE_PATH)
+ MESSAGE("Unable to locate header files for the ncurses CRT screen handling package. Please set the advanced variable NCURSES_INCLUDE_PATH to their location.")
+ ENDIF(NOT NCURSES_INCLUDE_PATH)
+ IF(NOT NCURSES_LIBRARY)
+ MESSAGE("Unable to locate 'libncurses'. Please set the advanced variable NCURSES_LIBRARY to its location.")
+ ENDIF(NOT NCURSES_LIBRARY)
+
+ IF(NCURSES_LIBRARY AND NCURSES_INCLUDE_PATH)
+
+ INCLUDE_DIRECTORIES(${NCURSES_INCLUDE_PATH})
+
+ SET(AVIDA_TEXT_VIEWER_DIR source/targets/viewer-text)
+ SET(AVIDA_TEXT_VIEWER_SOURCES
+# ${AVIDA_TEXT_VIEWER_DIR}/cAnalyzeScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cAnalyzeView.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cBarScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cEnvironmentScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cHistScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cMapScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cMenuWindow.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cOptionsScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cStatsScreen.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cSymbolUtil.cc
+ ${AVIDA_TEXT_VIEWER_DIR}/cTextWindow.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cView.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cViewInfo.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cZoomScreen.cc
+ ${AVIDA_TEXT_VIEWER_DIR}/cDriver_TextViewer.cc
+# ${AVIDA_TEXT_VIEWER_DIR}/cTextViewerManager.cc
+ ${AVIDA_TEXT_VIEWER_DIR}/viewer-text.cc
+ )
+ SOURCE_GROUP(targets\\viewer-text FILES ${AVIDA_TEXT_VIEWER_SOURCES})
+ ADD_EXECUTABLE(avida-textview ${AVIDA_TEXT_VIEWER_SOURCES})
+
+ SET(AVIDA_TEXT_VIEWER_LIBS avidacore ${NCURSES_LIBRARY})
+ IF(NOT MSVC)
+ LIST(APPEND AVIDA_TEXT_VIEWER_LIBS pthread)
+ ENDIF(NOT MSVC)
+ IF(AVD_ENABLE_TCMALLOC)
+ LIST(APPEND AVIDA_TEXT_VIEWER_LIBS tcmalloc)
+ ENDIF(AVD_ENABLE_TCMALLOC)
+ TARGET_LINK_LIBRARIES(avida-textview ${AVIDA_TEXT_VIEWER_LIBS})
+
+ INSTALL_TARGETS(/work avida-textview)
+
+ ENDIF(NCURSES_LIBRARY AND NCURSES_INCLUDE_PATH)
+ENDIF(AVD_GUI_PROTO_TEXT)
+
+
+
+# By default, do not build the console interface to Avida.
+OPTION(AVD_GUI_PROTO_FLTK
+ "Enable building new Avida FLTK graphical interface."
+ OFF
+)
+# Make sure requisites are present for build of console interface. Give
+# user feedback if they're missing.
+IF(AVD_GUI_PROTO_FLTK)
+ # Locate the fltk GUI package
+ INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/FindFLTK.cmake)
+ IF(NOT FLTK_INCLUDE_PATH)
+ MESSAGE("Unable to locate header files for the FLTK graphics package. Please set the advanced variable FLTK_INCLUDE_PATH to their location.")
+ ENDIF(NOT FLTK_INCLUDE_PATH)
+ IF(NOT FLTK_BASE_LIBRARY)
+ MESSAGE("Unable to locate 'fltk.lib'. Please set the advanced variable FLTK_BASE_LIBRARY to its location.")
+ ENDIF(NOT FLTK_BASE_LIBRARY)
+
+ IF(FLTK_BASE_LIBRARY AND FLTK_INCLUDE_PATH)
+
+ INCLUDE_DIRECTORIES(${FLTK_INCLUDE_PATH})
+
+ SET(AVIDA_FLTK_VIEWER_DIR source/targets/viewer-fltk)
+ SET(AVIDA_FLTK_VIEWER_SOURCES
+ ${AVIDA_FLTK_VIEWER_DIR}/cDriver_FltkViewer.cc
+ ${AVIDA_FLTK_VIEWER_DIR}/viewer-fltk.cc
+ )
+ SOURCE_GROUP(targets\\viewer-fltk FILES ${AVIDA_FLTK_VIEWER_SOURCES})
+ ADD_EXECUTABLE(avida-fltkview ${AVIDA_FLTK_VIEWER_SOURCES})
+
+ SET(AVIDA_FLTK_VIEWER_LIBS avidacore ${FLTK_BASE_LIBRARY})
+ IF(NOT MSVC)
+ LIST(APPEND AVIDA_FLTK_VIEWER_LIBS pthread)
+ ENDIF(NOT MSVC)
+ IF(AVD_ENABLE_TCMALLOC)
+ LIST(APPEND AVIDA_FLTK_VIEWER_LIBS tcmalloc)
+ ENDIF(AVD_ENABLE_TCMALLOC)
+ TARGET_LINK_LIBRARIES(avida-fltkview ${AVIDA_FLTK_VIEWER_LIBS})
+ SET_TARGET_PROPERTIES(avida-fltkview PROPERTIES LINK_FLAGS ${FLTK_PLATFORM_DEPENDENT_LIBS})
+
+ INSTALL_TARGETS(/work avida-fltkview)
+
+ ENDIF(FLTK_BASE_LIBRARY AND FLTK_INCLUDE_PATH)
+ENDIF(AVD_GUI_PROTO_FLTK)
+
+
+
+OPTION(AVD_TASK_EVENT_GEN
+ "Enable building the task_event_gen utility"
+ OFF
+)
+IF(AVD_TASK_EVENT_GEN)
+ SET(UTILS_DIR source/utils)
+ SET(TASK_EVENT_GEN_SOURCES
+ ${TOOLS_DIR}/cFile.cc
+ ${TOOLS_DIR}/cRandom.cc
+ ${TOOLS_DIR}/cString.cc
+ ${TOOLS_DIR}/cInitFIle.cc
+ ${TOOLS_DIR}/cStringIterator.cc
+ ${TOOLS_DIR}/cStringList.cc
+ ${UTILS_DIR}/task_events/task_event_gen.cc
+ )
+ ADD_EXECUTABLE(task_event_gen ${TASK_EVENT_GEN_SOURCES})
+ INSTALL_TARGETS(/work task_event_gen)
+ENDIF(AVD_TASK_EVENT_GEN)
+
+
+OPTION(AVD_UNIT_TESTS
+ "Enable the unit-tests executable. Running this target will test various low level functionality."
+ OFF
+)
+IF(AVD_UNIT_TESTS)
+ SET(UNIT_TESTS_DIR source/targets/unit-tests)
+ SET(UNIT_TESTS_SOURCES
+ ${UNIT_TESTS_DIR}/main.cc
+ )
+ ADD_EXECUTABLE(unit-tests ${UNIT_TESTS_SOURCES})
+ INSTALL_TARGETS(/work unit-tests)
+ENDIF(AVD_UNIT_TESTS)
+
+
+# Default Configuration Files
+# - Installed into the work directory alongside selected targets
+# ------------------------------------------------------------------------------
+SET(CFG_FILES_DIR support/config)
+SET(CFG_FILES
+ ${CFG_FILES_DIR}/analyze.cfg
+ ${CFG_FILES_DIR}/avida.cfg
+ ${CFG_FILES_DIR}/environment.cfg
+ ${CFG_FILES_DIR}/events.cfg
+ ${CFG_FILES_DIR}/instset-classic.cfg
+ ${CFG_FILES_DIR}/instset-sex-classic.cfg
+ ${CFG_FILES_DIR}/instset-smt.cfg
+ ${CFG_FILES_DIR}/instset-transsmt.cfg
+ ${CFG_FILES_DIR}/default-classic.org
+ ${CFG_FILES_DIR}/default-sex-classic.org
+ ${CFG_FILES_DIR}/default-smt.org
+ ${CFG_FILES_DIR}/default-transsmt.org
+)
+INSTALL_FILES(/work FILES ${CFG_FILES})
+
+
+
+# Avida-ED Related
+# ------------------------------------------------------------------------------
+
+OPTION(AVD_GUI_PYQT
+ "Enable the PyQt GUI interface. (EXPERIMENTAL)"
+ OFF
+)
+IF(AVD_GUI_PYQT)
+ SET(AVD_PY_BINDINGS ON CACHE BOOL "Avida Python Bindings MUST be built for the PyQt GUI." FORCE)
+ FIND_PROGRAM(PYUIC pyuic DOC "Path to pyuic. Used to compile python files from .ui files.")
+ENDIF(AVD_GUI_PYQT)
+
+
+# Experimental Boost.Python interface to avida is disabled by default.
+OPTION(AVD_PY_BINDINGS
+ "Enable Python interface to Avida. (EXPERIMENTAL)"
+ OFF
+)
+IF(AVD_PY_BINDINGS)
+ INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/avdFindPython.cmake)
+ AVD_FIND_PYTHON(2.4 /Library/Frameworks)
+ SET( BOOST_VERSION "1_32" CACHE STRING "Version of Boost Library to use")
+ FIND_LIBRARY(
+ BOOST_LIBRARY
+ NAMES
+ boost_python-${BOOST_VERSION}
+ boost_python
+ PATHS
+ /usr/local/lib
+ DOC "Path where the Boost Python Library can be found"
+ )
+ FIND_PATH(
+ BOOST_INCLUDE_PATH
+ boost/python/def.hpp
+ /usr/local/include
+ /usr/local/include/boost
+ /usr/local/include/boost-${BOOST_VERSION}
+ DOC "Path where the Boost Python header files can be found"
+ )
+ FIND_PROGRAM(
+ GCCXML
+ gccxml
+ DOC "gccxml must be in the search path specified by your PATH environment variable in order for pyste to operate"
+ )
+ SET(UNIT_TESTS TRUE)
+
+ ADD_SUBDIRECTORY(source/bindings)
+ ADD_SUBDIRECTORY(source/python)
+ENDIF(AVD_PY_BINDINGS)
+
+
+# By default, compile all unit tests of primitive Avida classes. Tests
+# are run via 'make test' under unix.
+OPTION(AVD_CMAKE_UNIT_TESTS
+ "Enable building primitive unit test suites."
+ OFF
+)
+IF(AVD_CMAKE_UNIT_TESTS)
+ SET(UNIT_TESTS TRUE)
+ INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
+ ADD_DEFINITIONS(-DENABLE_UNIT_TESTS)
+ ADD_DEFINITIONS(-DUSE_tMemTrack=1)
+ ENABLE_TESTING()
+ELSE(AVD_CMAKE_UNIT_TESTS)
+ REMOVE_DEFINITIONS(-DENABLE_UNIT_TESTS)
+ REMOVE_DEFINITIONS(-DUSE_tMemTrack=1)
+ENDIF(AVD_CMAKE_UNIT_TESTS)
+
+
+IF(BUILD_AvidaSupportLibs)
+ IF(EXISTS source/third-party/AvidaSupportLibs/CMakeLists.txt)
+ ADD_SUBDIRECTORY(source/third-party/AvidaSupportLibs)
+ ENDIF(EXISTS source/third-party/AvidaSupportLibs/CMakeLists.txt)
+ENDIF(BUILD_AvidaSupportLibs)
Modified: branches/uml/build_avida
===================================================================
--- branches/uml/build_avida 2007-08-25 17:25:58 UTC (rev 2009)
+++ branches/uml/build_avida 2007-08-25 17:39:54 UTC (rev 2010)
@@ -1,5 +1,6 @@
-#!/bin/sh
+#!/bin/bash
+cp Alice_CMakeLists.txt CMakeLists.txt
mkdir -p cbuild
cd cbuild
cmake "$@" ../
Added: branches/uml/hpc_build_avida
===================================================================
--- branches/uml/hpc_build_avida (rev 0)
+++ branches/uml/hpc_build_avida 2007-08-25 17:39:54 UTC (rev 2010)
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+module unload ps25
+module unload intelcc
+module load gnu
+cp HPC_CMakeLists.txt CMakeLists.txt
+mkdir -p cbuild
+cd cbuild
+cmake "$@" ../
+make
+make install
Property changes on: branches/uml/hpc_build_avida
___________________________________________________________________
Name: svn:executable
+ *
More information about the Avida-cvs
mailing list