3 CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0)
7 MACRO(SETUP_SOURCES SRC UI)
8 FILE(GLOB_RECURSE ${SRC} *.c *.cpp)
11 FILE(GLOB_RECURSE ${UI} *.ui)
13 FOREACH(FILE1 ${${SRC}} ${${SRC}})
14 GET_FILENAME_COMPONENT(FILE2 ${FILE1} PATH)
15 FILE(RELATIVE_PATH FILE3 ${CMAKE_CURRENT_SOURCE_DIR} ${FILE2})
16 IF(NOT "${FILE3}" STREQUAL "")
17 LIST(APPEND DIRS "${FILE3}")
18 ENDIF(NOT "${FILE3}" STREQUAL "")
24 IF(NOT "${D}" STREQUAL "${PREVD}")
25 LIST(APPEND UDIRS "${D}")
26 ENDIF(NOT "${D}" STREQUAL "${PREVD}")
31 FILE(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${D}")
37 ENDMACRO(SETUP_SOURCES SRC UI)
42 ###############################################################################################
44 ###############################################################################################
50 ###############################################################################################
52 ###############################################################################################
57 PKGCONFIG(${LUA_PKG} LUA_INCLUDE_DIRS LUA_LIBRARY_DIRS LUA_LINK_FLAGS LUA_CFLAGS)
59 PKGCONFIG(lua5.1 LUA_INCLUDE_DIRS LUA_LIBRARY_DIRS LUA_LINK_FLAGS LUA_CFLAGS)
60 IF(NOT LUA_LINK_FLAGS)
61 PKGCONFIG(lua LUA_INCLUDE_DIRS LUA_LIBRARY_DIRS LUA_LINK_FLAGS LUA_CFLAGS)
62 ENDIF(NOT LUA_LINK_FLAGS)
65 ADD_CUSTOM_TARGET(lua_library)
67 SET(LUA_BIN_DIR "${CMAKE_CURRENT_BINARY_DIR}/lua")
68 SET(LUA_INCLUDE_DIRS "${LUA_BIN_DIR}/include")
69 SET(LUA_LIBRARY_DIRS "${LUA_BIN_DIR}")
70 SET(LUA_LINK_FLAGS lua)
73 # GET_FILENAME_COMPONENT(_LUA_SRC_DIRS lua ABSOLUTE)
74 # SET(LUA_INCLUDE_DIRS ${_LUA_SRC_DIRS}/include)
75 # SET(LUA_LIBRARY_DIRS ${_LUA_SRC_DIRS}/lib)
76 # SET(LUA_LINK_FLAGS ${LUA_LIBRARY_DIRS}/liblua.a)
78 # ADD_CUSTOM_TARGET(${__LUA_LIB}
82 # WORKING_DIRECTORY lua)
88 ###############################################################################################
90 ###############################################################################################
95 ADD_DEFINITIONS(-DHAVE_X11)
102 ###############################################################################################
104 ###############################################################################################
105 ADD_DEFINITIONS(-fexceptions)
106 FIND_PACKAGE(KDE4 REQUIRED)
107 INCLUDE(KDE4Defaults)
109 INCLUDE(${QT_USE_FILE})
114 ###############################################################################################
116 ###############################################################################################
117 INCLUDE(CheckCXXSourceCompiles)
119 CHECK_CXX_SOURCE_COMPILES(" int main() { __asm__(\"pxor %mm0, %mm0\") ; }" HAVE_X86_MMX)
120 CHECK_CXX_SOURCE_COMPILES(" int main() { __asm__(\"xorps %xmm0, %xmm0\"); }" HAVE_X86_SSE)
123 ADD_DEFINITIONS(-DHAVE_X86_MMX)
127 ADD_DEFINITIONS(-DHAVE_X86_SSE)
133 # Compile for debugging as default
134 SET(CMAKE_BUILD_TYPE debug)
137 MESSAGE("Compiling with -D__SETTINGS_DEBUG")
138 ADD_DEFINITIONS(-D__SETTINGS_DEBUG)
139 ENDIF(SETTINGS_DEBUG)
142 # FIXME, i think this is not portable
144 ADD_DEFINITIONS(-Wall -ansi -pedantic -Wno-long-long) # -pg
148 # Note by Paolo: verbose mode can be controlled
149 # directly by the cmake command line. The setting
150 # is stored in the cache, so you just need to type
151 # cmake -DCMAKE_VERBOSE_MAKEFILE=1
152 # -or when compiling-
159 MESSAGE("* X11 was found!")
162 SET (MyRuby_DIR ${CMAKE_CURRENT_SOURCE_DIR})
166 MESSAGE(" Includes: ${QT_INCLUDE_DIR}")
167 MESSAGE(" LinkFlags: ${QT_LIBRARIES}")
170 MESSAGE(" Includes: ${KDE4_INCLUDE_DIR}")
171 MESSAGE(" LinkFlags: ${KDE4_KDEUI_LIBS}")
174 MESSAGE(" Includes: ${Boost_INCLUDE_DIRS}")
175 MESSAGE(" LinkDir: ${Boost_LIBRARY_DIRS}")
178 MESSAGE(" Includes: ${LUA_INCLUDE_DIRS}")
179 MESSAGE(" LinkDir: ${LUA_LIBRARY_DIRS}")
180 MESSAGE(" LinkFlags: ${LUA_LINK_FLAGS}")
181 MESSAGE(" CFlags: ${LUA_CFLAGS}")
184 MESSAGE(" Includes: ${RUBY_INCLUDE_PATH}")
187 MESSAGE(" Have MMX: ${HAVE_X86_MMX}")
188 MESSAGE(" Have SSE: ${HAVE_X86_SSE}")
191 #MESSAGE("data dir: ${DATA_INSTALL_DIR}")
192 #SET(DATA_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/apps/kboard/)
194 MACRO(INSTALL_LOCAL_DATA_DIR local_dir)
195 SET(abs_local_dir ${CMAKE_CURRENT_SOURCE_DIR}/data/${local_dir})
196 #MESSAGE("looking for files in ${abs_local_dir}")
197 FILE(GLOB_RECURSE INST_FILES ${abs_local_dir}/*)
198 FOREACH(INST_FILE ${INST_FILES})
199 #MESSAGE("processing: ${INST_FILE}")
200 STRING(REGEX MATCH "/\\.svn/" TEMP ${INST_FILE})
202 FILE(RELATIVE_PATH REL_FILE ${abs_local_dir} ${INST_FILE})
203 GET_FILENAME_COMPONENT(REL_DIR ${REL_FILE} PATH)
204 #MESSAGE("rel dir: ${REL_DIR}")
205 #MESSAGE("installing to: ${DATA_INSTALL_DIR}/${local_dir}/${REL_DIR}")
206 INSTALL(FILES ${INST_FILE}
207 DESTINATION ${DATA_INSTALL_DIR}/kboard/${local_dir}/${REL_DIR})
209 ENDFOREACH(INST_FILE)
210 ENDMACRO(INSTALL_LOCAL_DATA_DIR local_dir)
212 INSTALL_LOCAL_DATA_DIR(themes)
213 INSTALL_LOCAL_DATA_DIR(scripts)
214 INSTALL_LOCAL_DATA_DIR(highlighting)
215 INSTALL_LOCAL_DATA_DIR(pics)
216 INSTALL_LOCAL_DATA_DIR(piece_icons)
218 ADD_DEFINITIONS("-DDATA_INSTALL_DIR=\"${DATA_INSTALL_DIR}\"")
223 ADD_SUBDIRECTORY(src)
224 ADD_SUBDIRECTORY(tests EXCLUDE_FROM_ALL)