1- cmake_minimum_required (VERSION 2.8)
2- SET (AF_LUA_VERSION_MAJOR 0)
3- SET (AF_LUA_VERSION 0)
1+ CMAKE_MINIMUM_REQUIRED (VERSION 2.8)
2+ PROJECT (ArrayFire_Lib)
43
5- SET_PROPERTY (GLOBAL PROPERTY USE_FOLDERS ON )
64FIND_PACKAGE (ArrayFire REQUIRED)
7- FIND_PACKAGE (Lua REQUIRED)
5+
6+ # OS Definitions
7+ IF (UNIX )
8+ SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -pthread -Wno-comment" )
9+ SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -pthread -Wno-comment" )
10+ ADD_DEFINITIONS (-Wall -std=c++11 -fvisibility=hidden)
11+ ELSE () #Windows
12+ SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} " )
13+ SET (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj" )
14+ SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /bigobj" )
15+ ENDIF ()
16+
17+ FIND_PACKAGE (Lua QUIET )
18+ IF (USE_LOCAL_LUA OR NOT LUA_FOUND)
19+ SET (USE_LOCAL_LUA ON )
20+ INCLUDE (${CMAKE_MODULE_PATH} /build_lua.cmake)
21+ ELSE ()
22+ ADD_DEFINITIONS (-DLUA_COMPAT_MODULE)
23+ ENDIF ()
824
925FILE (GLOB src
10- "*.hpp"
11- "*.h"
12- "*.cpp"
13- )
26+ "*.hpp"
27+ "*.h"
28+ "*.cpp"
29+ )
1430
1531FILE (GLOB funcs_src
16- "funcs/*.cpp"
17- )
32+ "funcs/*.cpp"
33+ )
1834
1935SOURCE_GROUP (funcs FILES ${funcs_src} )
2036
2137FILE (GLOB graphics_src
22- "graphics/*.cpp"
23- )
38+ "graphics/*.cpp"
39+ )
2440
2541SOURCE_GROUP (graphics FILES ${graphics_src} )
2642
2743FILE (GLOB methods_src
28- "methods/*.cpp"
29- )
44+ "methods/*.cpp"
45+ )
3046
3147SOURCE_GROUP (methods FILES ${methods_src} )
3248
3349FILE (GLOB template_src
34- "template/*.cpp" )
50+ "template/*.cpp" )
3551
3652SOURCE_GROUP (template FILES ${template_src} )
37- ADD_DEFINITIONS (-DLUA_COMPAT_MODULE)
38-
39- # OS Definitions
40- IF (UNIX )
41- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -pthread -Wno-comment" )
42- ADD_DEFINITIONS (-Wall -std=c++11 -fvisibility=hidden)
43- ELSE (${UNIX} ) #Windows
44- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} " )
45- SET (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj" )
46- SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /bigobj" )
47- ENDIF ()
4853
4954INCLUDE_DIRECTORIES (${ArrayFire_INCLUDE_DIRS} )
5055INCLUDE_DIRECTORIES (${LUA_INCLUDE_DIR} )
@@ -56,9 +61,16 @@ ADD_LIBRARY(arrayfire_lib SHARED
5661 ${methods_src} )
5762
5863TARGET_LINK_LIBRARIES (arrayfire_lib
59- ${ArrayFire_Unified_LIBRARIES}
60- ${LUA_LIBRARIES}
61- )
64+ ${ArrayFire_Unified_LIBRARIES}
65+ ${LUA_LIBRARIES}
66+ )
6267
6368SET_TARGET_PROPERTIES (arrayfire_lib PROPERTIES
6469 PREFIX "" )
70+
71+ ########################################
72+ # Installation
73+ ########################################
74+ INSTALL (TARGETS arrayfire_lib EXPORT ARRAYFIRE_LIB
75+ DESTINATION "./"
76+ COMPONENT libraries)
0 commit comments