pcsx2/plugins/GSnull/CMakeLists.txt
gregory.hainaut fa793cca25 cmake:
* move machine optimization in the global setup. In same time use i686 instead of i486
* Also build the debug with fvisibility=hidden No reason to use it only on devel. (actually same as codeblock)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3628 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 19:05:02 +00:00

103 lines
2.1 KiB
CMake

# 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 GSnull)
set(CommonFlags
-fvisibility=hidden
-Wall
)
set(OptimizationFlags
-O2
-DNDEBUG
)
# 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} ${OptimizationFlags})
endif(CMAKE_BUILD_TYPE STREQUAL Devel)
# Release - Build
if(CMAKE_BUILD_TYPE STREQUAL Release)
# add defines
add_definitions(${CommonFlags} ${OptimizationFlags})
endif(CMAKE_BUILD_TYPE STREQUAL Release)
# GSnull sources
set(GSnullSources
GifTransfer.cpp
GS.cpp
Registers.cpp)
# GSnull headers
set(GSnullHeaders
GifTransfer.h
GS.h
Registers.h)
# GSnull Linux sources
set(GSnullLinuxSources
Linux/Config.cpp
Linux/GSLinux.cpp
Linux/Linux.cpp)
# GSnull Linux headers
set(GSnullLinuxHeaders
Linux/Config.h
Linux/GSLinux.h
Linux/Linux.h)
# GSnull null sources
set(GSnullnullSources
null/GSnull.cpp)
# GSnull null headers
set(GSnullnullHeaders
null/GSnull.h)
# GSnull Windows sources
set(GSnullWindowsSources
Windows/Config.cpp
Windows/GS.def
Windows/GS.rc
Windows/GSwin.cpp
Windows/Win32.cpp)
# GSnull Windows headers
set(GSnullWindowsHeaders
)
# add additional include directories
include_directories(.)
# add library
add_library(${Output} SHARED
${GSnullSources}
${GSnullHeaders}
${GSnullnullSources}
${GSnullnullHeaders}
${GSnullLinuxSources}
${GSnullLinuxHeaders})
# set output directory
set_target_properties(${Output} PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/plugins)
# 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 "")