# ########################################################################
# Copyright 2013 Advanced Micro Devices, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ########################################################################
# List the names of common files to compile across all platforms
set( clFFT.Source transform.cpp
accessors.cpp
plan.cpp
repo.cpp
generator.stockham.cpp
generator.transpose.gcn.cpp
generator.transpose.cpp
action.transpose.cpp
generator.copy.cpp
lifetime.cpp
fft_binary_lookup.cpp
md5sum.c
enqueue.cpp
stdafx.cpp )
# Windows only uses dllmain
if( MSVC )
set( clFFT.Source ${clFFT.Source} dllmain.cpp )
endif( )
set( clFFT.Headers private.h
action.h
repo.h
plan.h
lock.h
mainpage.h
generator.h
generator.stockham.h
generator.transpose.gcn.h
generator.transpose.h
action.transpose.h
fft_binary_lookup.h
md5sum.h
../include/stdafx.h
../include/unicode.compatibility.h
../include/targetver.h
../include/clAmdFft.h
../include/clFFT.h )
set( clFFT.Files ${clFFT.Source} ${clFFT.Headers} )
# For a rainy day, add pre-compiled header support
#if( MSVC )
# if (USE_MSVC_PCH)
# set_source_files_properties(LungAnalysisPCH.cxx
# PROPERTIES
# COMPILE_FLAGS "/YcLungAnalysisPCH.h"
# )
# foreach( src_file ${UPMC_LA_SRCS} )
# set_source_files_properties(
# ${src_file}
# PROPERTIES
# COMPILE_FLAGS "/YuLungAnalysisPCH.h"
# )
# endforeach( src_file ${UPMC_LA_SRCS} )
# list(APPEND UPMC_LA_SRCS LungAnalysisPCH.cxx)
# list(APPEND UPMC_LA_HDRS LungAnalysisPCH.h)
# endif(USE_MSVC_PCH)
#endif (MSVC)
# add_definitions( ${Boost_LIB_DIAGNOSTIC_DEFINITIONS} )
add_definitions( "/DCLFFT_EXPORTS" )
# Include standard OpenCL headers
include_directories( ${OPENCL_INCLUDE_DIRS} ${PROJECT_BINARY_DIR}/include ../include )
add_library( clFFT ${clFFT.Files} )
target_link_libraries( clFFT ${OPENCL_LIBRARIES} ${CMAKE_DL_LIBS} )
set_target_properties( clFFT PROPERTIES VERSION ${CLFFT_VERSION} )
set_target_properties( clFFT PROPERTIES SOVERSION ${CLFFT_SOVERSION} )
set_target_properties( clFFT PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/staging" )
if( CMAKE_COMPILER_IS_GNUCC )
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/clFFT.pc.in
${CMAKE_CURRENT_BINARY_DIR}/clFFT.pc @ONLY )
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/clFFT.pc
DESTINATION lib${SUFFIX_LIB}/pkgconfig )
endif( )
# CPack configuration; include the executable into the package
install( TARGETS clFFT
EXPORT Library
RUNTIME DESTINATION bin${SUFFIX_BIN}
LIBRARY DESTINATION lib${SUFFIX_LIB}
ARCHIVE DESTINATION lib${SUFFIX_LIB}/import
)