#------------------------------------------------------------------- # This file is part of the CMake build system for Scol # # The contents of this file are placed in the public domain. Feel # free to make use of it in any way you like. #------------------------------------------------------------------- ############################################################ # include/Scol core library ############################################################ PROJECT(libOS2d24) # define header and source files for the library set (LIBOS2D24_HEADER_FILES include/active.h include/blg_memory.h include/chainedlist.h include/colors.h include/debug.h include/events.h include/help.h include/importAPI2d.h include/jcomp.h include/jdecomp.h include/KEYSYMDE.h include/loadbmp.h include/macros.h include/mjpeg.h include/Objstr.h include/osversion.h include/performanceinfo.h include/popfile.h include/printer.h include/readpng.h include/scolsys.h include/tests.h include/utils.h ) set (LIBOS2D24_SOURCE_FILES src/active.c src/alphaBlit.c src/chainedlist.c src/classicBlit.c src/colors.cpp src/divers.c src/events.c src/help.c src/jcomp.c src/jdecomp.c src/load2d.c src/loadbmp.c src/main.c src/mjpeg.c src/osversion.c src/performanceinfo.c src/Popfile.c src/printer.c src/readpng.c src/tests.c src/utils.c ) set (LIBOS2D24_LOAD_HEADER_FILES include/load/load2d.h include/load/load_bitmap.h include/load/load_bitmaplist.h include/load/load_button.h include/load/load_combo.h include/load/load_consts.h include/load/load_cursor.h include/load/load_font.h include/load/load_header.h include/load/load_help.h include/load/load_listbox.h include/load/load_listtab.h include/load/load_menu.h include/load/load_printer.h include/load/load_richtext.h include/load/load_rmtctrl.h include/load/load_sound.h include/load/load_taskicon.h include/load/load_text.h include/load/load_tree.h include/load/load_types.h include/load/load_video.h include/load/load_win.h ) set (LIBOS2D24_OBJECTS_HEADER_FILES include/objects/bitmap.h include/objects/bitmaplist.h include/objects/button.h include/objects/checkbox.h include/objects/combo.h include/objects/cursor.h include/objects/font.h include/objects/header.h include/objects/listbox.h include/objects/listtab.h include/objects/menu.h include/objects/richtext.h include/objects/rmtctrl.h include/objects/taskicon.h include/objects/text.h include/objects/tooltip.h include/objects/tree.h include/objects/win.h include/objects/win_events.h include/objects/win_trans.h ) set (LIBOS2D24_OBJECTS_SOURCE_FILES src/objects/alphaBitmap.c src/objects/bitmap.c src/objects/bitmaplist.c src/objects/button.c src/objects/checkbox.c src/objects/combo.c src/objects/cursor.c src/objects/font.c src/objects/header.c src/objects/listbox.c src/objects/listtab.c src/objects/menu.c src/objects/richtext.c src/objects/rmtctrl.c src/objects/taskicon.c src/objects/text.c src/objects/tooltip.c src/objects/tree.c src/objects/win.c src/objects/win_events.c src/objects/win_trans.c ) set (LIBOS2D24_SOUNDS_HEADER_FILES include/sound/audiocmp.h include/sound/sound.h include/sound/wave.h ) set (LIBOS2D24_SOUNDS_SOURCE_FILES src/sound/audiocmp.c src/sound/sound.c src/sound/wave.c ) set (LIBOS2D24_VIDEO_HEADER_FILES include/video/video.h ) set (LIBOS2D24_VIDEO_SOURCE_FILES src/video/video.c ) set (GSMCODEC_HEADER_FILES gsmcodec/config.h gsmcodec/gsm.h gsmcodec/private.h gsmcodec/proto.h gsmcodec/unproto.h ) set (GSMCODEC_SOURCE_FILES gsmcodec/add.c gsmcodec/code.c gsmcodec/debug.c gsmcodec/decode.c gsmcodec/gsm_crea.c gsmcodec/gsm_deco.c gsmcodec/gsm_dest.c gsmcodec/gsm_enco.c gsmcodec/gsm_expl.c gsmcodec/gsm_impl.c gsmcodec/gsm_opti.c gsmcodec/gsm_prin.c gsmcodec/long_ter.c gsmcodec/lpc.c gsmcodec/preproce.c gsmcodec/rpe.c gsmcodec/short_te.c gsmcodec/table.c ) # Add directories includes include_directories(include gsmcodec ${JPEG_INCLUDE_DIR} ${PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR}) # This is how visual studio directories (or filters) are generated. source_group(Header\ Files\\load FILES ${LIBOS2D24_LOAD_HEADER_FILES}) source_group(Header\ Files\\objects FILES ${LIBOS2D24_OBJECTS_HEADER_FILES}) source_group(Header\ Files\\sounds FILES ${LIBOS2D24_SOUNDS_HEADER_FILES}) source_group(Header\ Files\\video FILES ${LIBOS2D24_VIDEO_HEADER_FILES}) source_group(Header\ Files\\gsmcodec FILES ${GSMCODEC_HEADER_FILES}) # Same thing for sources files source_group(Source\ Files\\objects FILES ${LIBOS2D24_OBJECTS_SOURCE_FILES}) source_group(Source\ Files\\sounds FILES ${LIBOS2D24_SOUNDS_SOURCE_FILES}) source_group(Source\ Files\\video FILES ${LIBOS2D24_VIDEO_SOURCE_FILES}) source_group(Source\ Files\\gsmcodec FILES ${GSMCODEC_SOURCE_FILES}) # Add definition for P4 optimizations, warnings removal. add_definitions(-DOPTI_P4 -D_CRT_SECURE_NO_WARNINGS -DPNG_STATIC) set(LIBRARIES ${ZLIB_LIBRARY} ${JPEG_LIBRARY} ${PNG_LIBRARY} ) # setup Scol lib2d os target add_library(libOS2d24 ${Scol_LIB_TYPE} ${LIBOS2D24_HEADER_FILES} ${LIBOS2D24_SOURCE_FILES} ${LIBOS2D24_LOAD_HEADER_FILES} ${LIBOS2D24_OBJECTS_HEADER_FILES} ${LIBOS2D24_OBJECTS_SOURCE_FILES} ${LIBOS2D24_SOUNDS_HEADER_FILES} ${LIBOS2D24_SOUNDS_SOURCE_FILES} ${LIBOS2D24_VIDEO_HEADER_FILES} ${LIBOS2D24_VIDEO_SOURCE_FILES} ${GSMCODEC_HEADER_FILES} ${GSMCODEC_SOURCE_FILES} ) add_dependencies(libOS2d24 kernel) # set the dll version. set_target_properties(libOS2d24 PROPERTIES VERSION ${Scol_VERSION} SOVERSION ${Scol_VERSION_MAJOR}) target_link_libraries(libOS2d24 ${LIBRARIES} comctl32.lib vfw32.lib winmm.lib) # install Scol libOS2d24 scol_config_plugin(libOS2d24) install(FILES ${LIBOS2D24_HEADER_FILES} DESTINATION include/SCOL/plugins/lib2d\ OS\ 24) install(FILES ${LIBOS2D24_LOAD_HEADER_FILES} DESTINATION include/SCOL/plugins/lib2d\ OS\ 24/load) install(FILES ${LIBOS2D24_OBJECTS_HEADER_FILES} DESTINATION include/SCOL/plugins/lib2d\ OS\ 24/objects) install(FILES ${LIBOS2D24_SOUNDS_HEADER_FILES} DESTINATION include/SCOL/plugins/lib2d\ OS\ 24/sound) install(FILES ${LIBOS2D24_VIDEO_HEADER_FILES} DESTINATION include/SCOL/plugins/lib2d\ OS\ 24/video) install(FILES ${GSMCODEC_HEADER_FILES} DESTINATION include/SCOL/plugins/lib2d\ OS\ 24/gsmcodec)