https://github.com/davepagurek/StrokeStrip
Raw File
Tip revision: c6177f4f1a41b1684c4c92ae36b5ffbc1e5dd1d4 authored by Dave Pagurek on 10 April 2021, 16:33:25 UTC
Add missing return, add _USE_MATH_DEFINES
Tip revision: c6177f4
CMakeLists.txt
cmake_minimum_required(VERSION 3.3)

project(strokestrip C)

# Set c++11
# https://stackoverflow.com/questions/10851247/how-to-activate-c-11-in-cmake
if (POLICY CMP0025)
  cmake_policy(SET CMP0025 NEW)
endif ()
set (CMAKE_CXX_STANDARD 14)

option(CXX "enable C++ compilation" ON)
if(CXX)
    enable_language(CXX)
endif()

set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR})
if(NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE "Release")
endif()
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")

# Visual Studio compiler with static runtime libraries
if(MSVC AND MT)
    set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
    set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
    set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT")
    set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd")
endif()

find_package(GUROBI REQUIRED)

include_directories(${GUROBI_INCLUDE_DIRS})

# Source files
file(GLOB SOURCE_FILES src/*.cpp src/*.h)
add_executable(${CMAKE_PROJECT_NAME} ${SOURCE_FILES})

if(CXX)
    set(CMAKE_CXX_STANDARD 11)
    target_link_libraries(${CMAKE_PROJECT_NAME} optimized ${GUROBI_CXX_LIBRARY} debug ${GUROBI_CXX_DEBUG_LIBRARY})
endif()

target_link_libraries(${CMAKE_PROJECT_NAME} ${GUROBI_LIBRARY})

if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
    include(FeatureSummary)
    feature_summary(WHAT ALL)
endif()

# Eigen
find_package(Eigen3 CONFIG REQUIRED)
target_link_libraries(${CMAKE_PROJECT_NAME} Eigen3::Eigen)

# Glm
add_subdirectory(external/glm)
target_link_libraries(${CMAKE_PROJECT_NAME} glm)

# Cornucopia
add_subdirectory(external/Cornucopia)
target_link_libraries(${CMAKE_PROJECT_NAME} Cornucopia)

target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE external/)
back to top