cmake_minimum_required (VERSION 2.6)
# ----------------------------------------------------------------------------
#  CMake file for libjpeg. See root CMakeLists.txt
#
# ----------------------------------------------------------------------------
project(libjpeg)

set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE)
# List of C++ files:

if(MSVC)
    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/jconfig.vc ${CMAKE_CURRENT_SOURCE_DIR}/jconfig.h @ONLY)
endif(MSVC)

include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${CMAKE_CURRENT_BINARY_DIR})

# The .cpp files:
#file(GLOB lib_srcs *.c)
#file(GLOB lib_hdrs *.h)
set(lib_hdrs
    jpeglib.h
    jconfig.h
    jmorecfg.h
    jerror.h
    jinclude.h
    jpegint.h
    jdct.h
    jmemsys.h
    jversion.h
)

set(lib_srcs
    jaricom.c
    jcapimin.c
    jcapistd.c
    jcarith.c
    jccoefct.c
    jccolor.c
    jcdctmgr.c
    jchuff.c
    jcinit.c
    jcmainct.c
    jcmarker.c
    jcmaster.c
    jcomapi.c
    jcparam.c
    jcprepct.c
    jcsample.c
    jctrans.c
    jdapimin.c
    jdapistd.c
    jdarith.c
    jdatadst.c
    jdatasrc.c
    jdcoefct.c
    jdcolor.c
    jddctmgr.c
    jdhuff.c
    jdinput.c
    jdmainct.c
    jdmarker.c
    jdmaster.c
    jdmerge.c
    jdpostct.c
    jdsample.c
    jdtrans.c
    jerror.c
    jfdctflt.c
    jfdctfst.c
    jfdctint.c
    jidctflt.c
    jidctfst.c
    jidctint.c
    jmemmgr.c
    jmemnobs.c
    jquant1.c
    jquant2.c
    jutils.c
    libjpeg.map
)
    
# ----------------------------------------------------------------------------------
# 				Define the library target:
# ----------------------------------------------------------------------------------

set(the_target "libjpeg")

add_library(${the_target} SHARED ${lib_srcs} ${lib_hdrs})

if(MSVC)
    add_definitions(-D_WIN32 -DWIN32 -DNDEBUG -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS)
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /MT /W3 /Ox /Ob2")
endif()

if(UNIX)
     if(CMAKE_COMPILER_IS_GNUCXX OR CV_ICC)
        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
     endif()
endif()

#if(CMAKE_COMPILER_IS_GNUCXX)
#    set_source_files_properties(jcdctmgr.c PROPERTIES COMPILE_FLAGS "-O1")
#endif()

if(WIN32)
  # Postfix of DLLs:
  set(JPEG_DEBUG_POSTFIX d)
else()
  # Postfix of so's:
  set(JPEG_DEBUG_POSTFIX)
endif()

set_target_properties(${the_target}
	PROPERTIES OUTPUT_NAME "${the_target}"
	DEBUG_POSTFIX "${JPEG_DEBUG_POSTFIX}"
	ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib
    LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib
    RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib
	)
	
if(ENABLE_SOLUTION_FOLDERS)
	set_target_properties(${the_target} PROPERTIES FOLDER "jpeg")
endif()	
    