pcsx2/plugins/zerogs/opengl/CMakeLists.txt

141 lines
2.7 KiB
CMake

# zerogs Plugin
# plugin name
set(Output zerogs)
set(CommonFlags
-Wall
-Wno-parentheses
)
# Debug - Build
if(CMAKE_BUILD_TYPE STREQUAL Debug)
# add defines
add_definitions(${CommonFlags} -g)
endif(CMAKE_BUILD_TYPE STREQUAL Debug)
# Devel - Build
if(CMAKE_BUILD_TYPE STREQUAL Devel)
# add defines
add_definitions(${CommonFlags} -fvisibility=hidden)
endif(CMAKE_BUILD_TYPE STREQUAL Devel)
# Release - Build
if(CMAKE_BUILD_TYPE STREQUAL Release)
# add defines
add_definitions(${CommonFlags} -fvisibility=hidden)
endif(CMAKE_BUILD_TYPE STREQUAL Release)
# zerogs sources
set(zerogsSources
GifTransfer.cpp
glprocs.c
GSmain.cpp
GLWinX11.cpp
Mem.cpp
rasterfont.cpp
Regs.cpp
targets.cpp
x86.cpp
zerogs.cpp
zpipe.cpp)
# zerogs headers
set(zerogsHeaders
common.h
GifTransfer.h
glprocs.h
GS.h
Mem.h
rasterfont.h
Regs.h
targets.h
x86.h
zerogs.h
zerogsmath.h
zpipe.h)
# zerogs S sources
set(zerogsSSources
x86-32.S)
# zerogs shader sources
set(zerogsShaderSources
ctx0/ps2hw_ctx.fx
ctx1/ps2hw_ctx.fx)
# zerogs Linux sources
set(zerogsLinuxSources
# Linux/callbacks.c
Linux/Conf.cpp
Linux/interface.c
Linux/Linux.cpp
Linux/support.c)
# zerogs Linux headers
set(zerogsLinuxHeaders
Linux/callbacks.h
Linux/interface.h
Linux/Linux.h
Linux/support.h)
# zerogs Windows sources
set(zerogsWindowsSources
Win32/Conf.cpp
Win32/Win32.cpp
Win32/zerogs.def
Win32/zerogs.rc)
# zerogs Windows headers
set(zerogsWindowsHeaders
aviUtil.h
jcofig.h
jmorecfg.h
jpeglib.h
resource.h
resrc1.h
Win32.h)
# change language of .S-files to c++
set_source_files_properties(${zerogsSSources} PROPERTIES LANGUAGE CXX)
# add additional include directories
include_directories(.)
# add library
add_library(${Output} SHARED
${zerogsSources}
${zerogsHeaders}
${zerogsSSources}
${zerogsShaderSources}
${zerogsLinuxSources}
${zerogsLinuxHeaders})
# set output directory
set_target_properties(${Output} PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/plugins)
# copy ps2hw.dat to plugins folder
add_custom_command(TARGET ${Output} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/plugins/zerogs/opengl/Win32/ps2hw.dat ${CMAKE_SOURCE_DIR}/bin/plugins)
# link target with Cg
target_link_libraries(${Output} ${CG_LIBRARIES})
# link target with glew
target_link_libraries(${Output} ${GLEW_LIBRARY})
# link target with opengl
target_link_libraries(${Output} ${OPENGL_LIBRARIES})
# link target with X11
target_link_libraries(${Output} ${X11_LIBRARIES})
# link target with X11 videomod
target_link_libraries(${Output} ${X11_Xxf86vm_LIB})
# 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 "")