# 20130121 - Project minini - http://code.google.com/p/minini/
#
cmake_minimum_required (VERSION 2.8)

project (minini)

# The version number.
set (mi_MAJOR 1)
set (mi_MINOR 2)
set (mi_AGE   2)

# to distinguish between debug and release lib in windows
if (WIN32)
    set( CMAKE_DEBUG_POSTFIX "d" ) # little effect in unix
endif (WIN32)

if(CMAKE_COMPILER_IS_GNUCXX)
    set(WARNING_FLAGS_CXX "-Wall")
    set(WARNING_FLAGS_C   "-Wall")
endif(CMAKE_COMPILER_IS_GNUCXX)

if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") 
   set (WARNING_FLAGS_CXX "-Wall -Wno-overloaded-virtual")
   set (WARNING_FLAGS_C   "-Wall")
endif() 

if(WIN32)
    if(MSVC)
        # turn off various warnings
        # foreach(warning 4244 4251 4267 4275 4290 4786 4305 4996)
        #     SET(WARNING_FLAGS "${WARNING_FLAGS} /wd${warning}")
        # endforeach(warning)
        set(MSVC_FLAGS "-DNOMINMAX -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D__CRT_NONSTDC_NO_WARNINGS")
        #if (${MSVC_VERSION} EQUAL 1600)
        #    set( MSVC_LD_FLAGS "/FORCE:MULTIPLE" )
        #endif (${MSVC_VERSION} EQUAL 1600)
    endif(MSVC)
    set(NOMINMAX 1)
endif(WIN32)

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS_C} ${MSVC_FLAGS} -D_REENTRANT")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS_CXX} ${MSVC_FLAGS} -D_REENTRANT ${BOOST_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${MSVC_LD_FLAGS}")

include_directories ("${PROJECT_SOURCE_DIR}/dev")

# add a VERSION define
add_definitions( -DVERSION="${mi_MAJOR}.${mi_MINOR}.${mi_AGE}" )

set(mi_SRCS dev/minIni.c)
set(mi_HDRS dev/minIni.h dev/minGlue.h)
add_library(minIni ${mi_SRCS} ${mi_HDRS})
list(APPEND EXTRA_LIBS minIni)

add_definitions( -DTEST_INI="${PROJECT_SOURCE_DIR}/dev/test.ini" )
add_definitions( -DTEST_INI2="${PROJECT_SOURCE_DIR}/dev/testplain.ini" )

set(t1_SRCS dev/test.c)
add_executable(testIni ${t1_SRCS})
target_link_libraries(testIni ${EXTRA_LIBS} )
if (WIN32)
    set_target_properties( testIni PROPERTIES DEBUG_POSTFIX "d" )
endif (WIN32)
# install?

set(t2_SRCS dev/test2.cc)
add_executable(testIni2 ${t2_SRCS})
target_link_libraries(testIni2 ${EXTRA_LIBS} )
if (WIN32)
    set_target_properties( testIni2 PROPERTIES DEBUG_POSTFIX "d" )
endif (WIN32)
# install

# eof
