diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 65 |
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() |