Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/clementfarabet/lua---nnx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkoray kavukcuoglu <koray@kavukcuoglu.org>2011-10-02 16:46:12 +0400
committerkoray kavukcuoglu <koray@kavukcuoglu.org>2011-10-02 16:46:12 +0400
commitb97099b3253362dc2c14994e4783a731e2eb1afb (patch)
treea9f77376cd068919b007d2ae954750e29bb9d5ff /CMakeLists.txt
parent72595c7a99e757d7ef34abd5546b62a1f7a8511d (diff)
converted build system to cmake compatible. CUDA + CMAKE is not handled properly I think.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt128
1 files changed, 128 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..52e3acd
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,128 @@
+cmake_minimum_required(VERSION 2.8)
+
+set (CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR})
+
+IF(${CMAKE_PROJECT_NAME} STREQUAL "Torch")
+ SET(TORCH_LIBRARIES TH luaT)
+ SET(TORCH_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
+ SET(TORCH_TH TH)
+ SET(TORCH_luaT luaT)
+
+ SET(INSTALL_PREFIX /${Torch_INSTALL_LUA_PATH_SUBDIR}/nnx)
+ SET(CINSTALL_PREFIX /${Torch_INSTALL_LUA_CPATH_SUBDIR})
+ INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR})
+ SET(LIBS ${TORCH_LIBRARIES} ${LUA_LIBRARIES})
+ELSE(${CMAKE_PROJECT_NAME} STREQUAL "Torch")
+ # infer path for Torch7
+ string (REGEX REPLACE "(.*)lib/luarocks/rocks.*" "\\1" TORCH_PREFIX "${CMAKE_INSTALL_PREFIX}" )
+ message (STATUS "Found Torch7, installed in: " ${TORCH_PREFIX})
+
+ find_package (Torch REQUIRED)
+ SET(INSTALL_PREFIX /lua/nnx)
+ SET(CINSTALL_PREFIX /lib)
+ENDIF(${CMAKE_PROJECT_NAME} STREQUAL "Torch")
+
+find_package (OpenMP REQUIRED)
+
+if (OPENMP_FOUND)
+ message (STATUS "OpenMP Found with compiler flag : ${OpenMP_C_FLAGS}")
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+endif (OPENMP_FOUND)
+
+set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+
+include_directories (${TORCH_INCLUDE_DIR} ${PROJECT_SOURCE_DIR})
+
+SET(WITH_CUDA OFF CACHE BOOL "Compile qlua and associated packages")
+
+IF(EXISTS "${TORCH_BIN_DIR}/../include/THC/THC.h")
+ FIND_PACKAGE(CUDA 4.0)
+ENDIF(EXISTS "${TORCH_BIN_DIR}/../include/THC/THC.h")
+
+IF (CUDA_FOUND)
+ # bug on Apple
+ IF(APPLE)
+ LINK_DIRECTORIES("/usr/local/cuda/lib/")
+ ENDIF(APPLE)
+
+ find_library (TORCH_THC THC ${TORCH_BIN_DIR}/../lib NO_DEFAULT_PATH)
+
+ set (TORCH_LIBRARIES ${TORCH_TH} ${TORCH_THC} ${TORCH_luaT} ${TORCH_lua})
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWITH_CUDA")
+
+ cuda_add_library (lbfgs SHARED lbfgs.c)
+ target_link_libraries (lbfgs ${TORCH_LIBRARIES})
+ CUDA_ADD_CUBLAS_TO_TARGET(lbfgs)
+ install_targets (${CINSTALL_PREFIX} lbfgs)
+
+ELSE (CUDA_FOUND)
+
+ MESSAGE(STATUS "Disabling CUDA (CUDA 4.0 required, and not found)")
+ MESSAGE(STATUS "If CUDA 4.0 is installed, then specify CUDA_TOOLKIT_ROOT_DIR")
+
+ set (TORCH_LIBRARIES ${TORCH_TH} ${TORCH_luaT} ${TORCH_lua})
+
+ add_library (lbfgs SHARED lbfgs.c)
+ target_link_libraries (lbfgs ${TORCH_LIBRARIES})
+ install_targets (${CINSTALL_PREFIX} lbfgs)
+
+ENDIF (CUDA_FOUND)
+
+include_directories (${TORCH_INCLUDE_DIR} ${PROJECT_SOURCE_DIR})
+add_library (nnx SHARED init.c)
+link_directories (${TORCH_LIBRARY_DIR})
+target_link_libraries (nnx ${TORCH_LIBRARIES})
+
+install_files(${INSTALL_PREFIX} init.lua)
+install_files(${INSTALL_PREFIX} Abs.lua)
+install_files(${INSTALL_PREFIX} ConfusionMatrix.lua)
+install_files(${INSTALL_PREFIX} DistNLLCriterion.lua)
+install_files(${INSTALL_PREFIX} KLDivCriterion.lua)
+install_files(${INSTALL_PREFIX} DistMarginCriterion.lua)
+install_files(${INSTALL_PREFIX} Logger.lua)
+install_files(${INSTALL_PREFIX} Probe.lua)
+install_files(${INSTALL_PREFIX} HardShrink.lua)
+install_files(${INSTALL_PREFIX} Narrow.lua)
+install_files(${INSTALL_PREFIX} Type.lua)
+install_files(${INSTALL_PREFIX} Power.lua)
+install_files(${INSTALL_PREFIX} Square.lua)
+install_files(${INSTALL_PREFIX} Sqrt.lua)
+install_files(${INSTALL_PREFIX} Threshold.lua)
+install_files(${INSTALL_PREFIX} OmpModule.lua)
+install_files(${INSTALL_PREFIX} SpatialClassifier.lua)
+install_files(${INSTALL_PREFIX} SpatialMaxPooling.lua)
+install_files(${INSTALL_PREFIX} SpatialLinear.lua)
+install_files(${INSTALL_PREFIX} SpatialPadding.lua)
+install_files(${INSTALL_PREFIX} SpatialNormalization.lua)
+install_files(${INSTALL_PREFIX} SpatialUpSampling.lua)
+install_files(${INSTALL_PREFIX} SpatialReSampling.lua)
+install_files(${INSTALL_PREFIX} SpatialConvolutionSparse.lua)
+install_files(${INSTALL_PREFIX} SuperCriterion.lua)
+install_files(${INSTALL_PREFIX} SpatialCriterion.lua)
+install_files(${INSTALL_PREFIX} Trainer.lua)
+install_files(${INSTALL_PREFIX} OnlineTrainer.lua)
+install_files(${INSTALL_PREFIX} DataSet.lua)
+install_files(${INSTALL_PREFIX} DataList.lua)
+install_files(${INSTALL_PREFIX} DataSetLabelMe.lua)
+install_files(${INSTALL_PREFIX} CMulTable.lua)
+install_files(${INSTALL_PREFIX} CAddTable.lua)
+install_files(${INSTALL_PREFIX} CDivTable.lua)
+install_files(${INSTALL_PREFIX} CSubTable.lua)
+install_files(${INSTALL_PREFIX} Replicate.lua)
+install_files(${INSTALL_PREFIX} SpatialFovea.lua)
+install_files(${INSTALL_PREFIX} SpatialMSECriterion.lua)
+install_files(${INSTALL_PREFIX} SpatialClassNLLCriterion.lua)
+install_files(${INSTALL_PREFIX} SparseCriterion.lua)
+install_files(${INSTALL_PREFIX} SpatialSparseCriterion.lua)
+install_files(${INSTALL_PREFIX} SpatialGraph.lua)
+install_files(${INSTALL_PREFIX} SpatialColorTransform.lua)
+install_files(${INSTALL_PREFIX} SpatialRecursiveFovea.lua)
+install_files(${INSTALL_PREFIX} Optimization.lua)
+install_files(${INSTALL_PREFIX} LBFGSOptimization.lua)
+install_files(${INSTALL_PREFIX} CGOptimization.lua)
+install_files(${INSTALL_PREFIX} SGDOptimization.lua)
+install_files(${INSTALL_PREFIX} GeneticSGDOptimization.lua)
+install_files(${INSTALL_PREFIX} BatchOptimization.lua)
+install_files(${INSTALL_PREFIX} BatchTrainer.lua)
+add_subdirectory (test)
+install_targets(${CINSTALL_PREFIX} nnx)