Commit ed6b11ea authored by Kilian Lackhove's avatar Kilian Lackhove
Browse files

Nektar++Config cleanup. This depreceates NektarCommon for external projects.

Instead, the cmake default way of handling external dependencies is now
recommended:

  FIND_PACKAGE(Nektar++ REQUIRED)
  ADD_DEFINITIONS(${NEKTAR++_DEFINITIONS})
  INCLUDE_DIRECTORIES(${NEKTAR++_INCLUDE_DIRS} ${NEKTAR++_TP_INCLUDE_DIRS})
  LINK_DIRECTORIES(${NEKTAR++_LIBRARY_DIRS} ${NEKTAR++_TP_LIBRARY_DIRS})
  TARGET_LINK_LIBRARIES(${ProjectName} ${NEKTAR++_LIBRARIES} ${NEKTAR++_TP_LIBRARIES})

see templates/executable for an example. The NEKTAR++_TP_XXX variables can be omitted if
the external CMakeLists.txt takes care of findig Nektar++ dependencies itself.
parent d10e6fdc
......@@ -296,7 +296,6 @@ INSTALL(FILES ${CMAKE_BINARY_DIR}/Nektar++Config.cmake
${CMAKE_SOURCE_DIR}/cmake/FindMetis.cmake
${CMAKE_SOURCE_DIR}/cmake/FindFFTW.cmake
${CMAKE_SOURCE_DIR}/cmake/FindWin32Lapack.cmake
${CMAKE_SOURCE_DIR}/cmake/NektarCommon.cmake
${CMAKE_SOURCE_DIR}/cmake/FindTinyXml.cmake
${CMAKE_SOURCE_DIR}/cmake/FindGSMPI.cmake
${CMAKE_SOURCE_DIR}/cmake/FindXXT.cmake
......
# - Nektar++ Config File
#
# Use this module by invoking find_package with the form:
# FIND_PACKAGE(Nektar++
# [version] [EXACT] # Minimum or EXACT version e.g. 1.36.0
# [REQUIRED] # Fail with error if Nektar++ is not found
# ) #
#
# This sets the following variables:
# Nektar++_FOUND - True if headers and requested libraries were found
# Nektar++_VERSION - Nektar++_VERSION
# Nektar++_INCLUDE_DIRS - Nektar++ include directories
# Nektar++_LIBRARY_DIRS - Link directories for Nektar++ libraries
# Nektar++_DEFINITIONS - Nektar++ build flags
# Nektar++_LIBRARIES - Nektar++ component libraries to be linked
#
# Nektar++_TP_INCLUDE_DIRS - Nektar++ ThirdParty include directories
# Nektar++_TP_LIBRARY_DIRS - Link directories for Nektar++ ThirdParty libraries
# Nektar++_TP_LIBRARIES - Nektar++ ThirdParty libraries to be linked
#
# Example Use:
# FIND_PACKAGE(Nektar++ REQUIRED)
# ADD_DEFINITIONS(${NEKTAR++_DEFINITIONS})
# INCLUDE_DIRECTORIES(${NEKTAR++_INCLUDE_DIRS} ${NEKTAR++_TP_INCLUDE_DIRS})
# LINK_DIRECTORIES(${NEKTAR++_LIBRARY_DIRS} ${NEKTAR++_TP_LIBRARY_DIRS})
# TARGET_LINK_LIBRARIES(${ProjectName} ${NEKTAR++_LIBRARIES} ${NEKTAR++_TP_LIBRARIES})
#
# set basic variables
SET(NEKTAR++_FOUND "ON")
SET(NEKTAR_VERSION "@NEKTAR_VERSION@")
SET(NEKTAR++_VERSION "@NEKTAR_VERSION@")
SET(NEKTAR++_ROOT_DIR "@CMAKE_INSTALL_PREFIX@")
SET(NEKTAR++_INCLUDE_DIRS "${NEKTAR++_ROOT_DIR}/@NEKTAR_INCLUDE_DIR@")
SET(NEKTAR++_LIBRARY_DIRS "${NEKTAR++_ROOT_DIR}/@NEKTAR_LIB_DIR@" "@CMAKE_SOURCE_DIR@/ThirdParty/dist/lib/")
SET(NEKTAR++_BIN_DIR "${NEKTAR++_ROOT_DIR}/@NEKTAR_BIN_DIR@")
SET(NEKTAR_BIN_DIR "${NEKTAR++_ROOT_DIR}/@NEKTAR_BIN_DIR@")
SET(NEKTAR++_SHARE_DIR "${NEKTAR++_ROOT_DIR}/@NEKTAR_SHARE_DIR@")
SET(NEKTAR++_LIBRARY_DIRS "${NEKTAR++_ROOT_DIR}/@NEKTAR_LIB_DIR@")
SET(NEKTAR++_DEFINITIONS "")
SET(NEKTAR++_LIBRARIES SolverUtils MultiRegions LocalRegions SpatialDomains StdRegions LibUtilities)
SET(NEKTAR++_TP_INCLUDE_DIRS "")
SET(NEKTAR++_TP_LIBRARIES "")
SET(NEKTAR++_TP_LIBRARY_DIRS "@CMAKE_SOURCE_DIR@/ThirdParty/dist/lib/")
# add Nektar++_ROOT_DIR to the cmake search path, so Nektars custom FindXXX modules can be used
SET(CMAKE_MODULE_PATH ${NEKTAR++_ROOT_DIR} ${CMAKE_MODULE_PATH})
# set nektars config variables
SET(NEKTAR_USE_MEMORY_POOLS "@NEKTAR_USE_MEMORY_POOLS@")
MARK_AS_ADVANCED(NEKTAR_USE_MEMORY_POOLS)
IF( NEKTAR_USE_MEMORY_POOLS )
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DNEKTAR_MEMORY_POOL_ENABLED")
ENDIF( NEKTAR_USE_MEMORY_POOLS )
SET(NEKTAR_USE_SMV "@NEKTAR_USE_SMV@")
IF( NEKTAR_USE_SMV )
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DNEKTAR_USING_SMV")
ENDIF( NEKTAR_USE_SMV )
SET(NEKTAR_USE_ACML "@NEKTAR_USE_ACML@")
SET(NEKTAR_USE_ACML "@NEKTAR_USE_EXPRESSION_TEMPLATES@")
IF( NEKTAR_USE_EXPRESSION_TEMPLATES )
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DNEKTAR_USE_EXPRESSION_TEMPLATES")
ENDIF( NEKTAR_USE_EXPRESSION_TEMPLATES )
SET(NEKTAR_USE_WIN32_LAPACK "@NEKTAR_USE_WIN32_LAPACK@")
IF( NEKTAR_USE_WIN32_LAPACK )
GET_FILENAME_COMPONENT(WIN32_BLAS_PATH "@WIN32_BLAS@" PATH)
GET_FILENAME_COMPONENT(WIN32_LAPACK_PATH "@WIN32_LAPACK@" PATH)
ENDIF( NEKTAR_USE_WIN32_LAPACK )
SET(NEKTAR_USE_EXPRESSION_TEMPLATES "@NEKTAR_USE_EXPRESSION_TEMPLATES@")
MARK_AS_ADVANCED(NEKTAR_USE_EXPRESSION_TEMPLATES)
SET(NEKTAR_USE_BLAS_LAPACK "@NEKTAR_USE_BLAS_LAPACK@")
IF( NEKTAR_USE_BLAS_LAPACK )
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DNEKTAR_USING_LAPACK -DNEKTAR_USING_BLAS")
ENDIF( NEKTAR_USE_BLAS_LAPACK )
SET(NEKTAR_FULL_DEBUG "@NEKTAR_FULL_DEBUG@")
IF ( NEKTAR_FULL_DEBUG )
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DNEKTAR_FULLDEBUG")
ENDIF( NEKTAR_FULL_DEBUG)
SET(Boost_USE_STATIC_LIBS "@Boost_USE_STATIC_LIBS@")
SET(Boost_USE_MULTITHREADED "@Boost_USE_MULTITHREADED@")
SET(BOOST_INCLUDEDIR "@BOOST_INCLUDEDIR@")
SET(BOOST_LIBRARYDIR "@BOOST_LIBRARYDIR@")
SET(Boost_FOUND "@Boost_FOUND@")
SET(Boost_INCLUDE_DIRS "@Boost_INCLUDE_DIRS@")
SET(Boost_INCLUDE_DIR "@Boost_INCLUDE_DIR@")
SET(Boost_LIBRARIES "@Boost_LIBRARIES@")
SET(Boost_LIBRARY_DIRS "@Boost_LIBRARY_DIRS@")
SET(Boost_VERSION "@Boost_VERSION@")
SET(Boost_THREAD_LIBRARY "@Boost_THREAD_LIBRARY@")
SET(Boost_ZLIB_LIBRARY "@Boost_ZLIB_LIBRARY@")
SET(Boost_IOSTREAMS_LIBRARY "@Boost_IOSTREAMS_LIBRARY@")
SET(Boost_DATE_TIME_LIBRARY "@Boost_DATE_TIME_LIBRARY@")
SET(Boost_FILESYSTEM_LIBRARY "@Boost_FILESYSTEM_LIBRARY@")
SET(Boost_SYSTEM_LIBRARY "@Boost_SYSTEM_LIBRARY@")
SET(Boost_PROGRAM_OPTIONS_LIBRARY "@Boost_PROGRAM_OPTIONS_LIBRARY@")
SET(NEKTAR_USE_DIRECT_BLAS_CALLS "@NEKTAR_USE_DIRECT_BLAS_CALLS@")
MARK_AS_ADVANCED(NEKTAR_USE_DIRECT_BLAS_CALLS)
SET(NEKTAR_USE_SMV "@NEKTAR_USE_SMV@")
MARK_AS_ADVANCED(NEKTAR_USE_SMV)
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS})
SET(NEKTAR++_TP_LIBRARIES ${NEKTAR++_TP_LIBRARIES} ${Boost_LIBRARIES})
SET(NEKTAR_USE_MPI "@NEKTAR_USE_MPI@")
SET(MPI_LIBRARY "@MPI_LIBRARY@")
SET(MPI_EXTRA_LIBRARY "@MPI_EXTRA_LIBRARY@")
SET(MPI_INCLUDE_PATH "@MPI_INCLUDE_PATH@")
SET(NEKTAR_FULL_DEBUG "@NEKTAR_FULL_DEBUG@")
SET(CMAKE_MODULE_PATH ${NEKTAR++_ROOT_DIR} ${CMAKE_MODULE_PATH})
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${MPI_INCLUDE_PATH})
SET(NEKTAR++_TP_LIBRARIES ${NEKTAR++_TP_LIBRARIES} ${MPI_LIBRARY} ${MPI_EXTRA_LIBRARY})
IF( NEKTAR_USE_MPI )
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DNEKTAR_USE_MPI")
ENDIF( NEKTAR_USE_MPI )
SET(LOKI_ADDITIONAL_INCLUDE_DIRS "@LOKI_INCLUDE_DIR@")
INCLUDE(${NEKTAR++_ROOT_DIR}/FindLoki.cmake)
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${LOKI_ADDITIONAL_INCLUDE_DIRS})
SET(TINYXML_ADDITIONAL_INCLUDE_DIRS "@TINYXML_BASE@")
INCLUDE(${NEKTAR++_ROOT_DIR}/FindTinyXml.cmake)
SET(TINYXML_LIB "@TINYXML_LIB@")
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${TINYXML_ADDITIONAL_INCLUDE_DIRS})
SET(NEKTAR_USE_ACML "@NEKTAR_USE_ACML@")
SET(ACML_USE_SHARED_LIBRARIES "@ACML_USE_SHARED_LIBRARIES@")
SET(ACML_USE_OPENMP_LIBRARIES "@ACML_USE_OPENMP_LIBRARIES@")
SET(NEKTAR_USE_WIN32_LAPACK "@NEKTAR_USE_WIN32_LAPACK@")
SET(WIN32_LAPACK "@WIN32_LAPACK@")
SET(WIN32_BLAS "@WIN32_BLAS@")
SET(WIN32_LAPACK_FOUND "@WIN32_LAPACK_FOUND@")
SET(LAPACK_DIR "@LAPACK_DIR@")
SET(NEKTAR_USE_ATLAS "@NEKTAR_USE_ATLAS@")
SET(NEKTAR_USE_MKL "@NEKTAR_USE_MKL@")
SET(NEKTAR_USE_BLAS_LAPACK "@NEKTAR_USE_BLAS_LAPACK@")
SET(NEKTAR_USE_SYSTEM_BLAS_LAPACK "@NEKTAR_USE_SYSTEM_BLAS_LAPACK@")
MARK_AS_ADVANCED(NEKTAR_USE_BLAS_LAPACK)
SET(NEKTAR_BUILD_SHARED "@NEKTAR_BUILD_SHARED@")
SET(METIS_FOUND "@METIS_FOUND@")
SET(NEKTAR_USE_METIS "@NEKTAR_USE_METIS@")
SET(METIS_LIB "@METIS_LIB@" CACHE FILEPATH "Metis Library" FORCE)
MARK_AS_ADVANCED(METIS_FOUND)
MARK_AS_ADVANCED(METIS_LIB)
MARK_AS_ADVANCED(NEKTAR_USE_METIS)
SET(FFTW_FOUND "@FFTW_FOUND@")
SET(NEKTAR_USE_FFTW "@NEKTAR_USE_FFTW@")
SET(FFTW_LIB "@FFTW_LIB@" CACHE FILEPATH "FFTW Library" FORCE)
SET(FFTW_INCLUDE_DIR "@FFTW_INCLUDE_DIR@")
MARK_AS_ADVANCED(FFTW_FOUND)
MARK_AS_ADVANCED(FFTW_LIB)
MARK_AS_ADVANCED(FFTW_INCLUDE_DIR)
MARK_AS_ADVANCED(NEKTAR_USE_FFTW)
SET(ARPACK_FOUND "@ARPACK_FOUND@")
SET(NEKTAR_USE_ARPACK "@NEKTAR_USE_ARPACK@")
SET(ARPACK_LIB "@ARPACK_LIB@" CACHE FILEPATH "ARPACK library" FORCE)
SET(ARPACK_INCLUDE_DIR "@ARPACK_INCLUDE_DIR@")
MARK_AS_ADVANCED(ARPACK_FOUND)
MARK_AS_ADVANCED(ARPACK_LIB)
MARK_AS_ADVANCED(ARPACK_INCLUDE_DIR)
MARK_AS_ADVANCED(NEKTAR_USE_ARPACK)
SET(VTK_FOUND "@VTK_FOUND@")
SET(NEKTAR_USE_VTK "@NEKTAR_USE_VTK@")
SET(VTK_USE_FILE "@VTK_USE_FILE@" CACHE FILEPATH "VTK library config." FORCE)
SET(VTK_INCLUDE_DIRS "@VTK_INCLUDE_DIRS@")
MARK_AS_ADVANCED(VTK_FOUND)
MARK_AS_ADVANCED(NEKTAR_USE_VTK)
MARK_AS_ADVANCED(VTK_USE_FILE)
MARK_AS_ADVANCED(VTK_INCLUDE_DIRS)
IF (${CMAKE_COMPILER_IS_GNUCXX})
SET(NEKTAR_ENABLE_PROFILE "@NEKTAR_ENABLE_PROFILE@")
ENDIF (${CMAKE_COMPILER_IS_GNUCXX})
SET(NEKTAR_USE_TINYXML_STL "@NEKTAR_USE_TINYXML_STL@")
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${FFTW_INCLUDE_DIR})
IF( APPLE )
SET(NEKTAR_USE_ACCELERATE_FRAMEWORK "@NEKTAR_USE_ACCELERATE_FRAMEWORK@")
SET(NEKTAR_USE_CHUD_FRAMEWORK "@NEKTAR_USE_CHUD_FRAMEWORK@")
MARK_AS_ADVANCED(NEKTAR_USE_CHUD_FRAMEWORK)
ENDIF(APPLE)
IF( NEKTAR_USE_WIN32_LAPACK )
GET_FILENAME_COMPONENT(WIN32_BLAS_PATH "@WIN32_BLAS@" PATH)
GET_FILENAME_COMPONENT(WIN32_LAPACK_PATH "@WIN32_LAPACK@" PATH)
SET(ARPACK_INCLUDE_DIR "@ARPACK_INCLUDE_DIR@")
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${ARPACK_INCLUDE_DIR})
SET(WIN32_LAPACK_ADDITIONAL_DIRS ${WIN32_BLAS_PATH} ${WIN32_LAPACK_PATH})
ENDIF( NEKTAR_USE_WIN32_LAPACK )
SET(VTK_INCLUDE_DIRS "@VTK_INCLUDE_DIRS@")
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${VTK_INCLUDE_DIRS})
INCLUDE(${NEKTAR++_ROOT_DIR}/NektarCommon.cmake)
# find and add Nektar++ libraries
INCLUDE(${NEKTAR++_LIBRARY_DIRS}/Nektar++Libraries.cmake)
SET(NEKTAR++_LIBRARIES SolverUtils MultiRegions LocalRegions SpatialDomains StdRegions LibUtilities)
MARK_AS_ADVANCED(NEKTAR_RELEASE_LIBRARIES)
MARK_AS_ADVANCED(NEKTAR_DEBUG_LIBRARIES)
MARK_AS_ADVANCED(NEKTAR_RELEASE_WITH_DEBUG_INFO_LIBRARIES)
IF(NEKTAR_USE_FFTW)
SET(NEKTAR++_INCLUDE_DIRS ${NEKTAR++_INCLUDE_DIRS} ${FFTW_INCLUDE_DIR})
ENDIF(NEKTAR_USE_FFTW)
IF(NEKTAR_USE_ARPACK)
SET(NEKTAR++_INCLUDE_DIRS ${NEKTAR++_INCLUDE_DIRS} ${ARPACK_INCLUDE_DIR})
ENDIF(NEKTAR_USE_ARPACK)
INCLUDE_DIRECTORIES(SYSTEM ${Boost_INCLUDE_DIR})
INCLUDE_DIRECTORIES(${LOKI_INCLUDE_DIR} ${TINYXML_BASE} )
SET(NEKTAR_PACKAGE_GENERATOR "@NEKTAR_PACKAGE_GENERATOR@")
SET(NEKTAR_USING_BLAS "@NEKTAR_USING_BLAS@")
SET(NEKTAR_USING_LAPACK "@NEKTAR_USING_LAPACK@")
SET(NEKTAR_USING_MKL "@NEKTAR_USING_MKL@")
SET(NEKTAR_USING_ACML "@NEKTAR_USING_ACML@")
SET(NEKTAR_USING_OPENBLAS "@NEKTAR_USING_OPENBLAS@")
SET(NEKTAR_USING_SMV "@NEKTAR_USING_SMV@")
if(NEKTAR_USE_MKL AND MKL_FOUND)
# SET_TARGET_PROPERTIES(${name} PROPERTIES COMPILE_FLAGS "${THE_COMPILE_FLAGS} -DMKL_ILP64")
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DMKL_ILP64")
endif(NEKTAR_USE_MKL AND MKL_FOUND)
# platform dependent options
if(${CMAKE_SYSTEM} MATCHES "Linux.*")
set(NEKTAR++_LIBRARIES ${NEKTAR++_LIBRARIES} rt)
set(NEKTAR++_TP_LIBRARIES ${NEKTAR++_TP_LIBRARIES} rt)
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -pthread")
# SET_TARGET_PROPERTIES(${name} PROPERTIES COMPILE_FLAGS "${THE_COMPILE_FLAGS} -pthread")
# SET_TARGET_PROPERTIES(${name} PROPERTIES LINK_FLAGS "${THE_LINK_FLAGS} -pthread")
endif(${CMAKE_SYSTEM} MATCHES "Linux.*")
if(${CMAKE_SYSTEM} MATCHES "Darwin-*")
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -Wl,-undefined,dynamic_lookup -Wl,-rpath,${CMAKE_INSTALL_PREFIX}/${LIB_DIR} -Wl,-rpath,${Boost_LIBRARY_DIRS}")
# SET_TARGET_PROPERTIES(${name} PROPERTIES LINK_FLAGS "-Wl,-undefined,dynamic_lookup -Wl,-rpath,${CMAKE_INSTALL_PREFIX}/${LIB_DIR} -Wl,-rpath,${Boost_LIBRARY_DIRS}")
endif(${CMAKE_SYSTEM} MATCHES "Darwin-*")
if(NEKTAR_USE_BLAS_LAPACK)
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DNEKTAR_USING_LAPACK -DNEKTAR_USING_BLAS")
endif(NEKTAR_USE_BLAS_LAPACK)
######################################################
# This CMakeLists.txt is used to generate an executable
# that uses Nektar++. Customization points for your
# projects are marked below.
######################################################
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
# TODO - Put the name of your project here.
SET(ProjectName Sample)
PROJECT(${ProjectName})
# Setup where CMake will look for modules. You probably
# won't need to modify this.
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR} ${CMAKE_MODULE_PATH})
# Finds Nektar++. This may introduce other dependencies, such
# as Boost and Loki.
FIND_PACKAGE(Nektar++ REQUIRED)
# TODO - Add an entry here for every source file in your project. Must not be empty!
SET(SourceFileNames
main.cpp
)
# TODO - Add an entry here for every header file in your project. Must not be empty!
SET(HeaderFileNames
main.cpp
)
IF( NEKTAR++_FOUND )
INCLUDE_DIRECTORIES(${NEKTAR++_INCLUDE_DIRS})
LINK_DIRECTORIES(${NEKTAR++_LIBRARY_DIRS})
ADD_DEFINITIONS(${NEKTAR++_DEFINITIONS})
# temporary workarounds:
ADD_DEFINITIONS("-DNEKTAR_USING_LAPACK -DNEKTAR_USING_BLAS")
# workaround for libLibUtilities: http://stackoverflow.com/questions/17150075/undefined-reference-to-clock-gettime-although-lrt-is-given
# to fix, add rt to TARGET_LINK_LIBRARIES(LibUtilities ... in library/LibUtilities/CMakeLists.txt:341, but i have no idea how non-Linux
# platforms handle this
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-as-needed")
ADD_NEKTAR_EXECUTABLE(${ProjectName} SourceFileNames HeaderFileNames)
# TODO - If your executable needs to link to any other libraries,
# add them here.
TARGET_LINK_LIBRARIES(${ProjectName}
${NEKTAR++_LIBRARIES}
${Boost_THREAD_LIBRARY}
)
SET_LAPACK_LINK_LIBRARIES(${ProjectName})
ENDIF( NEKTAR++_FOUND )
######################################################
# This CMakeLists.txt is used to generate an executable
# that uses Nektar++. Customization points for your
# projects are marked below.
######################################################
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
# TODO - Put the name of your project here.
SET(ProjectName Sample)
PROJECT(${ProjectName})
# Setup where CMake will look for modules. You probably
# won't need to modify this.
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR} ${CMAKE_MODULE_PATH})
# Finds Nektar++. This may introduce other dependencies, such
# as Boost and Loki.
FIND_PACKAGE(Nektar++ REQUIRED)
ADD_DEFINITIONS(${NEKTAR++_DEFINITIONS})
INCLUDE_DIRECTORIES(${NEKTAR++_INCLUDE_DIRS} ${NEKTAR++_TP_INCLUDE_DIRS})
LINK_DIRECTORIES(${NEKTAR++_LIBRARY_DIRS} ${NEKTAR++_TP_LIBRARY_DIRS})
# workaround for libLibUtilities: http://stackoverflow.com/questions/17150075/undefined-reference-to-clock-gettime-although-lrt-is-given
# to fix, add rt to TARGET_LINK_LIBRARIES(LibUtilities ... in library/LibUtilities/CMakeLists.txt:341, but i have no idea how non-Linux
# platforms handle this
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-as-needed")
# TODO - Add an entry here for every source file in your project. Must not be empty!
SET(SourceFileNames
main.cpp
)
# TODO - Add an entry here for every header file in your project. Must not be empty!
SET(HeaderFileNames
main.cpp
)
ADD_EXECUTABLE(${ProjectName} ${SourceFileNames} ${HeaderFileNames})
# TODO - If your executable needs to link to any other libraries,
# add them here.
TARGET_LINK_LIBRARIES(${ProjectName}
${NEKTAR++_LIBRARIES}
${NEKTAR++_TP_LIBRARIES}
)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment