cmake: more options & update gitignore

Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
This commit is contained in:
Thorsten Liebig 2014-09-21 20:19:21 +02:00
parent f1ea7cf1af
commit 4a89e3932d
3 changed files with 52 additions and 6 deletions

3
.gitignore vendored
View File

@ -7,6 +7,7 @@ tmp*
Makefile*
*~
*.so*
*.a
*.pro.user*
*.orig
openEMS
@ -17,3 +18,5 @@ localPaths.pri
**CMakeFiles
CMakeCache.txt
cmake_install.cmake
install_manifest.txt
localConfig.cmake

View File

@ -2,6 +2,10 @@
PROJECT(openEMS CXX)
cmake_minimum_required(VERSION 2.8)
IF(EXISTS ${PROJECT_SOURCE_DIR}/localConfig.cmake)
include(${PROJECT_SOURCE_DIR}/localConfig.cmake)
ENDIF()
# add git revision
IF(EXISTS ${PROJECT_SOURCE_DIR}/.git )
FIND_PACKAGE(Git)
@ -18,9 +22,52 @@ ENDIF()
ADD_DEFINITIONS(-DGIT_VERSION=\"${VERSION}\")
##### RPATH settings, see: http://www.cmake.org/Wiki/CMake_RPATH_handling#Always_full_RPATH #######
# use, i.e. don't skip the full RPATH for the build tree
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
# when building, don't use the install RPATH already
# (but later on when installing)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
# the RPATH to be used when installing, but only if it's not a system directory
LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
IF("${isSystemDir}" STREQUAL "-1")
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
ENDIF("${isSystemDir}" STREQUAL "-1")
####################################################################################################
# Set locations of extra CMake modules
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${openEMS_SOURCE_DIR}/cmake/Modules/")
# fparser
# $ cmake -D FPARSER_ROOT_DIR=~/opt/openEMS .
# SET(FPARSER_ROOT_DIR ~/opt/openEMS)
find_library(fparser_LIBRARIES NAMES fparser
HINTS
${FPARSER_ROOT_DIR}/lib
)
message(STATUS "fparser: ${fparser_LIBRARIES}" )
#TODO test if fparser was found
INCLUDE_DIRECTORIES( ${FPARSER_ROOT_DIR}/include )
# CSXCAD
# $ cmake -D CSXCAD_ROOT_DIR=~/opt/openEMS .
# SET(CSXCAD_ROOT_DIR ~/opt/openEMS)
find_library(CSXCAD_LIBRARIES NAMES CSXCAD
HINTS
${CSXCAD_ROOT_DIR}/lib
)
message(STATUS "CSXCAD: ${CSXCAD_LIBRARIES}" )
#TODO test if CSXCADs was found
INCLUDE_DIRECTORIES( ${CSXCAD_ROOT_DIR}/include/CSXCAD )
# TinyXML module from https://github.com/ros/cmake_modules
find_package(TinyXML REQUIRED)
ADD_DEFINITIONS( -DTIXML_USE_STL )
@ -96,16 +143,13 @@ set(SOURCES
openems.cpp
)
INCLUDE_DIRECTORIES( ${openEMS_SOURCE_DIR} ) #find tools
INCLUDE_DIRECTORIES( ${CSXCAD_SOURCE_DIR}/src ) #find ContinuousStructure.h
ADD_EXECUTABLE( openEMS ${SOURCES} )
TARGET_LINK_LIBRARIES( openEMS
fparser
CSXCAD
${CSXCAD_LIBRARIES}
${fparser_LIBRARIES}
FDTD
Common
tools

View File

@ -2,7 +2,6 @@
set(SOURCES
AdrOp.cpp
ErrorMsg.cpp
ExpenseLog.cpp
array_ops.cpp
global.cpp
hdf5_file_reader.cpp