PROJECT(wx-gui)

FILE(
	RELATIVE_PATH RESOURCES_DIR
	"${CMAKE_CURRENT_BINARY_DIR}"
	"${CMAKE_CURRENT_SOURCE_DIR}/resources"
)
CONFIGURE_FILE(
	resources/resources.rc
	"${CMAKE_CURRENT_BINARY_DIR}/resources.rc"
)

INCLUDE_DIRECTORIES("${confio_BINARY_DIR}")

SET(
	sources
	FileOps.cpp FileOps.h
	Log.cpp Log.h OperationLog.cpp OperationLog.h
	LogObserver.h TextStyle.h StyledText.h
	TwoPhaseLogRecord.cpp TwoPhaseLogRecord.h
	AbstractLogView.cpp AbstractLogView.h
	ConfigFile.cpp ConfigFile.h
	ForwardingConfigFile.cpp ForwardingConfigFile.h
	UrlsFile.cpp UrlsFile.h
	ContentFilters.cpp ContentFilters.h
	ContentFilterGroup.cpp ContentFilterGroup.h
	ConfigErrorHandler.cpp ConfigErrorHandler.h
	NetworkActivityHandler.cpp NetworkActivityHandler.h
	FilterJsLogHandler.cpp FilterJsLogHandler.h
	RequestLogHandler.cpp RequestLogHandler.h
	RequestLogWindow.cpp RequestLogWindow.h
	RequestLogIcons.cpp RequestLogIcons.h
	AutoIndentingTextCtrl.cpp AutoIndentingTextCtrl.h
	MvcListModel.cpp MvcListModel.h MvcListView.cpp MvcListView.h
	CheckTreeView.cpp CheckTreeView.h
	TrayIcon.cpp TrayIcon.h TrayMenu.cpp TrayMenu.h
	AnimatedTrayIcon.cpp AnimatedTrayIcon.h
	AboutDialog.cpp AboutDialog.h
	LogDialog.cpp LogDialog.h LogWidget.cpp LogWidget.h
	BasicConfigDialog.cpp BasicConfigDialog.h
	AdvancedConfigWindow.cpp AdvancedConfigWindow.h
	FilterConfigWindow.cpp FilterConfigWindow.h
	ForwardingConfigWindow.cpp ForwardingConfigWindow.h
	Application.cpp Application.h
	main.cpp
)

SOURCE_GROUP(Sources FILES ${sources})
SOURCE_GROUP(Resources FILES resources/resources.rc)

ADD_EXECUTABLE(
	bfilter-gui WIN32
	${sources} ${CMAKE_CURRENT_BINARY_DIR}/resources.rc
)
SET_TARGET_PROPERTIES(
	bfilter-gui PROPERTIES
	OUTPUT_NAME bfilter
	LINK_FLAGS "${SIGC_LINKFLAGS}"
)

ADD_DEPENDENCIES(bfilter-gui confio)

FILE(GLOB resource_files resources/*.ico resources/*.bmp)

SET_SOURCE_FILES_PROPERTIES(
	resources/resources.rc
	PROPERTIES
	OBJECT_DEPENDS ${resource_files}
)

TARGET_LINK_LIBRARIES(
	bfilter-gui
	main confio htmllexer htmldetector headerparser xmllexer js js_env
	fdlibm nspr_impl foundation reactor regex wxbase${WX_LIB_SUFFIX} wxpng
	${ACE_LIBRARY} ${SIGC_LIBRARY} ${ZLIB_LIBRARY}
	ws2_32 advapi32 kernel32.lib user32.lib gdi32.lib
	comdlg32.lib winspool.lib winmm.lib shell32.lib
	comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib
)

IF(MSVC)
	TARGET_LINK_LIBRARIES(bfilter-gui wxmsw28_core wxmsw28_adv)
ENDIF(MSVC)
