cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
project(3dsfont)
if(MSVC_VERSION EQUAL 1700 AND MSVC_IDE)
  set(CMAKE_GENERATOR_TOOLSET "v110_xp" CACHE STRING "Name of generator toolset." FORCE)
endif()
if(MSVC_VERSION EQUAL 1800 AND MSVC_IDE)
  set(CMAKE_GENERATOR_TOOLSET "v120_xp" CACHE STRING "Name of generator toolset." FORCE)
endif()
if(MSVC_VERSION EQUAL 1900 AND MSVC_IDE)
  set(CMAKE_GENERATOR_TOOLSET "v140_xp" CACHE STRING "Name of generator toolset." FORCE)
endif()
if(MSVC_VERSION GREATER 1909 AND MSVC_VERSION LESS 1920 AND MSVC_IDE)
  set(CMAKE_GENERATOR_TOOLSET "v141_xp" CACHE STRING "Name of generator toolset." FORCE)
endif()
if(MSVC_VERSION GREATER 1600 AND NOT MSVC_IDE)
  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE,5.02")
  else()
    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE,5.01")
  endif()
endif()
if(APPLE)
  set(CMAKE_MACOSX_RPATH 1)
endif()
if(NOT MSVC_IDE AND NOT XCODE_VERSION AND NOT CMAKE_BUILD_TYPE)
  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}")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${ROOT_SOURCE_DIR}/cmake")
include(AddDep)
include(AddTarget)
include(AutoFiles)
ADD_DEP_INCLUDE_DIR("${ROOT_SOURCE_DIR}/dep/libsundaowen")
if(UNIX OR MINGW)
  if(CYGWIN)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
  else()
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
    if(NOT APPLE)
      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++")
    endif()
  endif()
  if((UNIX AND BUILD64) OR (MINGW AND CMAKE_SIZEOF_VOID_P EQUAL 8))
    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(MSVC_IDE OR XCODE_VERSION)
  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/bin")
else()
  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/bin/${CMAKE_BUILD_TYPE}")
endif()
if(WIN32)
  add_definitions(-D_CRT_SECURE_NO_WARNINGS)
endif()
if(UNIX OR MINGW)
  add_definitions(-D_FILE_OFFSET_BITS=64)
  if(APPLE)
    add_definitions(-Wno-shift-overflow)
  else()
    add_definitions(-Wno-multichar -Wno-unused-result)
  endif()
  set(CMAKE_INSTALL_RPATH .)
  set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
endif()
add_subdirectory(src/bcfnt2charset)
add_subdirectory(src/bffnt2bffkn)
add_subdirectory(src/bffnt2charset)
add_subdirectory(src/charset2xggp)
add_subdirectory(src/charset2xllt)
add_subdirectory(src/charset2xlor)
add_subdirectory(src/mergecharset)
