# Check that people use the good file if(NOT TOP_CMAKE_WAS_SOURCED) message(FATAL_ERROR " You did not 'cmake' the good CMakeLists.txt file. Use the one in the top dir. It is advice to delete all wrongly generated cmake stuff => CMakeFiles & CMakeCache.txt") endif(NOT TOP_CMAKE_WAS_SOURCED) # plugin name set(Output GSdx-0.1.16) set(CommonFlags -D_LINUX -fno-operator-names -mpreferred-stack-boundary=2 -mfpmath=sse #-Wstrict-aliasing # Allow to track strict aliasing issue. -Wunused-variable -std=c++0x -fno-strict-aliasing ) set(OptimizationFlags -O2 -DNDEBUG ) # Debug - Build if(CMAKE_BUILD_TYPE STREQUAL Debug) # add defines add_definitions(${CommonFlags} -g -Wall) endif(CMAKE_BUILD_TYPE STREQUAL Debug) # Devel - Build if(CMAKE_BUILD_TYPE STREQUAL Devel) # add defines add_definitions(${CommonFlags} ${OptimizationFlags} -g -W) endif(CMAKE_BUILD_TYPE STREQUAL Devel) # Release - Build if(CMAKE_BUILD_TYPE STREQUAL Release) # add defines add_definitions(${CommonFlags} ${OptimizationFlags} -W) endif(CMAKE_BUILD_TYPE STREQUAL Release) set(GSdxSources GPU.cpp GPUDrawScanline.cpp GPUDrawScanlineCodeGenerator.cpp GPULocalMemory.cpp GPURenderer.cpp GPURendererSW.cpp GPUSetupPrimCodeGenerator.cpp GPUState.cpp GS.cpp GSAlignedClass.cpp GSBlock.cpp GSCapture.cpp GSClut.cpp GSCodeBuffer.cpp GSCrc.cpp GSDevice.cpp GSDeviceSDL.cpp GSDeviceSW.cpp GSDeviceNull.cpp GSDirtyRect.cpp GSDrawScanline.cpp GSDrawScanlineCodeGenerator.cpp GSDrawScanlineCodeGenerator.x86.avx.cpp GSDrawScanlineCodeGenerator.x64.cpp GSDrawScanlineCodeGenerator.x86.cpp GSDrawScanlineCodeGenerator.x64.avx.cpp GSDump.cpp GSFunctionMap.cpp GSLinuxDialog.cpp GSLocalMemory.cpp GSPerfMon.cpp GSRasterizer.cpp GSRenderer.cpp GSRendererNull.cpp GSRendererSW.cpp GSSetting.cpp GSSetupPrimCodeGenerator.cpp GSSetupPrimCodeGenerator.x86.avx.cpp GSSetupPrimCodeGenerator.x64.avx.cpp GSSetupPrimCodeGenerator.x86.cpp GSSetupPrimCodeGenerator.x64.cpp GSState.cpp GSTables.cpp GSTexture.cpp GSTextureCache.cpp GSTextureCacheSW.cpp GSTextureNull.cpp GSTextureSW.cpp GSThread.cpp GSUtil.cpp GSVector.cpp GSVertexTrace.cpp GSVertexTrace.x64.avx.cpp GSVertexTrace.x86.cpp GSVertexTrace.x86.avx.cpp GSVertexTrace.x64.cpp GSWnd.cpp GSdx.cpp stdafx.cpp ) set(GSdxHeaders GPU.h GPUDrawScanline.h GPUDrawScanlineCodeGenerator.h GPUDrawingEnvironment.h GPULocalMemory.h GPURenderer.h GPURendererSW.h GPUScanlineEnvironment.h GPUSetupPrimCodeGenerator.h GPUState.h GPUVertex.h GS.h GSAlignedClass.h GSBlock.h GSCapture.h GSClut.h GSCodeBuffer.h GSCrc.h GSDevice.h GSDeviceNull.h GSDirtyRect.h GSDrawScanline.h GSDrawScanlineCodeGenerator.h GSDrawingContext.h GSDrawingEnvironment.h GSDump.h GSFunctionMap.h GSLocalMemory.h GSPerfMon.h GSRasterizer.h GSRenderer.h GSRendererNull.h GSRendererSW.h GSScanlineEnvironment.h GSSetting.h GSSetupPrimCodeGenerator.h GSState.h GSTables.h GSTexture.h GSTextureCache.h GSTextureCacheSW.h GSTextureNull.h GSThread.h GSUtil.h GSVector.h GSVertex.h GSVertexHW.h GSVertexList.h GSVertexSW.h GSVertexTrace.h GSWnd.h GSdx.h stdafx.h xbyak/xbyak.h xbyak/xbyak_bin2hex.h xbyak/xbyak_mnemonic.h xbyak/xbyak_util.h ) # add additional include directories include_directories(.) # add library add_library(${Output} SHARED ${GSdxSources} ${GSdxHeaders} ) # link target with X11 target_link_libraries(${Output} ${X11_LIBRARIES}) # link target with SDL target_link_libraries(${Output} ${SDL_LIBRARY}) # User flags options if(NOT USER_CMAKE_LD_FLAGS STREQUAL "") target_link_libraries(${Output} "${USER_CMAKE_LD_FLAGS}") endif(NOT USER_CMAKE_LD_FLAGS STREQUAL "") if(PACKAGE_MODE) install(TARGETS ${Output} DESTINATION ${PLUGIN_DIR}) else(PACKAGE_MODE) install(TARGETS ${Output} DESTINATION ${CMAKE_SOURCE_DIR}/bin/plugins) endif(PACKAGE_MODE)