[avida-cvs] avida CVS commits: /current CMakeLists.txt /current/CMakeModules FindNcurses.cmake FixFindQt.cmake TargetDistclean.cmake /current/CMakeModules/Templates AppleInfo.plist /current/doc CMakeLists.txt /current/doc/glossary CMakeLists.txt /current/source CMakeLists.txt modules.pri /current/source/cpu CMakeLists.txt /current/source/event CMakeLists.txt /current/source/main CMakeLists.txt /current/source/qt-viewer CMakeLists.txt Makefile.am avida.pro /current/source/support CMakeLists.txt /current/source/support/preset_organisms CMakeLists.txt /current/source/testsuites CMakeLists.txt /current/source/testsuites/unit_testsuites CMakeLists.txt /current/source/testsuites/unit_testsuites/level_0 CMakeLists.txt /current/source/testsuites/unit_testsuites/level_1 CMakeLists.txt /current/source/third-party CMakeLists.txt /current/source/third-party/trio CMakeLists.txt /current/source/third-party/yaktest CMakeLists.txt /current/source/tools CMakeLists.txt /current/source/viewers CMakeLists.txt

kaben avida-cvs at alife.org
Sat Dec 6 18:01:13 PST 2003


kaben		Sat Dec  6 10:01:13 2003 EDT

  Added files:                 
    /avida/current	CMakeLists.txt 
    /avida/current/CMakeModules	FindNcurses.cmake FixFindQt.cmake 
                               	TargetDistclean.cmake 
    /avida/current/CMakeModules/Templates	AppleInfo.plist 
    /avida/current/doc	CMakeLists.txt 
    /avida/current/doc/glossary	CMakeLists.txt 
    /avida/current/source	CMakeLists.txt 
    /avida/current/source/cpu	CMakeLists.txt 
    /avida/current/source/event	CMakeLists.txt 
    /avida/current/source/main	CMakeLists.txt 
    /avida/current/source/qt-viewer	CMakeLists.txt 
    /avida/current/source/support	CMakeLists.txt 
    /avida/current/source/support/preset_organisms	CMakeLists.txt 
    /avida/current/source/testsuites	CMakeLists.txt 
    /avida/current/source/testsuites/unit_testsuites	CMakeLists.txt 
    /avida/current/source/testsuites/unit_testsuites/level_0	
                                                            	CMakeLists.txt 
    /avida/current/source/testsuites/unit_testsuites/level_1	
                                                            	CMakeLists.txt 
    /avida/current/source/third-party	CMakeLists.txt 
    /avida/current/source/third-party/trio	CMakeLists.txt 
    /avida/current/source/third-party/yaktest	CMakeLists.txt 
    /avida/current/source/tools	CMakeLists.txt 
    /avida/current/source/viewers	CMakeLists.txt 

  Modified files:              
    /avida/current/source	modules.pri 
    /avida/current/source/qt-viewer	Makefile.am avida.pro 
  Log:
  
  Adding support for CMake build system (see www.cmake.org).
  
  
  
-------------- next part --------------
Index: avida/current/source/modules.pri
diff -u avida/current/source/modules.pri:1.6 avida/current/source/modules.pri:1.7
--- avida/current/source/modules.pri:1.6	Tue Nov 25 11:43:47 2003
+++ avida/current/source/modules.pri	Sat Dec  6 10:00:58 2003
@@ -33,5 +33,5 @@
 include($$MAIN_CC/main_sub.pri)
 include($$TRIO_C/trio.pri)
 include($$TOOLS_CC/tools.pri)
-include($$SUPPORT_CC/support.pri)
-include($$DOC_CC/doc.pri)
+#include($$SUPPORT_CC/support.pri)
+#include($$DOC_CC/doc.pri)
Index: avida/current/source/qt-viewer/Makefile.am
diff -u avida/current/source/qt-viewer/Makefile.am:1.51 avida/current/source/qt-viewer/Makefile.am:1.52
--- avida/current/source/qt-viewer/Makefile.am:1.51	Tue Nov 25 11:43:48 2003
+++ avida/current/source/qt-viewer/Makefile.am	Sat Dec  6 10:01:00 2003
@@ -3,12 +3,13 @@
 
 BUILT_SOURCES = qt-viewer.qmakefile
 
-QMAKE_OPTIONS=
+QMAKE_OPTIONS=-Wall
 
 if QMAKE_DEBUG
 QMAKE_OPTIONS+="CONFIG*=debug"
 QMAKE_OPTIONS+="DEFINES+=DEBUG"
 else
+QMAKE_OPTIONS+="CONFIG*=release"
 QMAKE_OPTIONS+="DEFINES+=NDEBUG"
 endif
 
@@ -27,27 +28,33 @@
 
 SUFFIXES = .cc
 
-$(bin_PROGRAMS:%=%.qmakefile): Makefile
-.pro.qmakefile:
-	test x$(QMAKE) = x && (echo "can't continue; QMAKE unset."; exit 1) \
-	|| $(QMAKE) $(QMAKE_OPTIONS) -o $@ $<
-mostlyclean-local: $(bin_PROGRAMS:%=%.qmakefile)
-	for file in $<; do echo $$file; done
-	make -f qt-viewer.qmakefile clean
-clean-local: $(bin_PROGRAMS:%=%.qmakefile)
-	for file in $<; do echo $$file; done
-	make -f qt-viewer.qmakefile distclean
-distclean-local:
-	rm -f qt-viewer.qmakefile
-.PHONY: FORCE
+#QMAKE_TARGETS = avida qt-viewer libqtviewer
+QMAKE_TARGETS = avida libqtviewer
+
+#bin_PROGRAMS = avida qt-viewer
+bin_PROGRAMS = avida
+avida: avida.qmakefile cPopulation_enums_auto.ci libqtviewer.a
+	${MAKE} -f $<
+qt-viewer: qt-viewer.qmakefile cPopulation_enums_auto.ci
+	${MAKE} -f $<
+
+noinst_LIBRARIES = libqtviewer.a
+libqtviewer.a: libqtviewer.qmakefile cPopulation_enums_auto.ci
+	${MAKE} -f $<
 
 cPopulation_enums_auto.ci: $(srcdir)/../event/cPopulation.events
 	perl $(srcdir)/../event/make_events.pl $(<:%.events=%)
 
