diff --git a/CMakeLists.txt b/CMakeLists.txt index 48d4d252063f33f1a8471d1060ad55f2e40bc55e..2498d19a2871e7dce30001849b3e247c7588f069 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,6 +22,11 @@ set(enable-normalized-fitness OFF CACHE BOOL "With this option, the NORMALIZED_F set(enable-mtperiod 607 CACHE STRING "Period of the Mersen Twister. Autorized values are : 607 1279 2281 4253 11213 19937 44497 86243 132049 216091") set(enable-trivialjumps OFF CACHE STRING "When this option is set, a trivial jump algorithm will be used instead of the polynomial-based method") +set(with-triangle OFF CACHE BOOL "Whether to enable triangle phenotypic target (else Gaussian)") +set(with-raevol OFF CACHE BOOL "Whether to enable R-Aevol (Gene regulation) version") +set(with-detectclone ON CACHE BOOL "Whether to enable clones and not recompute them") +set(with-floatconcentration OFF CACHE BOOL "Whether to enable the encoding of concentration has float (and not double)") +set(with-simd OFF CACHE BOOL "Whether to switch to the SIMD implementation of (R-)Aevol") if ( ${with-x} ) FIND_PACKAGE(X11 REQUIRED) @@ -77,6 +82,26 @@ if ( ${enable-trivialjumps} ) endif () endif () +if ( ${with-triangle} ) + add_definitions(-DPHENOTYPIC_TARGET_TRIANGLE) +endif () + +if ( ${with-raevol} ) + add_definitions(-D__REGUL) +endif () + +if ( ${with-detectclone} ) + add_definitions(-D__DETECT_CLONE) +endif () + +if ( ${with-floatconcentration} ) + add_definitions(-D__FLOAT_CONCENTRATION) +endif () + +if ( ${with-simd} ) + add_definitions(-DWITH_STANDALONE_SIMD) +endif () + # ============================================================================ # Get GNU standard installation directories (GNUInstallDirs module) diff --git a/src/libaevol/CMakeLists.txt b/src/libaevol/CMakeLists.txt index a136a248ac9d013ab0bfa5285e803c99693bbddb..3e34681e85486cbb3b732f002d7ba0e44eb2335f 100644 --- a/src/libaevol/CMakeLists.txt +++ b/src/libaevol/CMakeLists.txt @@ -18,7 +18,7 @@ include_directories(".") # ============================================================================ # Add targets add their dependencies # ============================================================================ -add_library(aevol +set(aevol_sources aevol.h Alignment.cpp Alignment.h @@ -161,7 +161,26 @@ add_library(aevol MutationEvent.cpp AncestorStats.h AncestorStats.cpp) + +if ( ${with-raevol} ) + set(aevol_sources ${aevol_sources} + raevol/Habitat_R.h + raevol/Habitat_R.cpp + raevol/Individual_R.h + raevol/Individual_R.cpp + raevol/Individual_R_X11.h + raevol/Individual_R_X11.cpp + raevol/PhenotypicTarget_R.h + raevol/PhenotypicTarget_R.cpp + raevol/PhenotypicTargetHandler_R.h + raevol/PhenotypicTargetHandler_R.cpp + raevol/Protein_R.h + raevol/Protein_R.cpp + raevol/Rna_R.h + raevol/Rna_R.cpp) +endif () +add_library(aevol ${aevol_sources}) # ============================================================================ # Use GSL and zlib