cmake: more options & update gitignore
Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
This commit is contained in:
parent
f1ea7cf1af
commit
4a89e3932d
3
.gitignore
vendored
3
.gitignore
vendored
@ -7,6 +7,7 @@ tmp*
|
|||||||
Makefile*
|
Makefile*
|
||||||
*~
|
*~
|
||||||
*.so*
|
*.so*
|
||||||
|
*.a
|
||||||
*.pro.user*
|
*.pro.user*
|
||||||
*.orig
|
*.orig
|
||||||
openEMS
|
openEMS
|
||||||
@ -17,3 +18,5 @@ localPaths.pri
|
|||||||
**CMakeFiles
|
**CMakeFiles
|
||||||
CMakeCache.txt
|
CMakeCache.txt
|
||||||
cmake_install.cmake
|
cmake_install.cmake
|
||||||
|
install_manifest.txt
|
||||||
|
localConfig.cmake
|
||||||
|
@ -2,6 +2,10 @@
|
|||||||
PROJECT(openEMS CXX)
|
PROJECT(openEMS CXX)
|
||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
|
||||||
|
IF(EXISTS ${PROJECT_SOURCE_DIR}/localConfig.cmake)
|
||||||
|
include(${PROJECT_SOURCE_DIR}/localConfig.cmake)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
# add git revision
|
# add git revision
|
||||||
IF(EXISTS ${PROJECT_SOURCE_DIR}/.git )
|
IF(EXISTS ${PROJECT_SOURCE_DIR}/.git )
|
||||||
FIND_PACKAGE(Git)
|
FIND_PACKAGE(Git)
|
||||||
@ -18,9 +22,52 @@ ENDIF()
|
|||||||
|
|
||||||
ADD_DEFINITIONS(-DGIT_VERSION=\"${VERSION}\")
|
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 locations of extra CMake modules
|
||||||
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${openEMS_SOURCE_DIR}/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
|
# TinyXML module from https://github.com/ros/cmake_modules
|
||||||
find_package(TinyXML REQUIRED)
|
find_package(TinyXML REQUIRED)
|
||||||
ADD_DEFINITIONS( -DTIXML_USE_STL )
|
ADD_DEFINITIONS( -DTIXML_USE_STL )
|
||||||
@ -96,16 +143,13 @@ set(SOURCES
|
|||||||
openems.cpp
|
openems.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES( ${openEMS_SOURCE_DIR} ) #find tools
|
INCLUDE_DIRECTORIES( ${openEMS_SOURCE_DIR} ) #find tools
|
||||||
INCLUDE_DIRECTORIES( ${CSXCAD_SOURCE_DIR}/src ) #find ContinuousStructure.h
|
|
||||||
|
|
||||||
|
|
||||||
ADD_EXECUTABLE( openEMS ${SOURCES} )
|
ADD_EXECUTABLE( openEMS ${SOURCES} )
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES( openEMS
|
TARGET_LINK_LIBRARIES( openEMS
|
||||||
fparser
|
${CSXCAD_LIBRARIES}
|
||||||
CSXCAD
|
${fparser_LIBRARIES}
|
||||||
FDTD
|
FDTD
|
||||||
Common
|
Common
|
||||||
tools
|
tools
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
set(SOURCES
|
set(SOURCES
|
||||||
AdrOp.cpp
|
AdrOp.cpp
|
||||||
ErrorMsg.cpp
|
ErrorMsg.cpp
|
||||||
ExpenseLog.cpp
|
|
||||||
array_ops.cpp
|
array_ops.cpp
|
||||||
global.cpp
|
global.cpp
|
||||||
hdf5_file_reader.cpp
|
hdf5_file_reader.cpp
|
||||||
|
Loading…
Reference in New Issue
Block a user