-avida: avida.qmakefile cPopulation_enums_auto.ci FORCE
-	${MAKE} -f avida.qmakefile
-
-bin_PROGRAMS = avida
+$(QMAKE_TARGETS:%=%.qmakefile): Makefile
+.pro.qmakefile:
+	test x$(QMAKE) = x && (echo "can't continue; QMAKE unset."; exit 1) \
+	|| $(QMAKE) $(QMAKE_OPTIONS) -o $@ $<
+mostlyclean-local: $(QMAKE_TARGETS:%=%.qmakefile)
+	for file in $^; do make -f $$file clean; done
+clean-local: $(QMAKE_TARGETS:%=%.qmakefile)
+	for file in $^; do make -f $$file distclean; done
+distclean-local:
+	rm -f $(QMAKE_TARGETS:%=%.qmakefile)
 
 CLEANFILES = cPopulation_enums_auto.ci 		\
 	cPopulation_name2enum_auto.ci  		\
Index: avida/current/source/qt-viewer/avida.pro
diff -u avida/current/source/qt-viewer/avida.pro:1.1 avida/current/source/qt-viewer/avida.pro:1.2
--- avida/current/source/qt-viewer/avida.pro:1.1	Tue Nov 25 12:28:33 2003
+++ avida/current/source/qt-viewer/avida.pro	Sat Dec  6 10:01:00 2003
@@ -20,129 +20,5 @@
 OBJECTS_DIR = objs
 MOC_DIR 	= moc
 
-include($$AVIDA_SRC_DIR/modules.pri)
-
-HEADERS +=  \
-            avd_mission_control.hh \
-            avd_driver_controller.hh \
-            avd_avida_driver.hh \
-            avd_help_controller.hh \
-            avd_help_viewer.hh \
-            avd_message_queue.hh \
-            avd_message_queue_hdrs.hh \
-            avd_plot_viewer_controller.hh \
-            avd_main_window_controller.hh \
-            avd_main_window.hh \
-            map_view.hh \
-            map_view_widget.hh \
-            map_view_cell_entry.hh \
-            color_scale_widget.hh \
-            avd_instruction_viewer_controller.hh \
-            n_orig_instruction_buttons_widget.hh \
-            n_orig_instruction_cpu_widget.hh \
-            n_orig_instruction_field_widget.hh \
-            n_orig_instruction_line_pixmap_pair.hh \
-            n_orig_instruction_line_widget.hh \
-            n_orig_instruction_pixmapstructs.hh \
-            n_orig_instruction_scrollview.hh \
-            n_orig_instruction_scrollview_config.hh \
-            n_orig_instruction_view_widget.hh \
-            n_orig_instruction_viewer.hh \
-            population_cell_wrapper.hh \
-            population_cell_wrapped_accessors.hh \
-            double_slider.hh \
-            avd_gui_msg_event.hh \
-            messaging_population_wrapper.hh \
-            population_wrapper.hh \
-	          avida_data.hh \
-	          avida_plot_widget.hh \
-	          plot_select_dia_impl.hh \
-	          plot_widget.hh \
-            avd_event_viewer_controller.hh \
-            event_view_widget.hh \
-            avd_godbox_controller.hh \
-	          godbox_widget2.hh \
-            godbox2.hh \
-            apocalypse_widget.hh \
-            avd_rate_validator2.hh \
-            avd_lograte_widget.hh \
-            avd_rate_slider2.hh \
-            repopulate_widget.hh \
-            \
-            setup_avida.hh \
-            setup_file.hh \
-            setup_genesis.hh \
-            setup_wizard.hh \
-            setup_wizard2.hh \
-            setup_wizard_config.hh \
-            setup_wizard_constants.hh \
-            setup_wizard_page.hh \
-            setup_wizard_page2.hh \
-            testwizard.hh
-
-INTERFACES += \
-            event_chooser.ui \
-            event_list_editor.ui \
-            plot_select_dia.ui \
-            godbox.ui \
-            \
-            wizard.ui
-
-SOURCES +=  \
-            avd_mission_control.cc \
-            avd_driver_controller.cc \
-            avd_avida_driver.cc \
-            avd_help_controller.cc \
-            avd_help_viewer.cc \
-            avd_plot_viewer_controller.cc \
-            avd_main_window_controller.cc \
-            avd_main_window.cc \
-            map_view.cc \
-            map_view_widget.cc \
-            map_view_cell_entry.cc \
-            color_scale_widget.cc \
-            double_slider.cc \
-            avd_instruction_viewer_controller.cc \
-            n_orig_instruction_buttons_widget.cc \
-            n_orig_instruction_cpu_widget.cc \
-            n_orig_instruction_field_widget.cc \
-            n_orig_instruction_line_pixmap_pair.cc \
-            n_orig_instruction_line_widget.cc \
-            n_orig_instruction_pixmapstructs.cc \
-            n_orig_instruction_scrollview.cc \
-            n_orig_instruction_scrollview_config.cc \
-            n_orig_instruction_view_widget.cc \
-            n_orig_instruction_viewer.cc \
-            population_cell_wrapper.cc \
-            population_cell_wrapped_accessors.cc \
-            gui_message_display.cc \
-            messaging_population_wrapper.cc \
-	          avida_data.cc \
-	          avida_plot_widget.cc \
-	          plot_select_dia_impl.cc \
-	          plot_widget.cc \
-            avd_event_viewer_controller.cc \
-            event_view_widget.cc \
-            avd_godbox_controller.cc \
-	          godbox_widget2.cc \
-	          godbox2.cc \
-            apocalypse_widget.cc \
-            avd_rate_validator2.cc \
-            avd_lograte_widget.cc \
-            avd_rate_slider2.cc \
-            repopulate_widget.cc \
-	          main.cc \
-            setup_avida.cc \
-            \
-            testwizard.cc \
-            testwizard_loadgen.cc \
-            testwizard_validators.cc \
-            setup_file.cc \
-            setup_genesis.cc \
-            setup_wizard.cc \
-            setup_wizard2.cc \
-            setup_wizard_config.cc \
-            setup_wizard_constants.cc \
-            setup_wizard_page.cc \
-            setup_wizard_page2.cc
-
+SOURCES += main.cc
+LIBS += -L. -lqtviewer

