# The name of our project is "GNURBS". CMakeLists files in this project can # refer to the root source directory of the project as ${HELLO_SOURCE_DIR} and # to the root binary directory of the project as ${HELLO_BINARY_DIR}. cmake_minimum_required (VERSION 3.10 FATAL_ERROR) 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) project(GNURBS) option(GNURBS_ENABLE_TEST "Enable Testing-related binary targets" ON) option(GNURBS_ENABLE_VTK_INTERFACE "Enable VTK integration targets" ON) option(GNURBS_ENABLE_LESSONS "Enable Lessons-related binary targets" OFF) option(GNURBS_ENABLE_CLOTHOID "Enable Clothoids" OFF) IF(NOT TARGET nutil-dynamic AND NOT TARGET nutil-static AND NOT INSIDE_CADXFEM_TREE) add_subdirectory(nutil) endif() include_directories(. ${GNURBS_BINARY_DIR} ${NUTIL_INCLUDE_DIRECTORIES} ${NUTIL_EXTERNAL_INCLUDES}) set(GNURBS_EXTERNAL_INCLUDES ${NUTIL_EXTERNAL_INCLUDES} ${NUTIL_INCLUDE_DIRECTORIES} CACHE STRING "Gnurbs External include directories" FORCE) set(GNURBS_EXTERNAL_LIBRARY_DIRS ${NUTIL_EXTERNAL_LIBRARY_DIRS} ${CMAKE_CURRENT_BINARY_DIR}/nutil CACHE STRING "Gnurbs External library dirs" FORCE) set(GNURBS_EXTERNAL_STATIC_LIBRARIES ${NUTIL_EXTERNAL_LIBRARIES} ${NUTIL_STATIC_LIBRARIES} CACHE STRING "Gnurbs External libraries dirs" FORCE) set(GNURBS_EXTERNAL_DYNAMIC_LIBRARIES ${NUTIL_EXTERNAL_LIBRARIES} ${NUTIL_DYNAMIC_LIBRARIES} CACHE STRING "Gnurbs External libraries dirs" FORCE) if(GNURBS_ENABLE_CLOTHOID) add_subdirectory(clothoid) include_directories(. ${GNURBS_BINARY_DIR} ${NUTIL_INCLUDE_DIRECTORIES} ${NUTIL_EXTERNAL_INCLUDES} clothoid/src) SET(ENABLE_CLOTHOID ON) endif(GNURBS_ENABLE_CLOTHOID) configure_file(gnurbsconfig.h.in gnurbsconfig.h) add_subdirectory(api) include_directories (${GNURBS_SOURCE_DIR}/api) link_directories (${GNURBS_BINARY_DIR}/api) if(GNURBS_ENABLE_VTK_INTERFACE AND HAS_VTK_INTERFACE) # Find VTK find_package(VTK REQUIRED) if(NOT VTK_DIR) message(FATAL_ERROR "Please set VTK_DIR.") endif(NOT VTK_DIR) include(${VTK_USE_FILE}) include_directories (${GNURBS_SOURCE_DIR}/vtk ${NUTIL_INCLUDE_DIRECTORIES} ${NUTIL_EXTERNAL_INCLUDES}) link_directories (${GNURBS_BINARY_DIR}/vtk ${NUTIL_EXTERNAL_LIBRARY_DIRS}) add_subdirectory(vtk) endif(GNURBS_ENABLE_VTK_INTERFACE AND HAS_VTK_INTERFACE) if(GNURBS_ENABLE_FLTK_INTERFACE AND HAS_FLTK_INTERFACE) include_directories (${GNURBS_SOURCE_DIR}/fltk ${NUTIL_INCLUDE_DIRECTORIES} ${NUTIL_EXTERNAL_INCLUDES}) link_directories (${GNURBS_BINARY_DIR}/fltk ${NUTIL_EXTERNAL_LIBRARY_DIRS}) add_subdirectory(fltk) endif(GNURBS_ENABLE_FLTK_INTERFACE AND HAS_FLTK_INTERFACE) add_subdirectory(test)