X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;ds=inline;f=src%2FCMakeLists.txt;h=9bdaf401e2ed40883a3a4fe745bd729b13ad6c52;hb=HEAD;hp=1b5d753c54adb2cf1a1edbcec98270b57d208614;hpb=80163771173997d308e8f11815c5d9a92d8ba8f5;p=germs.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1b5d753..9bdaf40 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,5 @@ -PROJECT(GERMS) +INCLUDE(CheckIncludeFile) +INCLUDE(CheckIncludeFileCXX) SET(CMAKE_VERBOSE_MAKEFILE OFF) @@ -9,14 +10,34 @@ ADD_DEFINITIONS(-Wall -pedantic -g) #INCLUDE(CheckCXXSourceCompiles) -#CheckCXXSourceCompiles(test HAVE_TR1) - INCLUDE_DIRECTORIES(.) ADD_LIBRARY(GeneSort geneorder genealgorithms modelidentifier genesorter model models componenttree) + ADD_EXECUTABLE(germs main.cpp) -SET(GENELIBS doublefann GeneSort) +CHECK_INCLUDE_FILE("doublefann.h" HAVE_FANN) + +IF (HAVE_FANN) + SET(GENELIBS doublefann GeneSort) +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) + SET(GENELIBS GeneSort) +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})