Index: avida/current/CMakeLists.txt
+++ avida/current/CMakeLists.txt

# CMake doesn't have a 'distclean' build target.  This provides a
# makeshift distclean, but it doesn't recurse into subdirectories.

INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/TargetDistclean.cmake)


# This section defines default configure options.

IF(UNIX)

  # Four types of c++ compilations:
  # - debug (Debug)
  # - minimum-size release (MinSizeRel)
  # - release (Release)
  # - release with debug info (RelWithDebInfo)
  SET(CMAKE_CXX_FLAGS_DEBUG
    "-g -Wall -pedantic -DDEBUG"
    CACHE STRING
    "Flags used by the compiler during debug builds."
  )
  SET(CMAKE_CXX_FLAGS_MINSIZEREL
    "-Os -DNDEBUG"
    CACHE STRING
    "Flags used by the compiler during release minsize builds."
  )
  SET(CMAKE_CXX_FLAGS_RELEASE
    "-O3 -ffast-math -DNDEBUG"
    CACHE STRING
    "Flags used by the compiler during release builds."
  )
  SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO
    "-O2 -ffast-math -g -Wall -DDEBUG"
    CACHE STRING
    "Flags used by the compiler during release builds."
  )

  # Four types of c compilations:
  # - debug (Debug)
  # - minimum-size release (MinSizeRel)
  # - release (Release)
  # - release with debug info (RelWithDebInfo)
  SET(CMAKE_C_FLAGS_DEBUG
    "-g -Wall -pedantic -DDEBUG"
    CACHE STRING
    "Flags used by the compiler during debug builds."
  )
  SET(CMAKE_C_FLAGS_MINSIZEREL
    "-Os -DNDEBUG"
    CACHE STRING
    "Flags used by the compiler during release minsize builds."
  )
  SET(CMAKE_C_FLAGS_RELEASE
    "-O3 -ffast-math -DNDEBUG"
    CACHE STRING
    "Flags used by the compiler during release builds."
  )
  SET(CMAKE_C_FLAGS_RELWITHDEBINFO
    "-O2 -ffast-math -g -Wall -pedantic -DDEBUG"
    CACHE STRING
    "Flags used by the compiler during release builds."
  )

  # By default, show all build commands.
  SET(CMAKE_VERBOSE_MAKEFILE
    TRUE
    CACHE BOOL
    "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the consoleduring the make.  This is useful for debugging only."
  )
ENDIF(UNIX)

# Default build mode compiles c++ and c code with debug info and no
# optimizations.
SET(CMAKE_BUILD_TYPE
  "Debug"
  CACHE STRING
  "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel."
)

# Default location for installed software / configs / docs is work
# subdirectory of build directory.
SET(CMAKE_INSTALL_PREFIX
  "${PROJECT_BINARY_DIR}/work"
  CACHE PATH
  "Install path prefix, prepended onto install directories."
)

# 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."
)

# By default, compile all unit testing software.  Tests are run via
# 'make test' under unix.
OPTION(_UNIT_TESTS
  "Enable building of unit test suites."
  ON
)
IF(_UNIT_TESTS)
  ENABLE_TESTING()
ENDIF(_UNIT_TESTS)


# This section introduces the Avida project to CMake.

PROJECT(AVIDA)

SUBDIRS(source doc)


# This section defines convenience variables.  They're available to
# CMakeList.txt files in all subdirectories beneath the directory
# containing this file..

# Shortcuts to the source subdirectories.
SET(THIRDPARTY_SRC_DIR ${PROJECT_SOURCE_DIR}/source/third-party)
SET(TOOLS_SRC_DIR ${PROJECT_SOURCE_DIR}/source/tools)
SET(CPU_SRC_DIR ${PROJECT_SOURCE_DIR}/source/cpu)
SET(EVENT_SRC_DIR ${PROJECT_SOURCE_DIR}/source/event)
SET(MAIN_SRC_DIR ${PROJECT_SOURCE_DIR}/source/main)

# Shortcuts to the build subdirectories.
SET(THIRDPARTY_BLD_DIR ${PROJECT_BINARY_DIR}/source/third-party)
SET(TOOLS_BLD_DIR ${PROJECT_BINARY_DIR}/source/tools)
SET(CPU_BLD_DIR ${PROJECT_BINARY_DIR}/source/cpu)
SET(EVENT_BLD_DIR ${PROJECT_BINARY_DIR}/source/event)
SET(MAIN_BLD_DIR ${PROJECT_BINARY_DIR}/source/main)

# A list of all source subdirectories (convenient for naming
# include-directories).
SET(ALL_INC_DIRS
  ${TOOLS_SRC_DIR}
  ${CPU_SRC_DIR}
  ${EVENT_SRC_DIR}
  ${EVENT_BLD_DIR}
  ${MAIN_SRC_DIR}
  ${PROJECT_SOURCE_DIR}/source
)

