OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-CompactHash / HashFactory / CMakeLists.txt

52 lines · txt ref:
set(libHashFactory_LIB_SRCS CLHash_Utilities.c  HashFactory.c CLHash_Utilities.h HashFactory.h)

#set(INDENT indent)
#set(CPREPROCESSOR cpp)

#COMMAND ${CPREPROCESSOR} -CC -x c -imacros HashFactory.hm HashFactory.hp | ${INDENT} -linux -brf -o HashFactory.h

########### generate sources target ###############
#add_custom_target(HashFactory.h ALL 
#                  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/HashFactory.hm ${CMAKE_CURRENT_SOURCE_DIR}/HashFactory.hp
#                          ${CMAKE_CURRENT_SOURCE_DIR}/perfectHash.hm ${CMAKE_CURRENT_SOURCE_DIR}/compactHash.hm
#                  COMMAND cpp -P -CC -x c -imacros HashFactory.hm HashFactory.hp | indent -linux -brf -o HashFactory.h)
#
#add_custom_target(HashFactory.c ALL
#                  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/HashFactory.cm ${CMAKE_CURRENT_SOURCE_DIR}/HashFactory.cp 
#                          ${CMAKE_CURRENT_SOURCE_DIR}/perfectHash.cm ${CMAKE_CURRENT_SOURCE_DIR}/compactHash.cm
#                          HashFactory.cl HashFactory.h
#                  COMMAND cpp -P -CC -x c -imacros HashFactory.cm HashFactory.cp | indent -linux -brf |
#                     sed -e '/OMP_PRAGMA_PARALLEL_FOR/s/[[:space:]]*OMP_PRAGMA_PARALLEL_FOR\;/\#pragma omp parallel for/' > HashFactory.c &&
#                      ${CMAKE_CURRENT_SOURCE_DIR}/embed_source.pl HashFactory.cl >> ${CMAKE_CURRENT_BINARY_DIR}/HashFactory.c)
#
#add_custom_target(HashFactory.cl ALL
#                  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/HashFactory.clp ${CMAKE_CURRENT_SOURCE_DIR}/HashFactory.cm
#                          ${CMAKE_CURRENT_SOURCE_DIR}/perfectHash.cm ${CMAKE_CURRENT_SOURCE_DIR}/compactHash.cm
#                  COMMAND cpp -P -CC -x c -imacros HashFactory.cm HashFactory.clp | indent -linux -brf -o HashFactory.cl)

########### embed source target ###############
add_custom_target(HashFactory_source.inc ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/HashFactory.cl
                  COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/embed_source.pl
                     ${CMAKE_CURRENT_SOURCE_DIR}/HashFactory.cl > ${CMAKE_CURRENT_BINARY_DIR}/HashFactory_source.inc
                  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/HashFactory.cl ${CMAKE_CURRENT_SOURCE_DIR}/embed_source.pl)

########## HashFactory target ##############
add_library(HashFactory STATIC ${libHashFactory_LIB_SRCS})
if (OPENCL_FOUND)
   set_target_properties(HashFactory PROPERTIES COMPILE_DEFINITIONS "HAVE_OPENCL")
   add_dependencies(HashFactory HashFactory_source.inc)
endif (OPENCL_FOUND)

########## HashFactory_openmp target ##############
if (OPENMP_FOUND)
   add_library(HashFactory_openmp STATIC ${libHashFactory_LIB_SRCS})
   set_target_properties(HashFactory_openmp PROPERTIES COMPILE_FLAGS "${OpenMP_C_FLAGS}")
   if (OPENCL_FOUND)
      set_target_properties(HashFactory_openmp PROPERTIES COMPILE_DEFINITIONS "HAVE_OPENCL")
   endif (OPENCL_FOUND)
endif (OPENMP_FOUND)

########### clean files ################
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
"HashFactory_source.inc;")