summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorRuben Undheim <ruben.undheim@gmail.com>2016-07-05 18:02:38 +0200
committerRuben Undheim <ruben.undheim@gmail.com>2016-07-05 18:02:38 +0200
commitef962f6008f25ab7cbd4ca21bcc72b97a1e2d76f (patch)
tree8149bee93d1a3f91d4503bfb3853adac4af0a85e /CMakeLists.txt
Imported Upstream version 0.0.34
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt65
1 files changed, 65 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..2e0e699
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,65 @@
+
+## usage: cmake -DCMAKE_INSTALL_PREFIX=<install/path> .
+## use -DBUILD_APPCSXCAD=NO to not build QCSXCAD and AppCSXCAD
+
+PROJECT(openEMS-Project CXX)
+
+cmake_minimum_required(VERSION 2.8)
+
+if (CMAKE_TOOLCHAIN_FILE)
+ message(STATUS "Using CMAKE_TOOLCHAIN_FILE: " ${CMAKE_TOOLCHAIN_FILE})
+endif()
+
+if (CMAKE_INSTALL_PREFIX)
+ message(STATUS "Using CMAKE_INSTALL_PREFIX: " ${CMAKE_INSTALL_PREFIX})
+endif()
+
+if (NOT DEFINED BUILD_APPCSXCAD)
+ set(BUILD_APPCSXCAD "YES")
+endif()
+
+message(STATUS "Build AppCSXCAD: " ${BUILD_APPCSXCAD})
+
+IF(EXISTS ${PROJECT_SOURCE_DIR}/localConfig.cmake)
+ message(STATUS "include local config" )
+ include(${PROJECT_SOURCE_DIR}/localConfig.cmake)
+ENDIF()
+
+include(ExternalProject)
+
+# build fparser
+ExternalProject_Add( fparser
+ SOURCE_DIR ${PROJECT_SOURCE_DIR}/fparser
+ CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
+)
+
+# build CSXCAD
+ExternalProject_Add( CSXCAD
+ DEPENDS fparser
+ SOURCE_DIR ${PROJECT_SOURCE_DIR}/CSXCAD
+ CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DFPARSER_ROOT_DIR=${CMAKE_INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
+)
+
+message(STATUS "with MPI: ${WITH_MPI}" )
+# build openEMS
+ExternalProject_Add( openEMS
+ DEPENDS fparser CSXCAD
+ SOURCE_DIR ${PROJECT_SOURCE_DIR}/openEMS
+ CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DFPARSER_ROOT_DIR=${CMAKE_INSTALL_PREFIX} -DCSXCAD_ROOT_DIR=${CMAKE_INSTALL_PREFIX} -DWITH_MPI=${WITH_MPI} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
+)
+
+if (${BUILD_APPCSXCAD})
+ # build QCSXCAD
+ ExternalProject_Add( QCSXCAD
+ DEPENDS CSXCAD
+ SOURCE_DIR ${PROJECT_SOURCE_DIR}/QCSXCAD
+ CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCSXCAD_ROOT_DIR=${CMAKE_INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
+ )
+
+ # build AppCSXCAD
+ ExternalProject_Add( AppCSXCAD
+ DEPENDS QCSXCAD
+ SOURCE_DIR ${PROJECT_SOURCE_DIR}/AppCSXCAD
+ CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCSXCAD_ROOT_DIR=${CMAKE_INSTALL_PREFIX} -DQCSXCAD_ROOT_DIR=${CMAKE_INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
+ )
+endif()