# A list of all build subdirectories (convenient for naming
# link-subdirecties).
SET(ALL_LIB_DIRS
  ${TOOLS_BLD_DIR}
  ${CPU_BLD_DIR}
  ${EVENT_BLD_DIR}
  ${MAIN_BLD_DIR}
  ${LIBRARY_OUTPUT_PATH}
)

Index: avida/current/CMakeModules/FindNcurses.cmake
+++ avida/current/CMakeModules/FindNcurses.cmake
#
# Find the ncurses include file and library
#

FIND_PATH(NCURSES_INCLUDE_PATH ncurses.h
  /usr/local/include /usr/include
)

FIND_LIBRARY(NCURSES_LIBRARY
  NAMES ncurses
  PATHS /usr/local/lib /usr/lib /lib
)

SET(FOO_NCURSES_INCLUDE_PATH ${NCURSES_INCLUDE_PATH})
SET(FOO_NCURSES_LIBRARY ${NCURSES_LIBRARY})

MARK_AS_ADVANCED(
  NCURSES_INCLUDE_PATH
  NCURSES_LIBRARY
)

Index: avida/current/CMakeModules/FixFindQt.cmake
+++ avida/current/CMakeModules/FixFindQt.cmake
MARK_AS_ADVANCED(QT_MACX_INCLUDE_DIR)
FIND_PATH(QT_MACX_INCLUDE_DIR qt_mac.h
  $ENV{QTDIR}/include
  /usr/local/qt/include
  /usr/local/include
  /usr/include/qt3
  /usr/include/qt
  /usr/include
)

