Skip to content
Snippets Groups Projects
CMakeLists.txt 2.9 KiB
Newer Older
#Libtnl

#Je potreba prenest vsechny Cmakelisty
#PrelozVse
#configDirectory.h.in - podle nej se vytvori hlavickovy soubor s informacemi o umisteni konfiguracnich souboru
#src/dummy.cpp
#src/core/config.h
#src/core/tnlFieldCUDA2D.h
#src/debug/parse.cc - zmena na include tnlDebugParser.h misto
#src/debug/tnlDebugScanner.l	a jeho projeti skrz sflex++

#tests/matrix-formats-test.cpp
#tests/sparse-matrix-benchmark.cpp
#tools/src/mdiff-err-norms.cpp
#tools/src/tnlcurve2gnuplot.cpp
#tools/src/tnl-grid-view.cpp
#tools/src/tnl/matrix-convert.cpp

project(libtnl)

cmake_minimum_required(VERSION 2.8)
FIND_PACKAGE(CUDA)
#Najdem CPPUNIT tohle by bylo hezci mit mimo, aby slo jen volat find_package(cppunit), ale to bych to zase ztratil
FIND_PATH(CPPUNIT_INCLUDE_DIR cppunit/TestCase.h
  /usr/local/include
  /usr/include
)

# With Win32, important to have both
IF(WIN32)
  FIND_LIBRARY(CPPUNIT_LIBRARY cppunit
               ${CPPUNIT_INCLUDE_DIR}/../lib
               /usr/local/lib
               /usr/lib)
  FIND_LIBRARY(CPPUNIT_DEBUG_LIBRARY cppunitd
               ${CPPUNIT_INCLUDE_DIR}/../lib
               /usr/local/lib
               /usr/lib)
ELSE(WIN32)
  # On unix system, debug and release have the same name
  FIND_LIBRARY(CPPUNIT_LIBRARY cppunit
               ${CPPUNIT_INCLUDE_DIR}/../lib
               /usr/local/lib
               /usr/lib)
  FIND_LIBRARY(CPPUNIT_DEBUG_LIBRARY cppunit
               ${CPPUNIT_INCLUDE_DIR}/../lib
               /usr/local/lib
               /usr/lib)
ENDIF(WIN32)

IF(CPPUNIT_INCLUDE_DIR)
  IF(CPPUNIT_LIBRARY)
    SET(CPPUNIT_FOUND "YES")
    SET(CPPUNIT_LIBRARIES ${CPPUNIT_LIBRARY} ${CMAKE_DL_LIBS})
    SET(CPPUNIT_DEBUG_LIBRARIES ${CPPUNIT_DEBUG_LIBRARY}
${CMAKE_DL_LIBS})
  ENDIF(CPPUNIT_LIBRARY)
ENDIF(CPPUNIT_INCLUDE_DIR)



#-------------------------Skutecny zacatek-----------------------------

ENABLE_TESTING()	#zapneme moznost testovani
# set (BUILD_CUDA)
# set (BUILD_MPI)

#Nastaveni kam davat vysledne soubory pro debug/release verzi
IF( CMAKE_BUILD_TYPE STREQUAL "Debug")
	set (LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/Debug/lib)
	set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/Debug/bin)
	set(debugExt -dbg)
else()
	set (LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/Release/lib)
	set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/Release/bin)
	set (addAlsoSubdirs TRUE)
endif()

if (BUILD_MPI)		#Pokud to ma byt za pouziti MPI nastavime si koncovku -mpi, a spravne prekladace
  set(mpiExt -mpi)
  SET(CMAKE_C_COMPILER mpicc)
  SET(CMAKE_CXX_COMPILER mpicxx)
endif()


set (Config_Directory \"${EXECUTABLE_OUTPUT_PATH}/config/\")
configure_file ("configDirectory.h.in"  "${PROJECT_BINARY_DIR}/headers/configDirectory.h" )

#Nastavime cesty k hlavickovym souborum a knihovnam
INCLUDE_DIRECTORIES(src)
INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}/headers)
LINK_DIRECTORIES(${LIBRARY_OUTPUT_PATH})

#Pokracujeme dalsimi podadresari
add_subdirectory (src)
add_subdirectory (tests)
add_subdirectory (tools)