# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # ##### # # # # # #### ##### ###### # # # # # # # # # # # # # # ## # # # # # # # # # # # ##### # # # # #### # ### # # # # ##### # # # # # # # # # # # # # # # # # ## # # # # # # # # #### # ###### # # ##### ##### # # # # # # This file is part of openGJK. # # # # openGJK is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # any later version. # # # # openGJK is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See The # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with openGJK. If not, see . # # # # openGJK: open-source Gilbert-Johnson-Keerthi algorithm # # Copyright (C) Mattia Montanari 2018 - 2019 # # http://iel.eng.ox.ac.uk/?page_id=504 # # # # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # message( "[${PROJECT_NAME}] CMake setting ..") message(STATUS "Version : " ${openGJK_VERSION} ) message(STATUS "Build type : " ${CMAKE_BUILD_TYPE} ) # Select source files set( SOURCE_FILES src/openGJK.c ) set( SOURCE_HEADS include/openGJK/openGJK.h) IF(USE_PREDICATES) # for adpative floating-point artim. set( SOURCE_FILES ${SOURCE_FILES} ext/predicates.c) set( SOURCE_HEADS ${SOURCE_HEADS} ext/predicates.h) # Add flag for adpative floating-point artim. add_definitions(-DADAPTIVEFP) ENDIF() IF(BUILD_STATIC_LIB) message(STATUS "Library type: " Static ) add_library(${PROJECT_NAME} STATIC ${SOURCE_FILES} ${SOURCE_HEADS}) add_definitions(-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE -DBUILD_SHARED_LIBS=FALSE) ELSE() message(STATUS "Library type: " Shared ) add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES} ${SOURCE_HEADS}) add_definitions(-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE -DBUILD_SHARED_LIBS=FALSE) ENDIF(BUILD_STATIC_LIB) # PLATFORM-SPECIFIC SETTING if (UNIX) find_library(M_LIB m) set(CMAKE_C_FLAGS "-lm") else () set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif () find_package(OpenMP) if (OPENMP_FOUND) set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}") endif() # ADD DEFAULT COMPILER FLAGS include(CompilerFlags) # Link include file target_include_directories( ${PROJECT_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") target_link_libraries(${PROJECT_NAME} ${CMOCKA_LIBRARY} OpenMP::OpenMP_C ) IF(USE_PREDICATES) # for adpative floating-point artim. target_include_directories( ${PROJECT_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/ext ) ENDIF()