IF(QT_MACX_INCLUDE_DIR)
  SET(QT_MACX_FOUND "YES")

  FIND_PATH(QT_INCLUDE_DIR qt_mac.h
    $ENV{QTDIR}/include
    /usr/local/qt/include
    /usr/local/include
    /usr/include/qt3
    /usr/include/qt
    /usr/include
  )

  IF(EXECUTABLE_OUTPUT_PATH)
    SET(APPLE_EXECUTABLE_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH})
  ELSE(EXECUTABLE_OUTPUT_PATH)
    SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
    SET(APPLE_EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
  ENDIF(EXECUTABLE_OUTPUT_PATH)

  MACRO(CREATE_EXECUTABLE
    NAME
    SOURCES
    LIBRARIES
    INSTALL_PREFIX
  )
    SET(APPLE_GUI_EXECUTABLE ${NAME})
    SET(APPLE_GUI_INFO_STRING "Created by Qt/CMake")
    SET(APPLE_GUI_BUNDLE_NAME ${NAME})
    CONFIGURE_FILE(
      ${PROJECT_SOURCE_DIR}/CMakeModules/Templates/AppleInfo.plist
      ${APPLE_EXECUTABLE_OUTPUT_PATH}/${NAME}.app/Contents/Info.plist
    )
    MAKE_DIRECTORY(${APPLE_EXECUTABLE_OUTPUT_PATH}/${NAME}.app/Contents/MacOS)
    ADD_EXECUTABLE(${NAME}.app/Contents/MacOS/${NAME} ${${SOURCES}})
    TARGET_LINK_LIBRARIES(${NAME}.app/Contents/MacOS/${NAME} ${${LIBRARIES}})
    SET_TARGET_PROPERTIES(
      ${NAME}.app/Contents/MacOS/${NAME}
      PROPERTIES
        LINK_FLAGS "-prebind"
    )
    INSTALL_TARGETS(${INSTALL_PREFIX} ${NAME}.app/Contents/MacOS/${NAME})

    IF(DISTCLEAN_FILES)
      ADD_CUSTOM_TARGET(clean-${NAME}.app @echo "cleaning for ${NAME}.app")
      ADD_CUSTOM_COMMAND(
        COMMAND rm
        ARGS    -rf ${APPLE_EXECUTABLE_OUTPUT_PATH}/${NAME}.app
        TARGET clean-${NAME}.app
      )
      ADD_DEPENDENCIES(distclean clean-${NAME}.app)
    ENDIF(DISTCLEAN_FILES)

  ENDMACRO(CREATE_EXECUTABLE)

ELSE(QT_MACX_INCLUDE_DIR)
  MACRO(CREATE_EXECUTABLE
    NAME
    SOURCES
    LIBRARIES
  )
    ADD_EXECUTABLE(${NAME} ${${SOURCES}})
    TARGET_LINK_LIBRARIES(${NAME} ${${LIBRARIES}})
    INSTALL_TARGETS(${INSTALL_PREFIX} ${NAME})
  ENDMACRO(CREATE_EXECUTABLE)
ENDIF(QT_MACX_INCLUDE_DIR)



Index: avida/current/CMakeModules/TargetDistclean.cmake
+++ avida/current/CMakeModules/TargetDistclean.cmake
# add custom target distclean
# cleans and removes cmake generated files etc.
# Jan Woetzel 04/2003
#

IF (UNIX)
  ADD_CUSTOM_TARGET (distclean @echo cleaning for source distribution)
  SET(DISTCLEAN_FILES
    cmake.depends
    cmake.check_depends
    CMakeCache.txt
    cmake.check_cache
    CMakeOutput.log
    *.cmake
    Makefile
    core core.*
    gmon.out bb.out
    *~ *%
    SunWS_cache
    ii_files
    *.so
    *.o
    *.a
    CopyOfCMakeCache.txt
    html latex Doxyfile 
  )
  
  SET(DISTCLEAN_DIRS
    CMakeTmp
  )
  
  ADD_CUSTOM_COMMAND(
    DEPENDS clean
    COMMENT "distribution clean"
    COMMAND rm
    ARGS    -Rf ${DISTCLEAN_FILES} ${DISTCLEAN_DIRS}
    TARGET  distclean
  )
ENDIF(UNIX)

Index: avida/current/CMakeModules/Templates/AppleInfo.plist
+++ avida/current/CMakeModules/Templates/AppleInfo.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>English</string>
	<key>CFBundleExecutable</key>
	<string>${APPLE_GUI_EXECUTABLE}</string>
	<key>CFBundleGetInfoString</key>
	<string>${APPLE_GUI_INFO_STRING}</string>
	<key>CFBundleIconFile</key>
	<string>application.icns</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>${APPLE_GUI_BUNDLE_NAME}</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleSignature</key>
	<string>????</string>
</dict>
</plist>

Index: avida/current/doc/CMakeLists.txt
+++ avida/current/doc/CMakeLists.txt

SUBDIRS(glossary)

INSTALL_FILES(/doc_html .*[.]html)
INSTALL_FILES(/doc_html .*[.]gif)

Index: avida/current/doc/glossary/CMakeLists.txt
+++ avida/current/doc/glossary/CMakeLists.txt

INSTALL_FILES(/doc_html/glossary .*[.]html)
INSTALL_FILES(/doc_html/glossary .*[.]help)

Index: avida/current/source/CMakeLists.txt
+++ avida/current/source/CMakeLists.txt
SUBDIRS(third-party tools cpu event main viewers qt-viewer testsuites support)

Index: avida/current/source/cpu/CMakeLists.txt
+++ avida/current/source/cpu/CMakeLists.txt

SET(libcpu_a_SOURCES
  4stack_head.cc
  code_label.cc
  cpu_head.cc
  cpu_memory.cc
  cpu_stack.cc
  cpu_test_info.cc
  hardware_4stack.cc
  hardware_4stack_thread.cc
  hardware_base.cc
  hardware_cpu.cc
  hardware_cpu_thread.cc
  hardware_factory.cc
  hardware_util.cc
  memory_flags.cc
  test_cpu.cc
  test_util.cc
)

INCLUDE_DIRECTORIES(${ALL_INC_DIRS})

ADD_LIBRARY(cpu ${libcpu_a_SOURCES})


Index: avida/current/source/event/CMakeLists.txt
+++ avida/current/source/event/CMakeLists.txt

ADD_CUSTOM_COMMAND(
  OUTPUT
    cPopulation_construct_event_auto.ci
    cPopulation_enums_auto.ci
    cPopulation_name2enum_auto.ci
    cPopulation_process_auto.ci
  COMMAND perl
  ARGS
    ${PROJECT_SOURCE_DIR}/source/event/make_events.pl
    ${PROJECT_SOURCE_DIR}/source/event/cPopulation
  MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/source/event/cPopulation.events
  COMMENT
    This is a somewhat ugly hack to build the autogenerated code.
    We pretend that the autogenerated code is actually a program, then
    make builds it correctly. Any other way leads to unnecessary 
    recompilation of libevent.a even if nothing has changed.
)

SET(libevent_a_SOURCES
  event.cc
  event_factory.cc
  event_factory_manager.cc
  event_list.cc
  event_list_entry.cc
  event_list_iterator.cc
  event_triggers.cc
  population_event.cc
  population_event_factory.cc
)

SET_SOURCE_FILES_PROPERTIES(population_event_factory.cc
  PROPERTIES
    OBJECT_DEPENDS cPopulation_construct_event_auto.ci
    OBJECT_DEPENDS cPopulation_enums_auto.ci
    OBJECT_DEPENDS cPopulation_name2enum_auto.ci
    OBJECT_DEPENDS cPopulation_process_auto.ci
)

INCLUDE_DIRECTORIES(${ALL_INC_DIRS})

ADD_LIBRARY(event ${libevent_a_SOURCES})

Index: avida/current/source/main/CMakeLists.txt
+++ avida/current/source/main/CMakeLists.txt

INCLUDE_DIRECTORIES(${ALL_INC_DIRS})

SET(libmain_a_SOURCES
  analyze.cc
  analyze_genotype.cc
  analyze_util.cc
  avida.cc
  avida_driver_analyze.cc
  avida_driver_base.cc
  avida_driver_population.cc
  birth_chamber.cc
  callback_util.cc
  config.cc
  environment.cc
  fitness_matrix.cc
  genebank.cc
  genome.cc
  genome_util.cc
  genotype.cc
  genotype_birth_data.cc
  genotype_control.cc
  genotype_test_data.cc
  inject_genebank.cc
  inject_genotype.cc
  inject_genotype_birth_data.cc
  inject_genotype_control.cc
  inject_genotype_queue.cc
  instruction.cc
  inst_set.cc
  inst_util.cc
  landscape.cc
  lineage.cc
  lineage_control.cc
  local_mutations.cc
  mutation_lib.cc
  mutation_rates.cc
  mutation.cc
  mx_code_array.cc
  org_message.cc
  organism.cc
  phenotype.cc
  population.cc
  population_cell.cc
  population_interface.cc
  reaction.cc
  reaction_lib.cc
  reaction_process.cc
  reaction_requisite.cc
  reaction_result.cc
  resource.cc
  resource_count.cc
  resource_lib.cc
  spatial_count_elem.cc
  spatial_res_count.cc
  species.cc
  species_control.cc
  species_queue.cc
  stats.cc
  task_entry.cc
  task_lib.cc
)

ADD_LIBRARY(main ${libmain_a_SOURCES})

OPTION(_PRIMITIVE_INTERFACE
  "Enable building interfaceless Avida (fastest version)."
  ON
)
IF(_PRIMITIVE_INTERFACE)
  ADD_EXECUTABLE(primitive primitive.cc)
  TARGET_LINK_LIBRARIES(primitive main cpu event main tools)
  LINK_DIRECTORIES(${ALL_LIB_DIRS})
  INSTALL_TARGETS(/ primitive)
ENDIF(_PRIMITIVE_INTERFACE)

Index: avida/current/source/qt-viewer/CMakeLists.txt
+++ avida/current/source/qt-viewer/CMakeLists.txt

INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/TargetDistclean.cmake)
INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/FixFindQt.cmake)
INCLUDE(${CMAKE_ROOT}/Modules/FindQt.cmake)

