INCLUDE(CheckIncludeFile) INCLUDE(CheckIncludeFileCXX) SET(CMAKE_VERBOSE_MAKEFILE OFF) #ADD_DEFINITIONS(-Wall -O2 -D__GTHREADS -D_REENTRANT # -D_POSIX_PTHREAD_SEMANTICS -pthread) #ADD_DEFINITIONS(-Wall -pedantic -g -D_GLIBCXX_DEBUG) ADD_DEFINITIONS(-Wall -pedantic -g -D__GTHREADS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -pthread) #INCLUDE(CheckCXXSourceCompiles) INCLUDE_DIRECTORIES(.) ADD_LIBRARY(GeneSort geneorder genealgorithms modelidentifier genesorter model models componenttree threadgenesorter) ADD_EXECUTABLE(germs main.cpp) FIND_PACKAGE(Threads REQUIRED) CHECK_INCLUDE_FILE("doublefann.h" HAVE_FANN) SET(GENELIBS GeneSort ${CMAKE_THREAD_LIBS_INIT}) IF (HAVE_FANN) LIST(APPEND GENELIBS doublefann) ELSE(HAVE_FANN) INCLUDE_DIRECTORIES(. ${CMAKE_SOURCE_DIR}/fann/src/include) ADD_LIBRARY(doublefann ${CMAKE_SOURCE_DIR}/fann/src/doublefann.c) TARGET_LINK_LIBRARIES(GeneSort doublefann) ENDIF(HAVE_FANN) CHECK_INCLUDE_FILE_CXX("tr1/memory" HAVE_TR1) IF(HAVE_TR1) ADD_DEFINITIONS(-DHAVE_TR1) ELSE(HAVE_TR1) CHECK_INCLUDE_FILE_CXX("boost/shared_ptr.hpp" HAVE_BOOST) IF(NOT HAVE_BOOST) MESSAGE(FATAL_ERROR "Neither Boost nor TR1 found, need a shared_ptr implementation") ENDIF(NOT HAVE_BOOST) ENDIF(HAVE_TR1) TARGET_LINK_LIBRARIES(germs ${GENELIBS}) SUBDIRS(test)