cmake_minimum_required(VERSION 3.7) project(GrafX2) set(CMAKE_C_STANDARD 99) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") find_package(SDL2 REQUIRED) find_package(SDL2_image REQUIRED) find_package(SDL2_ttf REQUIRED) find_package(TIFF REQUIRED) find_package(PNG REQUIRED) find_package(ZLIB REQUIRED) set(Z_LIB_PATH CACHE FILEPATH "") set(SRC src/2gsformats.c src/SFont.c src/brush.c src/brush_ops.c src/buttons.c src/buttons_effects.c src/c64formats.c src/c64load.c src/colorred.c src/cpcformats.c src/engine.c src/factory.c src/fileformats.c src/filesel.c src/fileseltools.c # src/generatedoc.c src/gfx2log.c src/gfx2mem.c src/gfx2surface.c src/giformat.c src/graph.c src/help.c src/hotkeys.c src/ifformat.c src/init.c src/input.c src/io.c src/keyboard.c src/layers.c src/libraw2crtc.c src/loadrecoil.c src/loadsave.c src/loadsavefuncs.c src/main.c src/misc.c src/miscfileformats.c src/motoformats.c src/mountlist.c src/msxformats.c src/oldies.c src/op_c.c src/operatio.c src/osdep.c src/packbits.c src/pages.c src/palette.c src/pngformat.c src/pversion.c src/pxdouble.c src/pxquad.c src/pxsimple.c src/pxtall.c src/pxtall2.c src/pxtall3.c src/pxtriple.c src/pxwide.c src/pxwide2.c src/readini.c src/readline.c src/realpath.c src/recoil.c src/saveini.c src/sdlscreen.c src/setup.c src/shade.c src/special.c src/stformats.c src/text.c src/tifformat.c src/tiles.c src/transform.c src/unicode.c src/version.c # windows specific # src/win32screen.c src/windows.c # linux specific # src/x11screen.c ) set(HEADER src/SDLMain.h src/SFont.h src/bitcount.h src/brush.h src/buttons.h src/c64load.h src/c64picview_inc.h src/colorred.h src/const.h src/cpc_scr_simple_loader.h src/engine.h src/errors.h src/factory.h src/fileformats.h src/filesel.h src/fileseltools.h src/gfx2log.h src/gfx2mem.h src/gfx2surface.h src/global.h src/graph.h src/haiku.h src/help.h src/helpfile.h src/hotkeys.h src/impdraw_loader.h src/init.h src/init_buttons.h src/input.h src/io.h src/keyboard.h src/keycodes.h src/layers.h src/libraw2crtc.h src/loadsave.h src/loadsavefuncs.h src/misc.h src/mountlist.h src/oldies.h src/op_c.h src/operatio.h src/osdep.h src/packbits.h src/pages.h src/palette.h src/pxdouble.h src/pxquad.h src/pxsimple.h src/pxtall.h src/pxtall2.h src/pxtall3.h src/pxtriple.h src/pxwide.h src/pxwide2.h src/readini.h src/readline.h src/realpath.h src/recoil.h src/saveini.h src/screen.h src/sdlscreen.h src/setup.h src/shade.h src/special.h src/struct.h src/text.h src/tiles.h src/transform.h src/unicode.h src/win32screen.h src/windows.h src/6502types.h # -DCPU_6502_STATIC -DCPU_6502_USE_LOCAL_HEADER -DCPU_6502_DEPENDENCIES_H=\"6502types.h\" 3rdparty/6502/sources/6502.c ) set(MAC_SRC src/pasteboard.m ) # 6502.h: 6502.c # 6502.c: ../3rdparty/6502/sources/6502.c if(APPLE) # Eat it, haha! add_definitions(-D__macosx__) endif() add_definitions(-DUSE_SDL2) include_directories(${CMAKE_SOURCE_DIR}/src) include_directories(${SDL2_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIRS} ${SDL2_ttf_INCLUDE_DIRS}) include_directories(${PNG_INCLUDE_DIR}) include_directories(${CMAKE_SOURCE_DIR}/3rdparty/6502/API/) include_directories(${CMAKE_SOURCE_DIR}/3rdparty/6502/API/emulation/CPU/) include_directories(${Z_LIB_PATH}) include_directories(${TIFF_INCLUDE_DIR}) include_directories(${ZLIB_INCLUDE_DIRS}) # There are two Z libs. if(APPLE) add_executable(grafx2 ${SRC} ${MAC_SRC} ${HEADER}) else() add_executable(grafx2 ${SRC} ${HEADER}) endif() if(APPLE) target_link_libraries(grafx2 ${SDL2_LIBRARIES} ${SDL2_IMAGE_LIBRARIES} ${SDL2_TTF_LIBRARIES} ${PNG_LIBRARY} ${TIFF_LIBRARIES} ${ZLIB_LIBRARIES} "-framework QuartzCore" "-framework Cocoa" ) else() target_link_libraries(grafx2 ${SDL2_LIBRARIES} ${PNG_LIBRARY} ${TIFF_LIBRARIES} ${ZLIB_LIBRARIES}) endif()