IF(QT_FOUND)
  IF(QT_QT_LIBRARY MATCHES "qt-mt")
    SET(QT_IS_THREAD_CAPABLE TRUE)
  ENDIF(QT_QT_LIBRARY MATCHES "qt-mt")
ENDIF(QT_FOUND)

OPTION(_QT_GRAPHIC_INTERFACE
  "Enable building Avida graphic interface."
  ON
)
VARIABLE_REQUIRES(_QT_GRAPHIC_INTERFACE QT_GRAPHIC_INTERFACE_REQUISITES
  QT_FOUND
  QT_WRAP_UI
  QT_WRAP_CPP
  QT_IS_THREAD_CAPABLE
)

IF(_QT_GRAPHIC_INTERFACE)
  INCLUDE_DIRECTORIES(
    ${ALL_INC_DIRS}
    ${THIRDPARTY_SRC_DIR}/trio
    ${QT_INCLUDE_DIR}
    ${QT_INCLUDE_PATH}
    .
  )
  ADD_DEFINITIONS(-DQT_THREAD_SUPPORT)
  
  SET(libqtviewer_a_SOURCES
    avd_mission_control.cc
    avd_driver_controller.cc
    avd_avida_driver.cc
    avd_help_controller.cc
    avd_help_viewer.cc
    avd_plot_viewer_controller.cc
    avd_main_window_controller.cc
    avd_main_window.cc
    map_view.cc
    map_view_widget.cc
    map_view_cell_entry.cc
    color_scale_widget.cc
    double_slider.cc
    avd_instruction_viewer_controller.cc
    n_orig_instruction_buttons_widget.cc
    n_orig_instruction_cpu_widget.cc
    n_orig_instruction_field_widget.cc
    n_orig_instruction_line_pixmap_pair.cc
    n_orig_instruction_line_widget.cc
    n_orig_instruction_pixmapstructs.cc
    n_orig_instruction_scrollview.cc
    n_orig_instruction_scrollview_config.cc
    n_orig_instruction_view_widget.cc
    n_orig_instruction_viewer.cc
    population_cell_wrapper.cc
    population_cell_wrapped_accessors.cc
    gui_message_display.cc
    messaging_population_wrapper.cc
  	avida_data.cc
  	avida_plot_widget.cc
  	plot_select_dia_impl.cc
  	plot_widget.cc
    avd_event_viewer_controller.cc
    event_view_widget.cc
    avd_godbox_controller.cc
  	godbox_widget2.cc
  	godbox2.cc
    apocalypse_widget.cc
    avd_rate_validator2.cc
    avd_lograte_widget.cc
    avd_rate_slider2.cc
    repopulate_widget.cc
    setup_avida.cc
   
    testwizard.cc
    testwizard_loadgen.cc
    testwizard_validators.cc
    setup_file.cc
    setup_genesis.cc
    setup_wizard.cc
    setup_wizard2.cc
    setup_wizard_config.cc
    setup_wizard_constants.cc
    setup_wizard_page.cc
    setup_wizard_page2.cc
  )
  
  SET(libqtviewer_moc_a_MOC_SOURCES
    avd_mission_control.hh
    avd_driver_controller.hh
    avd_avida_driver.hh
    avd_help_controller.hh
    avd_help_viewer.hh
    avd_message_queue.hh
    avd_message_queue_hdrs.hh
    avd_plot_viewer_controller.hh
    avd_main_window_controller.hh
    avd_main_window.hh
    map_view.hh
    map_view_widget.hh
    map_view_cell_entry.hh
    color_scale_widget.hh
    avd_instruction_viewer_controller.hh
    n_orig_instruction_buttons_widget.hh
    n_orig_instruction_cpu_widget.hh
    n_orig_instruction_field_widget.hh
    n_orig_instruction_line_pixmap_pair.hh
    n_orig_instruction_line_widget.hh
    n_orig_instruction_pixmapstructs.hh
    n_orig_instruction_scrollview.hh
    n_orig_instruction_scrollview_config.hh
    n_orig_instruction_view_widget.hh
    n_orig_instruction_viewer.hh
    population_cell_wrapper.hh
    population_cell_wrapped_accessors.hh
    double_slider.hh
    avd_gui_msg_event.hh
    messaging_population_wrapper.hh
    population_wrapper.hh
  	avida_data.hh
  	avida_plot_widget.hh
  	plot_select_dia_impl.hh
  	plot_widget.hh
    avd_event_viewer_controller.hh
    event_view_widget.hh
    avd_godbox_controller.hh
  	godbox_widget2.hh
    godbox2.hh
    apocalypse_widget.hh
    avd_rate_validator2.hh
    avd_lograte_widget.hh
    avd_rate_slider2.hh
    repopulate_widget.hh
   
    setup_avida.hh
    setup_file.hh
    setup_genesis.hh
    setup_wizard.hh
    setup_wizard2.hh
    setup_wizard_config.hh
    setup_wizard_constants.hh
    setup_wizard_page.hh
    setup_wizard_page2.hh
    testwizard.hh
  )
  
  SET(libqtviewer_ui_a_UI_SOURCES
    event_chooser.ui
    event_list_editor.ui
    plot_select_dia.ui
    godbox.ui
   
    wizard.ui
  )
  
  QT_WRAP_CPP(qtviewer_moc
    libqtviewer_moc_a_SOURCES
    libqtviewer_moc_a_MOC_SOURCES
  )
  QT_WRAP_UI(qtviewer_ui
    libqtviewer_ui_a_HEADERS
    libqtviewer_ui_a_SOURCES
    libqtviewer_ui_a_UI_SOURCES
  )
  ADD_LIBRARY(qtviewer_moc ${libqtviewer_moc_a_SOURCES})
  ADD_LIBRARY(qtviewer_ui ${libqtviewer_ui_a_SOURCES})
  ADD_LIBRARY(qtviewer ${libqtviewer_a_SOURCES})
  
  SET(Avida_SOURCES main.cc)
  SET(Avida_LIBRARIES
    qtviewer
    main
    cpu
    event
    main
    tools
    trio
    qtviewer_moc
    qtviewer_ui
    ${QT_LIBRARIES}
  )
  LINK_DIRECTORIES(
    ${ALL_LIB_DIRS}
    ${THIRDPARTY_BLD_DIR}/trio
    .
  )
  CREATE_EXECUTABLE(Avida Avida_SOURCES Avida_LIBRARIES /)
