## usage: cmake -DCMAKE_INSTALL_PREFIX= . ## 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()