[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