ENDIF(_QT_GRAPHIC_INTERFACE)

Index: avida/current/source/support/CMakeLists.txt
+++ avida/current/source/support/CMakeLists.txt

SUBDIRS(preset_organisms)

INSTALL_FILES(/ FILES
  analyze.cfg
  environment.cfg
  events.cfg
  genesis
  inst_set.default
  organism.default
  inst_set.4stack
  genesis.4stack
)

Index: avida/current/source/support/preset_organisms/CMakeLists.txt
+++ avida/current/source/support/preset_organisms/CMakeLists.txt

INSTALL_FILES(/preset_organisms FILES
  dummy
  organism.4stack
  organism.parasite
)


Index: avida/current/source/testsuites/CMakeLists.txt
+++ avida/current/source/testsuites/CMakeLists.txt

SET(EXECUTABLE_OUTPUT_PATH "")

SUBDIRS(unit_testsuites)

Index: avida/current/source/testsuites/unit_testsuites/CMakeLists.txt
+++ avida/current/source/testsuites/unit_testsuites/CMakeLists.txt
SUBDIRS(level_0 level_1)

IF(_UNIT_TESTS)
  INCLUDE_DIRECTORIES(
    ${ALL_INC_DIRS}
    ${THIRDPARTY_SRC_DIR}/yaktest
  )
  LINK_DIRECTORIES(
    ${ALL_LIB_DIRS}
    ${THIRDPARTY_BLD_DIR}/yaktest
  )
  SET(TESTSUITES
  	template.t
    4stack_head.t
    analyze.t
    analyze_command.t
    analyze_command_def.t
    analyze_command_def_base.t
    analyze_flow_command.t
    analyze_flow_command_def.t
    analyze_function.t
    analyze_genotype.t
    analyze_util.t
    avida.t
    avida_driver_analyze.t
    avida_driver_base.t
    avida_driver_population.t
    avida_triggers.t
    birth_chamber.t
    block_struct.t
    callback_util.t
    config.t
    const_schedule.t
    cpu_head.t
    cpu_memory.t
    cpu_stack.t
    cpu_test_info.t
    data_entry.t
    data_file.t
    data_file_manager.t
    data_manager_base.t
    default_message_display.t
    environment.t
    event.t
    event_factory.t
    event_factory_manager.t
    event_list.t
    event_list_entry.t
    event_list_iterator.t
    file.t
    fitness_matrix.t
    fixed_coords.t
    functions.t
    genebank.t
    genesis.t
    genome.t
    genome_util.t
    genotype.t
    genotype_batch.t
    genotype_birth_data.t
    genotype_control.t
    hardware_4stack.t
    hardware_4stack_thread.t
    hardware_base.t
    hardware_cpu.t
    hardware_cpu_thread.t
    hardware_factory.t
    hardware_util.t
    help_alias.t
    help_entry.t
    help_full_entry.t
    help_manager.t
    help_type.t
    histogram.t
    indexed_block_struct.t
    init_file.t
    inject_genebank.t
    inject_genotype.t
    inject_genotype_birth_data.t
    inject_genotype_control.t
    inject_genotype_element.t
    inject_genotype_queue.t
    inst_lib_base.t
    inst_set.t
    inst_util.t
    integrated_schedule.t
    integrated_schedule_node.t
    landscape.t
    lineage.t
    lineage_control.t
    local_mutations.t
    message_class.t
    message_closure.t
    message_display.t
    message_type.t
    mutation.t
    mutation_lib.t
    mutation_rates.t
    mx_code_array.t
    my_code_array_less_than.t
    org_message.t
    organism.t
    phenotype.t
    population.t
    population_cell.t
    population_event.t
    population_event_factory.t
    population_interface.t
    prob_schedule.t
    random.t
    reaction.t
    reaction_lib.t
    reaction_process.t
    reaction_result.t
    ref_block.t
    resource.t
    resource_count.t
    resource_lib.t
    running_average.t
    scaled_block.t
    schedule.t
    spatial_count_elem.t
    spatial_res_count.t
    species.t
    species_control.t
    species_queue.t
    stats.t
    string.t
    string_iterator.t
    string_list.t
    string_util.t
    tArgDataEntry.t
    tArray.t
    tBuffer.t
    tDataEntry.t
    tDataEntryBase.t
    tDataEntryCommand.t
    tDataManager.t
    tDictionary.t
    tList.t
    tMatrix.t
    tVector.t
    task_entry.t
    task_lib.t
    test_cpu.t
    test_util.t
    tools.t
    uint.t
    weighted_index.t
  ) 
  FOREACH(TESTSUITE ${TESTSUITES})
    ADD_EXECUTABLE(${TESTSUITE} ${TESTSUITE}.cc)
    TARGET_LINK_LIBRARIES(${TESTSUITE}
      main
      cpu
      event
      main
      tools
      yaktest
    )
    ADD_TEST(${TESTSUITE} ${TESTSUITE})
  ENDFOREACH(TESTSUITE)
ENDIF(_UNIT_TESTS)

Index: avida/current/source/testsuites/unit_testsuites/level_0/CMakeLists.txt
+++ avida/current/source/testsuites/unit_testsuites/level_0/CMakeLists.txt

