cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(3dstool)
if(MSVC11)
  set(CMAKE_GENERATOR_TOOLSET "v110_xp" CACHE STRING "Name of generator toolset." FORCE)
endif()
if(MSVC12)
  set(CMAKE_GENERATOR_TOOLSET "v120_xp" CACHE STRING "Name of generator toolset." FORCE)
endif()
set(_3DSTOOL_MAJOR 1)
set(_3DSTOOL_MINOR 0)
set(_3DSTOOL_PATCHLEVEL 9)
if(UNIX)
  set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
endif()
option(BUILD64 "Build x86_64(unix only)" ON)
set(CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}")
set(ROOT_SOURCE_DIR "${PROJECT_SOURCE_DIR}")
if(WIN32)
  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
    set(COMMON_INCLUDE_DIR "${ROOT_SOURCE_DIR}/dep/include/windows_x86_64")
    set(COMMON_LIBRARY_DIR "${ROOT_SOURCE_DIR}/dep/lib/windows_x86_64")
  else()
    set(COMMON_INCLUDE_DIR "${ROOT_SOURCE_DIR}/dep/include/windows_x86_32")
    set(COMMON_LIBRARY_DIR "${ROOT_SOURCE_DIR}/dep/lib/windows_x86_32")
  endif()
elseif(APPLE)
  if(BUILD64)
    set(COMMON_INCLUDE_DIR "${ROOT_SOURCE_DIR}/dep/include/mac_x86_64")
    set(COMMON_LIBRARY_DIR "${ROOT_SOURCE_DIR}/dep/lib/mac_x86_64")
  else()
    set(COMMON_INCLUDE_DIR "${ROOT_SOURCE_DIR}/dep/include/mac_x86_32")
    set(COMMON_LIBRARY_DIR "${ROOT_SOURCE_DIR}/dep/lib/mac_x86_32")
  endif()
elseif(NOT CYGWIN)
  if(BUILD64)
    set(COMMON_INCLUDE_DIR "${ROOT_SOURCE_DIR}/dep/include/linux_x86_64")
    set(COMMON_LIBRARY_DIR "${ROOT_SOURCE_DIR}/dep/lib/linux_x86_64")
  else()
    set(COMMON_INCLUDE_DIR "${ROOT_SOURCE_DIR}/dep/include/linux_x86_32")
    set(COMMON_LIBRARY_DIR "${ROOT_SOURCE_DIR}/dep/lib/linux_x86_32")
  endif()
endif()
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${ROOT_SOURCE_DIR}/cmake")
include(AddTarget)
include(AutoFiles)
if(UNIX)
  if(CYGWIN)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
  else()
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
  endif()
  if(BUILD64)
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
  else()
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
  endif()
endif()
if(WIN32)
  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/bin")
else()
  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/bin/${CMAKE_BUILD_TYPE}")
endif()
add_definitions(-D_3DSTOOL_VERSION="${_3DSTOOL_MAJOR}.${_3DSTOOL_MINOR}.${_3DSTOOL_PATCHLEVEL}")
if(WIN32)
  add_definitions(-D_CRT_SECURE_NO_WARNINGS)
else()
  add_definitions(-D_FILE_OFFSET_BITS=64)
  if(APPLE)
    add_definitions(-D_3DSTOOL_APPLE)
  else()
    add_definitions(-Wno-multichar -Wno-unused-result)
  endif()
endif()
add_subdirectory(src)
