#// Moshade - Compute average cross section for 3D shapes #// Copyright (C) 2017-2023 E. Bechet, ... #// #// See the LICENSE file for license information and contributions. #// Please report all bugs and problems to . # The name of our project is "MOSHADE". CMakeLists files in this project can # refer to the root source directory of the project as ${MOSHADE_SOURCE_DIR} and # to the root binary directory of the project as ${MOSHADE_BINARY_DIR}. project(dynamole) INCLUDE(CTest) ENABLE_TESTING() cmake_minimum_required (VERSION 3.10 FATAL_ERROR) find_package(OpenMP) if (OPENMP_FOUND) set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") endif() if(DEFINED CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "Choose build type") else(DEFINED CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose build type") endif(DEFINED CMAKE_BUILD_TYPE) option(GRAPHICAL_INTERFACE "Enable Dynamole graphical interface" OFF) if(GRAPHICAL_INTERFACE) set(DYNAMOLE_GRAPHICAL_INTERFACE ON) else(GRAPHICAL_INTERFACE) set(ENABLE_VTK_INTERFACE OFF CACHE BOOL "Enable VTK integration targets") set(ENABLE_FLTK_INTERFACE OFF CACHE BOOL "Enable FLTK integration targets") endif() IF(NOT TARGET nutil-dynamic AND NOT TARGET nutil-static AND NOT INSIDE_CADXFEM_TREE) add_subdirectory(nutil) endif() include_directories(. ${dynamole_BINARY_DIR} ${NUTIL_INCLUDE_DIRECTORIES} ${NUTIL_EXTERNAL_INCLUDES}) set(DYNAMOLE_EXTERNAL_INCLUDES ${NUTIL_EXTERNAL_INCLUDES} ${NUTIL_INCLUDE_DIRECTORIES} CACHE STRING "DYNAMOLE External include directories") set(DYNAMOLE_EXTERNAL_LIBRARY_DIRS ${NUTIL_EXTERNAL_LIBRARY_DIRS} ${CMAKE_CURRENT_BINARY_DIR}/nutil CACHE STRING "DYNAMOLE External library dirs") set(DYNAMOLE_EXTERNAL_STATIC_LIBRARIES ${NUTIL_STATIC_LIBRARIES} CACHE STRING "DYNAMOLE External libraries dirs") set(DYNAMOLE_EXTERNAL_DYNAMIC_LIBRARIES ${NUTIL_DYNAMIC_LIBRARIES} CACHE STRING "DYNAMOLE External libraries dirs") # include_directories(. ${dynamole_BINARY_DIR} ) file(GLOB HEADERS *.h*) set(DYNAMOLE_API ${HEADERS}) file(GLOB SRC *.c*) set(DYNAMOLE_SRC ${SRC} ) configure_file(dynamoleconfig.h.in dynamoleconfig.h) add_executable(dynamole ${DYNAMOLE_SRC} ) target_link_libraries(dynamole ${DYNAMOLE_EXTERNAL_DYNAMIC_LIBRARIES} ) ADD_TEST(NAME test_dynamole WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND dynamole "test.mol" "1") set_tests_properties(test_dynamole PROPERTIES PASS_REGULAR_EXPRESSION "zzz2\\.508816e\\+02") IF (UNIX) install(TARGETS dynamole RUNTIME DESTINATION /usr/local/bin LIBRARY DESTINATION /usr/local/lib ARCHIVE DESTINATION /usr/local/lib) SET(CPACK_GENERATOR "DEB") SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Eric Bechet") #required endif() INCLUDE(CPack)