IF(_UNIT_TESTS)
  INCLUDE_DIRECTORIES(
    ${ALL_INC_DIRS}
    ${THIRDPARTY_SRC_DIR}/yaktest
  )
  LINK_DIRECTORIES(
    ${ALL_LIB_DIRS}
    ${THIRDPARTY_BLD_DIR}/yaktest
  )
  SET(TESTSUITES
    count_tracker.t
    cpu_stats.t
    double_sum.t
    event_triggers.t
    fixed_block.t
    genotype_test_data.t
    int_sum.t
    memory_flags.t
    merit.t
    template.t
  ) 
  FOREACH(TESTSUITE ${TESTSUITES})
    ADD_EXECUTABLE(${TESTSUITE} ${TESTSUITE}.cc)
    TARGET_LINK_LIBRARIES(${TESTSUITE}
      main
      cpu
      event
      main
      tools
      yaktest
    )
    ADD_TEST(${TESTSUITE} ${TESTSUITE})
  ENDFOREACH(TESTSUITE)
ENDIF(_UNIT_TESTS)

Index: avida/current/source/testsuites/unit_testsuites/level_1/CMakeLists.txt
+++ avida/current/source/testsuites/unit_testsuites/level_1/CMakeLists.txt

IF(_UNIT_TESTS)
  INCLUDE_DIRECTORIES(
    ${ALL_INC_DIRS}
    ${THIRDPARTY_SRC_DIR}/yaktest
  )
  LINK_DIRECTORIES(
    ${ALL_LIB_DIRS}
    ${THIRDPARTY_BLD_DIR}/yaktest
  )
  SET(TESTSUITES
    code_label.t
    instruction.t
  ) 
  FOREACH(TESTSUITE ${TESTSUITES})
    ADD_EXECUTABLE(${TESTSUITE} ${TESTSUITE}.cc)
    TARGET_LINK_LIBRARIES(${TESTSUITE}
      main
      cpu
      event
      main
      tools
      yaktest
    )
    ADD_TEST(${TESTSUITE} ${TESTSUITE})
  ENDFOREACH(TESTSUITE)
ENDIF(_UNIT_TESTS)

Index: avida/current/source/third-party/CMakeLists.txt
+++ avida/current/source/third-party/CMakeLists.txt
SUBDIRS(trio yaktest)


Index: avida/current/source/third-party/trio/CMakeLists.txt
+++ avida/current/source/third-party/trio/CMakeLists.txt

SET(libtrio_a_SOURCES
  trio.c
  triostr.c
  trionan.c
)
ADD_LIBRARY(trio ${libtrio_a_SOURCES})

Index: avida/current/source/third-party/yaktest/CMakeLists.txt
+++ avida/current/source/third-party/yaktest/CMakeLists.txt

IF(_UNIT_TESTS)
  SET(libyaktest_a_SOURCES
    test_problem.cpp
    test_result.cpp
    test_case.cpp
    text_test_interpreter.cpp
  )
  ADD_LIBRARY(yaktest ${libyaktest_a_SOURCES})
ENDIF(_UNIT_TESTS)

Index: avida/current/source/tools/CMakeLists.txt
+++ avida/current/source/tools/CMakeLists.txt

SET(libtools_a_SOURCES
  block_struct.cc
  const_schedule.cc
  count_tracker.cc
  data_entry.cc
  data_file.cc
  data_file_manager.cc
  data_manager_base.cc
  default_message_display.cc
  double_sum.cc
  file.cc
  fixed_block.cc
	genesis.cc
  help_alias.cc
  help_manager.cc
  help_type.cc
  histogram.cc
  indexed_block_struct.cc
	init_file.cc
  int_sum.cc
  integrated_schedule.cc
  integrated_schedule_node.cc
  message_display.cc
  merit.cc
  prob_schedule.cc
  random.cc
  ref_block.cc
  running_average.cc
  scaled_block.cc
  schedule.cc
  string.cc
  string_iterator.cc
  string_list.cc
  string_util.cc
  tools.cc
  weighted_index.cc
)

INCLUDE_DIRECTORIES(${ALL_INC_DIRS})

ADD_LIBRARY(tools ${libtools_a_SOURCES})


Index: avida/current/source/viewers/CMakeLists.txt
+++ avida/current/source/viewers/CMakeLists.txt

INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/TargetDistclean.cmake)
INCLUDE(${PROJECT_SOURCE_DIR}/CMakeModules/FindNcurses.cmake)

OPTION(_NCURSES_CONSOLE_INTERFACE
  "Enable building Avida console interface."
  ON
)
# )
#VARIABLE_REQUIRES(_NCURSES_CONSOLE_INTERFACE NCURSES_REQUISITES
#  NCURSES_INCLUDE_PATH
#)

IF(_NCURSES_CONSOLE_INTERFACE)
  INCLUDE_DIRECTORIES(
    ${ALL_INC_DIRS}
    ${NCURSES_INCLUDE_PATH}
  )

  SET(libviewer_SOURCES
    ansi.cc
    bar_screen.cc
    environment_screen.cc
    hist_screen.cc
    map_screen.cc
    menu.cc
    ncurses.cc
    options_screen.cc
    stats_screen.cc
    symbol_util.cc
    text_screen.cc
    view.cc
    zoom_screen.cc
  )
  ADD_LIBRARY(viewer ${libviewer_SOURCES})

  ADD_EXECUTABLE(AvidaConsole viewer.cc)
  TARGET_LINK_LIBRARIES(AvidaConsole
    viewer
    main
    cpu
    event
    main
    tools
    trio
    ${NCURSES_LIBRARY}
    m
  )
  LINK_DIRECTORIES(${ALL_LIB_DIRS} ${THIRDPARTY_BLD_DIR}/trio)

  INSTALL_TARGETS(/ AvidaConsole)
ENDIF(_NCURSES_CONSOLE_INTERFACE)


More information about the Avida-cvs mailing list