PROJECT(PIQSL)

SET(PIQSLAPP_SRCS
	piqsl.cpp
	piqslbase.cpp
	image.cpp
	framebuffer.cpp
	book.cpp
	bookbrowser.cpp
	displayserverimage.cpp
	piqsl_ui.fl)

SET(PIQSLAPP_HDRS
	piqsl.h
	piqslbase.h
	image.h
	book.h
	framebuffer.h
	bookbrowser.h
	displayserverimage.h)

SET(PIQSLDISPLAY_SRCS
	piqsldisplay.cpp
	displayhelpers.c)

ADD_DEFINITIONS(-DPIQSL_EXPORTS -DTIXML_USE_STL)

INCLUDE(${AQSISTYPES_SOURCE_DIR}/export.cmake)
INCLUDE(${AQSISTEX_SOURCE_DIR}/export.cmake)
INCLUDE(${DDMANAGER_SOURCE_DIR}/export.cmake)
INCLUDE(${TINYXML_SOURCE_DIR}/export.cmake)
INCLUDE(${ARGPARSE_SOURCE_DIR}/export.cmake)

INCLUDE(${TINYXML_SOURCE_DIR}/local.cmake)

INCLUDE_DIRECTORIES(${AQSIS_TIFF_INCLUDE_DIR})
INCLUDE_DIRECTORIES(${AQSIS_ZLIB_INCLUDE_DIR})
INCLUDE_DIRECTORIES(${AQSIS_BOOST_INCLUDE_DIR})

ADD_LIBRARY(piqsldisplay SHARED 
			${PIQSLDISPLAY_SRCS}
			${TINYXML_SRCS} ${TINYXML_HDRS}
			${INFORES_SRCS})
# Generate the display declaration for the aqsisrc file.
GET_TARGET_PROPERTY(LOCOFPIQSL piqsldisplay LOCATION)
GET_FILENAME_COMPONENT(DISPLAYLIB ${LOCOFPIQSL} NAME)

SET(LINKLIBS ${AQSIS_PIQSLDISPLAY_SYSTEM_LINKLIBS})
INCLUDE(${AQSISTYPES_SOURCE_DIR}/link.cmake)
INCLUDE(${TINYXML_SOURCE_DIR}/link.cmake)

TARGET_LINK_LIBRARIES(piqsldisplay ${LINKLIBS})

INSTALL(TARGETS piqsldisplay 
	RUNTIME DESTINATION ${DISPLAYSDIR}
	LIBRARY DESTINATION ${DISPLAYSDIR}
	ARCHIVE DESTINATION ${LIBDIR})

#
# piqsl application
#

INCLUDE(${PROJECT_SOURCE_DIR}/export.cmake)
INCLUDE_DIRECTORIES(${AQSIS_FLTK_INCLUDE_DIR})

FLTK_WRAP_UI(piqsl piqsl_ui.fl)

INCLUDE_DIRECTORIES(${AQSIS_BOOST_INCLUDE_DIR})

ADD_DEFINITIONS(-DPIQSL_APP_EXPORTS -DTIXML_USE_STL)

ADD_EXECUTABLE(piqsl ${piqsl_FLTK_UI_SRCS} 
				${PIQSLAPP_SRCS} ${PIQSLAPP_HDRS}
				${TINYXML_SRCS} ${TINYXML_HDRS}
				${INFORES_SRCS}
				${ICONRES_SRCS})

SET(LINKLIBS ${AQSIS_TIFF_LIBRARIES} ${AQSIS_ZLIB_LIBRARIES} ${AQSIS_FLTK_LIBRARIES} ${AQSIS_BOOST_THREAD_LIBRARY} ${AQSIS_PIQSL_SYSTEM_LINKLIBS})
INCLUDE(${AQSISTYPES_SOURCE_DIR}/link.cmake)
INCLUDE(${AQSISTEX_SOURCE_DIR}/link.cmake)
INCLUDE(${ARGPARSE_SOURCE_DIR}/link.cmake)
INCLUDE(${TINYXML_SOURCE_DIR}/link.cmake)

TARGET_LINK_LIBRARIES(piqsl ${LINKLIBS})

INSTALL(TARGETS piqsl 
	RUNTIME DESTINATION ${BINDIR})

SOURCE_GROUP("Header Files" FILES ${PIQSLAPP_HDRS})

#
# Add necessary resource fork to binaries linked against FLTK (OS X)
#
IF(AQSIS_RESOURCE_EXECUTABLE_FOUND)
	ADD_CUSTOM_COMMAND(TARGET piqsl
		POST_BUILD
		COMMAND ${AQSIS_RESOURCE_EXECUTABLE}
		ARGS -t APPL -o piqsl ${AQSIS_FLTK_INCLUDE_DIR}/FL/mac.r
		WORKING_DIRECTORY ${BINDIR}
	)
ENDIF(AQSIS_RESOURCE_EXECUTABLE_FOUND)
