OSDN Git Service

[WIP][Agar] Build fit to CSP.
[csp-qt/common_source_project-fm7.git] / source / build-cmake / cmake / config_commonsource.cmake
1 # Set configuration for building XM7/SDL.
2 # (C) 2014 K.Ohta <whatisthis.sowhat@gmail.com>
3 # This is part of XM7/SDL, but license is apache 2.2,
4 # this part was written only me.
5
6 include(CheckFunctionExists)
7
8 set(WITH_AGAR_STATIC ON CACHE BOOL "Link LibAgar statically.")
9 set(WITH_LIBAGAR_PREFIX "/usr/local" CACHE STRING "Set prefix of LibAgar") 
10 include_directories(${WITH_LIBAGAR_PREFIX}/include/agar)
11
12 set(LOCAL_LIBS  vm_vm
13                 agar_common
14                 common_common
15                 common_scaler-generic
16 )
17
18
19 add_definitions(-D_USE_AGAR)
20
21 # Build Flags
22
23
24 if(WITH_AGAR_STATIC)
25   set(AGAR_LIBS ${WITH_LIBAGAR_PREFIX}/lib/libag_dev.a ${WITH_LIBAGAR_PREFIX}/lib/libag_gui.a ${WITH_LIBAGAR_PREFIX}/lib/libag_core.a)
26 else(WITH_AGAR_STATIC)
27   set(AGAR_LIBS ag_core ag_dev ag_gui)
28   link_directories(${WITH_LIBAGAR_PREFIX}/lib)
29 endif()
30
31 set(AGAR_DEPLIBS m jpeg png z dl uim-scm uim Xinerama)
32
33 find_package(Gettext)
34 include_directories(${GETTEXT_INCLUDE_PATH})
35 include(compile_gettext_catalogue)
36
37 find_package(Freetype)
38 include_directories(${FREETYPE_INCLUDE_PATH})
39
40 find_package(Iconv)
41
42
43 if(USE_OPENMP)
44   find_package(OpenMP)
45   include_directories(${OPENMP_INCLUDE_PATH})
46 endif()
47
48 find_package(Threads)
49 include_directories(${THREADS_INCLUDE_PATH})
50
51 find_package(SDL)
52 include_directories(${SDL_INCLUDE_PATH})
53
54
55 if(ICONV_FOUND)
56  include_directories(${ICONV_INCLUDE_DIRS})
57  set(LOCAL_LIBS ${LOCAL_LIBS} ${ICONV_LIBRARIES})
58 endif()
59
60
61 # GCC Only?
62 if(CMAKE_COMPILER_IS_GNUCC) 
63   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flax-vector-conversions")
64 endif()
65
66 if(CMAKE_COMPILER_IS_GNUCXX) 
67  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive -flax-vector-conversions")
68 endif()
69
70
71 check_function_exists("nanosleep" HAVE_NANOSLEEP)
72 if(NOT HAVE_NANOSLEEP)
73   check_library_exists("rt" "nanosleep" "" LIB_RT_HAS_NANOSLEEP)
74 endif(NOT HAVE_NANOSLEEP)
75
76 if(HAVE_NANOSLEEP OR LIB_RT_HAS_NANOSLEEP)
77   add_definitions(-DHAVE_NANOSLEEP)
78 endif(HAVE_NANOSLEEP OR LIB_RT_HAS_NANOSLEEP)
79
80 find_package(OpenGL)
81
82 if(USE_OPENCL)
83  if(OPENGL_FOUND)
84    find_package(OpenCL)
85    if(OPENCL_FOUND)
86     include_directories(${OPENCL_INCLUDE_DIRS})
87     add_definitions(-D_USE_OPENCL -DUSE_OPENCL)
88     set(OPENCL_LIBRARY ${OPENCL_LIBRARIES})
89     set(USE_OPENGL ON)
90    endif()
91  endif()
92 endif()
93
94 if(USE_OPENGL)
95  if(OPENGL_FOUND)
96    include_directories(${OPENGL_INCLUDE_PATH})
97    add_definitions(-D_USE_OPENGL -DUSE_OPENGL)
98  else()
99    set(USE_OPENGL OFF)
100    set(USE_OPENCL OFF)
101    unset(OPENCL_LIBRARY)
102  endif()
103 endif()
104
105 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src)
106 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/agar/common)
107 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/agar/common/scaler/generic)
108
109 add_subdirectory(../../src common)
110 add_subdirectory(../../src/agar/common agar/common)
111 add_subdirectory(../../src/agar/common/scaler/generic agar/common/scaler/generic)
112
113 include(simd-x86)