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)
50 PKGCONFIG(${LUA_PKG} LUA_INCLUDE_DIRS LUA_LIBRARY_DIRS LUA_LINK_FLAGS LUA_CFLAGS)
52 PKGCONFIG(lua5.1 LUA_INCLUDE_DIRS LUA_LIBRARY_DIRS LUA_LINK_FLAGS LUA_CFLAGS)
53 IF(NOT LUA_LINK_FLAGS)
54 PKGCONFIG(lua LUA_INCLUDE_DIRS LUA_LIBRARY_DIRS LUA_LINK_FLAGS LUA_CFLAGS)
55 ENDIF(NOT LUA_LINK_FLAGS)
58 ADD_CUSTOM_TARGET(lua_library)
60 SET(LUA_BIN_DIR "${CMAKE_CURRENT_BINARY_DIR}/lua")
61 SET(LUA_INCLUDE_DIRS "${LUA_BIN_DIR}/include")
62 SET(LUA_LIBRARY_DIRS "${LUA_BIN_DIR}")
63 SET(LUA_LINK_FLAGS lua)
66 # GET_FILENAME_COMPONENT(_LUA_SRC_DIRS lua ABSOLUTE)
67 # SET(LUA_INCLUDE_DIRS ${_LUA_SRC_DIRS}/include)
68 # SET(LUA_LIBRARY_DIRS ${_LUA_SRC_DIRS}/lib)
69 # SET(LUA_LINK_FLAGS ${LUA_LIBRARY_DIRS}/liblua.a)
71 # ADD_CUSTOM_TARGET(${__LUA_LIB}
75 # WORKING_DIRECTORY lua)
84 ADD_DEFINITIONS(-DHAVE_X11)
89 ADD_DEFINITIONS(-fexceptions)
90 FIND_PACKAGE(KDE4 REQUIRED)
93 INCLUDE(${QT_USE_FILE})
96 # Compile for debugging as default
97 SET(CMAKE_BUILD_TYPE debug)
100 MESSAGE("Compiling with -D__SETTINGS_DEBUG")
101 ADD_DEFINITIONS(-D__SETTINGS_DEBUG)
102 ENDIF(SETTINGS_DEBUG)
104 # FIXME, i think this is not portable
106 ADD_DEFINITIONS(-Wall -ansi -pedantic -Wno-long-long) # -pg
110 # Note by Paolo: verbose mode can be controlled
111 # directly by the cmake command line. The setting
112 # is stored in the cache, so you just need to type
113 # cmake -DCMAKE_VERBOSE_MAKEFILE=1
119 MESSAGE("* X11 was found!")
122 SET (MyRuby_DIR ${CMAKE_CURRENT_SOURCE_DIR})
126 MESSAGE(" Includes: ${QT_INCLUDE_DIR}")
127 MESSAGE(" LinkFlags: ${QT_LIBRARIES}")
130 MESSAGE(" Includes: ${KDE4_INCLUDE_DIR}")
131 MESSAGE(" LinkFlags: ${KDE4_KDEUI_LIBS}")
134 MESSAGE(" Includes: ${Boost_INCLUDE_DIRS}")
135 MESSAGE(" LinkDir: ${Boost_LIBRARY_DIRS}")
138 MESSAGE(" Includes: ${LUA_INCLUDE_DIRS}")
139 MESSAGE(" LinkDir: ${LUA_LIBRARY_DIRS}")
140 MESSAGE(" LinkFlags: ${LUA_LINK_FLAGS}")
141 MESSAGE(" CFlags: ${LUA_CFLAGS}")
144 MESSAGE(" Includes: ${RUBY_INCLUDE_PATH}")
147 #MESSAGE("data dir: ${DATA_INSTALL_DIR}")
148 #SET(DATA_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/apps/kboard/)
150 MACRO(INSTALL_LOCAL_DATA_DIR local_dir)
151 SET(abs_local_dir ${CMAKE_CURRENT_SOURCE_DIR}/data/${local_dir})
152 #MESSAGE("looking for files in ${abs_local_dir}")
153 FILE(GLOB_RECURSE INST_FILES ${abs_local_dir}/*)
154 FOREACH(INST_FILE ${INST_FILES})
155 #MESSAGE("processing: ${INST_FILE}")
156 STRING(REGEX MATCH "/\\.svn/" TEMP ${INST_FILE})
158 FILE(RELATIVE_PATH REL_FILE ${abs_local_dir} ${INST_FILE})
159 GET_FILENAME_COMPONENT(REL_DIR ${REL_FILE} PATH)
160 #MESSAGE("rel dir: ${REL_DIR}")
161 #MESSAGE("installing to: ${DATA_INSTALL_DIR}/${local_dir}/${REL_DIR}")
162 INSTALL(FILES ${INST_FILE}
163 DESTINATION ${DATA_INSTALL_DIR}/kboard/${local_dir}/${REL_DIR})
165 ENDFOREACH(INST_FILE)
166 ENDMACRO(INSTALL_LOCAL_DATA_DIR local_dir)
168 INSTALL_LOCAL_DATA_DIR(themes)
169 INSTALL_LOCAL_DATA_DIR(scripts)
170 INSTALL_LOCAL_DATA_DIR(highlighting)
171 INSTALL_LOCAL_DATA_DIR(pics)
172 INSTALL_LOCAL_DATA_DIR(piece_icons)
174 ADD_DEFINITIONS("-DDATA_INSTALL_DIR=\"${DATA_INSTALL_DIR}\"")
179 ADD_SUBDIRECTORY(src)
180 ADD_SUBDIRECTORY(tests EXCLUDE_FROM_ALL)